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 subtet
    • facetMaterial: List of all facet materials
    • aggVoxels: List of all aggregate voxels
    • itzVoxels: List of all ITZ voxels
    • binderVoxels: List of all binder voxels
  • Outputs:

    • itzVolFracSim: Simulated ITZ volume fraction
    • binderVolFracSim: Simulated binder volume fraction
    • aggVolFracSim: Simulated aggregate volume fraction
    • itzVolFracAct: Actual ITZ volume fraction
    • binderVolFracAct: Actual binder volume fraction
    • aggVolFracAct: 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 particle
    • parDiameter: Diameter of the particle
    • binMin: Minimum coordinates of the bin
    • binMax: Maximum coordinates of the bin
    • minPar: Minimum particle diameter
    • parOffset: Offset coefficient between particles
    • nodes: Nodes of the tets
    • diameters: 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 direction
    • multiMatY: Number of voxels in the y direction
    • multiMatZ: Number of voxels in the z direction
    • multiMatRes: Resolution of the voxels
    • minC: Minimum coordinates of the geometry
    • maxC: 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 node
    • center: (x, y, z) position of the center of the new particle
    • parDiameter: Diameter of the new particle
    • facePoints: (x, y, z) coordinates of each surface point
    • binMin: (x, y, z) minimum for the bin to be checked
    • binMax: (x, y, z) maximum for the bin to be checked
    • minPar: Minimum diameter of a particle
    • maxEdgeLength: Maximum length of an edge in the mesh
    • parOffset: Minimum offset coefficient between particles
    • parDiameterList: List of diameters of each particle
  • Outputs:

    • Boolean: True if the new particle overlaps
    • Boolean: 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 tets
    • tets: Tets of the mesh
    • center: Center of the particle
    • parDiameter: Diameter of the particle
    • binMin: Minimum coordinates of the bin
    • binMax: Maximum coordinates of the bin
    • coord1: Coordinates of the first vertex of each tet
    • coord2: Coordinates of the second vertex of each tet
    • coord3: Coordinates of the third vertex of each tet
    • coord4: Coordinates of the fourth vertex of each tet
  • Outputs:

    • Boolean: True if the particle is inside tets, False if not