![]() |
PeriDEM 0.3.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
|
Data Structures | |
| class | BrokenBondKnSelfContact |
| Default: Kn * volj * capped_gap / R along yji with gap = R - Rc. More... | |
| class | NoneSelfContact |
| No force on broken bonds (Trask: broken → weight 0). More... | |
| class | ReferenceGapSelfContact |
| class | SelfContact |
| Intra-body force between nodes when the PD bond is inactive. More... | |
Functions | |
| void | computeForces (data::ModelData &data) |
| Assemble nodal peridynamic force (constitutive response stays in material). | |
| bool | dofMpiEnabled (const data::ModelData &data) |
| True when nodal DOF MPI is active (mpiSize > 1, MPI_Strategy=dof). | |
| void | setupDofPartition (data::ModelData &data) |
| Metis-partition nodes on the PD neighbor graph and build ghost plans. Call after d_neighPd is ready and before (or while) building d_fPdCompNodes. Works for Single_Particle and Multi_Particle when MPI_Strategy is dof. No-op for single-rank runs or other strategies. | |
| void | exchangeGhostDisplacement (data::ModelData &data) |
| Halo-exchange nodal displacements (and current x) for PD ghosts. | |
| void | exchangeGhostTheta (data::ModelData &data) |
| Halo-exchange state-based dilatation d_thetaX for PD ghosts. | |
| std::unique_ptr< SelfContact > | makeSelfContact (const std::string &name) |
| Build self-contact law named by Model.Self_Contact. | |
| void pd::computeForces | ( | data::ModelData & | data | ) |
Assemble nodal peridynamic force (constitutive response stays in material).
Definition at line 28 of file pdForce.cpp.
References exchangeGhostTheta(), util::parallel::getNThreads(), util::io::log(), and makeSelfContact().
Referenced by PeriDEMModel::computeForces().
| bool pd::dofMpiEnabled | ( | const data::ModelData & | data | ) |
| void pd::exchangeGhostDisplacement | ( | data::ModelData & | data | ) |
Halo-exchange nodal displacements (and current x) for PD ghosts.
Definition at line 286 of file pdMpi.cpp.
References anonymous_namespace{pdMpi.cpp}::exchangePoints(), util::parallel::mpiSize(), refreshVMagFromV(), anonymous_namespace{pdMpi.cpp}::syncAllOwnedPoints(), and util::methods::timeDiff().
Referenced by PeriDEMModel::computeForces().
| void pd::exchangeGhostTheta | ( | data::ModelData & | data | ) |
Halo-exchange state-based dilatation d_thetaX for PD ghosts.
Definition at line 317 of file pdMpi.cpp.
References anonymous_namespace{pdMpi.cpp}::exchangeDoubles(), util::parallel::mpiComm(), util::parallel::mpiRank(), and util::methods::timeDiff().
Referenced by computeForces().
| std::unique_ptr< SelfContact > pd::makeSelfContact | ( | const std::string & | name | ) |
Build self-contact law named by Model.Self_Contact.
Definition at line 68 of file selfContact.cpp.
Referenced by computeForces(), and main().
| void pd::setupDofPartition | ( | data::ModelData & | data | ) |
Metis-partition nodes on the PD neighbor graph and build ghost plans. Call after d_neighPd is ready and before (or while) building d_fPdCompNodes. Works for Single_Particle and Multi_Particle when MPI_Strategy is dof. No-op for single-rank runs or other strategies.
Definition at line 233 of file pdMpi.cpp.
References anonymous_namespace{pdMpi.cpp}::buildGhostPlan(), util::parallel::isMpiEnabled(), mesh::metisGraphPartition(), util::parallel::mpiComm(), util::parallel::mpiRank(), util::parallel::mpiSize(), util::io::print(), and particle::resolvedMpiStrategy().
Referenced by PeriDEMModel::init().