![]() |
PeriDEM 0.3.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
|
Collection of methods and data related to particle object. More...
Data Structures | |
| class | BaseParticle |
| A class to store particle geometry, nodal discretization, and methods. More... | |
| class | RefParticle |
| A class to store reference particle related data. Consider a case of multiple hexagon-shaped particle related to each other by affine transformation. In such a case, it is possible to consider a reference hexagon particle and store the mesh and other details of only the reference particle. To get the data relevant to specific hexagon particle, one can apply the appropriate transformation on data for the reference hexagon particle. More... | |
Functions | |
| void | createReferenceParticles (data::ModelData &data) |
| Build reference meshes from the particle deck (no placement). | |
| void | createParticlesFromFile (data::ModelData &data) |
| Place particles from generation-file data; refs must already exist. | |
| void | createParticleUsingParticleZoneGeomObject (data::ModelData &data) |
| Place one particle per zone geometry; refs must already exist. | |
| void | createParticles (data::ModelData &data) |
| Build refs then place particles according to the generation method. | |
| bool | isLocallyOwned (const BaseParticle &p) |
| True if this rank updates / assembles forces for the particle. Walls are replicated on every rank. With one MPI rank, everything is local. | |
| std::string | resolvedMpiStrategy (const data::ModelData &data) |
| Resolved MPI strategy: none|particle|dof (auto expanded). | |
| void | assignMpiOwners (data::ModelData &data) |
| Assign grain owners by spatial 2D brick decomposition of centers. Walls get owner -1 (all ranks). Honors Model.MPI_Strategy. | |
| void | exchangeGhostKinematics (data::ModelData &data) |
| Distance-limited ghosts + kinematics exchange. Rebuilds the ghost plan on a Verlet-skin cadence (tied to contact neigh interval when available); between rebuilds only exchanges kinematics for the cached ghost set via Alltoallv. | |
Collection of methods and data related to particle object.
| void particle::assignMpiOwners | ( | data::ModelData & | data | ) |
Assign grain owners by spatial 2D brick decomposition of centers. Walls get owner -1 (all ranks). Honors Model.MPI_Strategy.
Definition at line 313 of file particleMpi.cpp.
References anonymous_namespace{particleMpi.cpp}::factor2d(), isLocallyOwned(), util::parallel::isMpiEnabled(), util::parallel::mpiRank(), util::parallel::mpiSize(), util::io::print(), and resolvedMpiStrategy().
Referenced by PeriDEMModel::init().
| void particle::createParticles | ( | data::ModelData & | data | ) |
Build refs then place particles according to the generation method.
Definition at line 182 of file createParticles.cpp.
References createParticlesFromFile(), createParticleUsingParticleZoneGeomObject(), and createReferenceParticles().
Referenced by PeriDEMModel::init().
| void particle::createParticlesFromFile | ( | data::ModelData & | data | ) |
Place particles from generation-file data; refs must already exist.
Definition at line 61 of file createParticles.cpp.
References geom::createGeomDeepCopy(), util::io::log(), anonymous_namespace{createParticles.cpp}::modelAlias(), and util::transform_to_uniform_dist().
Referenced by createParticles().
| void particle::createParticleUsingParticleZoneGeomObject | ( | data::ModelData & | data | ) |
Place one particle per zone geometry; refs must already exist.
Definition at line 38 of file createParticles.cpp.
References util::io::log(), and anonymous_namespace{createParticles.cpp}::modelAlias().
Referenced by createParticles().
| void particle::createReferenceParticles | ( | data::ModelData & | data | ) |
Build reference meshes from the particle deck (no placement).
Definition at line 140 of file createParticles.cpp.
References mesh_gen::createParticleMesh(), util::io::log(), and anonymous_namespace{createParticles.cpp}::modelAlias().
Referenced by createParticles().
| void particle::exchangeGhostKinematics | ( | data::ModelData & | data | ) |
Distance-limited ghosts + kinematics exchange. Rebuilds the ghost plan on a Verlet-skin cadence (tied to contact neigh interval when available); between rebuilds only exchanges kinematics for the cached ghost set via Alltoallv.
Definition at line 395 of file particleMpi.cpp.
References anonymous_namespace{particleMpi.cpp}::exchangeCachedKinematics(), anonymous_namespace{particleMpi.cpp}::ghostRebuildInterval(), util::parallel::isMpiEnabled(), util::parallel::mpiComm(), anonymous_namespace{particleMpi.cpp}::rebuildGhostPlan(), resolvedMpiStrategy(), and util::methods::timeDiff().
Referenced by PeriDEMModel::computeForces().
| bool particle::isLocallyOwned | ( | const BaseParticle & | p | ) |
True if this rank updates / assembles forces for the particle. Walls are replicated on every rank. With one MPI rank, everything is local.
Definition at line 28 of file particleMpi.cpp.
References particle::BaseParticle::d_mpiOwner, util::parallel::isMpiEnabled(), particle::BaseParticle::isWall(), and util::parallel::mpiRank().
Referenced by rw::writer::VtkParticleWriter::appendMeshParallelPiece(), contact::Damping::apply(), assignMpiOwners(), PeriDEMModel::computeExternalForces(), PeriDEMModel::init(), anonymous_namespace{main.cpp}::GrainContactProbe::ownsNode(), anonymous_namespace{main.cpp}::ownsNode(), MpiMetricTsProbe::ownsNode(), and anonymous_namespace{particleMpi.cpp}::rebuildGhostPlan().
| std::string particle::resolvedMpiStrategy | ( | const data::ModelData & | data | ) |
Resolved MPI strategy: none|particle|dof (auto expanded).
Definition at line 36 of file particleMpi.cpp.
Referenced by assignMpiOwners(), exchangeGhostKinematics(), and pd::setupDofPartition().