Code Structure: generation (Checks) - Computational-Mechanics-Material-Models/chrono-preprocessor GitHub Wiki
check_multiMat_matVol.py
This module contains a function to check the volume fractions of different materials in a multi-material system. It calculates the simulated and actual volume fractions for ITZ, binder, and aggregate materials.
-
Inputs:
subtetVol
: Volume of subtetfacetMaterial
: List of all facet materialsaggVoxels
: List of all aggregate voxelsitzVoxels
: List of all ITZ voxelsbinderVoxels
: List of all binder voxels
-
Outputs:
itzVolFracSim
: Simulated ITZ volume fractionbinderVolFracSim
: Simulated binder volume fractionaggVolFracSim
: Simulated aggregate volume fractionitzVolFracAct
: Actual ITZ volume fractionbinderVolFracAct
: Actual binder volume fractionaggVolFracAct
: Actual aggregate volume fraction
check_particleOverlapMPI.py
This module contains a function to check if a particle is too close to another particle using MPI for parallel processing.
-
Inputs:
center
: Center of the particleparDiameter
: Diameter of the particlebinMin
: Minimum coordinates of the binbinMax
: Maximum coordinates of the binminPar
: Minimum particle diameterparOffset
: Offset coefficient between particlesnodes
: Nodes of the tetsdiameters
: Diameters of the particles
-
Outputs:
Boolean
: True if the particle is too close, False if not
check_multiMat_size.py
This module contains a function to check if the voxel system is larger than the geometry.
-
Inputs:
multiMatX
: Number of voxels in the x directionmultiMatY
: Number of voxels in the y directionmultiMatZ
: Number of voxels in the z directionmultiMatRes
: Resolution of the voxelsminC
: Minimum coordinates of the geometrymaxC
: Maximum coordinates of the geometry
-
Outputs:
Boolean
: True if the voxel system is larger than the geometry, False if not
check_LDPMCSL_particleOverlap.py
This module contains a function to check if a particle overlaps with another particle or is too close to the surface.
-
Inputs:
nodes
: (x, y, z) coordinates of each nodecenter
: (x, y, z) position of the center of the new particleparDiameter
: Diameter of the new particlefacePoints
: (x, y, z) coordinates of each surface pointbinMin
: (x, y, z) minimum for the bin to be checkedbinMax
: (x, y, z) maximum for the bin to be checkedminPar
: Minimum diameter of a particlemaxEdgeLength
: Maximum length of an edge in the meshparOffset
: Minimum offset coefficient between particlesparDiameterList
: List of diameters of each particle
-
Outputs:
Boolean
: True if the new particle overlapsBoolean
: True if the new particle is close to the surface
check_LDPMCSL_particleInside.py
This module contains a function to check if a particle is inside a tet.
-
Inputs:
vertices
: Nodes of the tetstets
: Tets of the meshcenter
: Center of the particleparDiameter
: Diameter of the particlebinMin
: Minimum coordinates of the binbinMax
: Maximum coordinates of the bincoord1
: Coordinates of the first vertex of each tetcoord2
: Coordinates of the second vertex of each tetcoord3
: Coordinates of the third vertex of each tetcoord4
: Coordinates of the fourth vertex of each tet
-
Outputs:
Boolean
: True if the particle is inside tets, False if not