|
| SolidMechanicsMPM (const string &name, Group *const parent) |
|
| SolidMechanicsMPM (SolidMechanicsMPM const &)=delete |
|
| SolidMechanicsMPM (SolidMechanicsMPM &&)=default |
|
SolidMechanicsMPM & | operator= (SolidMechanicsMPM const &)=delete |
|
SolidMechanicsMPM & | operator= (SolidMechanicsMPM &&)=delete |
|
virtual | ~SolidMechanicsMPM () override |
|
string | getCatalogName () const override |
|
virtual void | initializePreSubGroups () override |
|
virtual void | registerDataOnMesh (Group &meshBodies) override final |
|
virtual real64 | solverStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain) override |
|
virtual real64 | explicitStep (real64 const &time_n, real64 const &dt, integer const cycleNumber, DomainPartition &domain) override |
|
virtual void | updateState (DomainPartition &domain) override final |
|
virtual bool | execute (real64 const time_n, real64 const dt, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override |
|
template<typename CONSTITUTIVE_BASE , typename KERNEL_WRAPPER , typename ... PARAMS> |
void | assemblyLaunch (DomainPartition &domain, DofManager const &dofManager, CRSMatrixView< real64, globalIndex const > const &localMatrix, arrayView1d< real64 > const &localRhs, PARAMS &&... params) |
|
template<typename ... PARAMS> |
real64 | explicitKernelDispatch (MeshLevel &mesh, arrayView1d< string const > const &targetRegions, string const &finiteElementName, real64 const dt, std::string const &elementListName) |
|
void | initialize (NodeManager &nodeManager, ParticleManager &particleManager, SpatialPartition &partition) |
|
void | resizeGrid (SpatialPartition &partition, NodeManager &nodeManager, real64 const dt) |
|
void | syncGridFields (std::vector< std::string > const &fieldNames, DomainPartition &domain, NodeManager &nodeManager, MeshLevel &mesh, MPI_Op op) |
|
void | singleFaceVectorFieldSymmetryBC (const int face, arrayView3d< real64 > const &vectorMultiField, arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const gridPosition, Group &nodeSets) |
|
void | enforceGridVectorFieldSymmetryBC (arrayView3d< real64 > const &vectorMultiField, arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const gridPosition, Group &nodeSets) |
|
void | applyEssentialBCs (const real64 dt, const real64 time_n, NodeManager &nodeManager) |
|
void | computeGridSurfaceNormals (ParticleManager &particleManager, NodeManager &nodeManager) |
|
void | normalizeGridSurfaceNormals (arrayView2d< real64 const > const &gridMass, arrayView3d< real64 > const &gridSurfaceNormal) |
|
void | computeContactForces (real64 const dt, arrayView2d< real64 const > const &gridMass, arrayView2d< real64 const > const &gridDamage, arrayView2d< real64 const > const &gridMaxDamage, arrayView3d< real64 const > const &gridVelocity, arrayView3d< real64 const > const &gridMomentum, arrayView3d< real64 const > const &gridSurfaceNormal, arrayView3d< real64 const > const &gridMaterialPosition, arrayView3d< real64 > const &gridContactForce) |
|
void | computePairwiseNodalContactForce (int const &separable, real64 const &dt, real64 const &mA, real64 const &mB, arraySlice1d< real64 const > const vA, arraySlice1d< real64 const > const GEOS_UNUSED_PARAM(vB), arraySlice1d< real64 const > const qA, arraySlice1d< real64 const > const qB, arraySlice1d< real64 const > const nA, arraySlice1d< real64 const > const nB, arraySlice1d< real64 const > const xA, arraySlice1d< real64 const > const xB, arraySlice1d< real64 > const fA, arraySlice1d< real64 > const fB) |
|
void | computeOrthonormalBasis (const real64 *e1, real64 *e2, real64 *e3) |
|
void | setGridFieldLabels (NodeManager &nodeManager) |
|
void | solverProfiling (std::string label) |
|
void | solverProfilingIf (std::string label, bool condition) |
|
real64 | computeNeighborList (ParticleManager &particleManager) |
|
void | optimizeBinSort (ParticleManager &particleManager) |
|
real64 | kernel (real64 const &r) |
|
void | kernelGradient (arraySlice1d< real64 const > const x, std::vector< real64 > &xp, real64 const &r, real64 *result) |
|
real64 | computeKernelField (arraySlice1d< real64 const > const x, arrayView2d< real64 const > const xp, arrayView1d< real64 const > const Vp, arrayView1d< real64 const > const fp) |
|
void | computeKernelFieldGradient (arraySlice1d< real64 const > const x, std::vector< std::vector< real64 > > &xp, std::vector< real64 > &Vp, std::vector< real64 > &fp, arraySlice1d< real64 > const result) |
|
void | computeKernelVectorGradient (arraySlice1d< real64 const > const x, std::vector< std::vector< real64 > > &xp, std::vector< real64 > &Vp, std::vector< std::vector< real64 > > &fp, arraySlice2d< real64 > const result) |
|
void | computeDamageFieldGradient (ParticleManager &particleManager) |
|
void | updateSurfaceFlagOverload (ParticleManager &particleManager) |
|
void | projectDamageFieldGradientToGrid (ParticleManager &particleManager, NodeManager &nodeManager) |
|
void | updateDeformationGradient (real64 dt, ParticleManager &particleManager) |
|
void | updateConstitutiveModelDependencies (ParticleManager &particleManager) |
|
void | updateStress (real64 dt, ParticleManager &particleManager) |
|
void | particleKinematicUpdate (ParticleManager &particleManager) |
|
void | computeAndWriteBoxAverage (const real64 dt, const real64 time_n, ParticleManager &particleManager) |
|
void | initializeGridFields (NodeManager &nodeManager) |
|
void | boundaryConditionUpdate (real64 dt, real64 time_n) |
|
void | particleToGrid (ParticleManager &particleManager, NodeManager &nodeManager) |
|
void | gridTrialUpdate (real64 dt, NodeManager &nodeManager) |
|
void | enforceContact (real64 dt, DomainPartition &domain, ParticleManager &particleManager, NodeManager &nodeManager, MeshLevel &mesh) |
|
void | interpolateFTable (real64 dt, real64 time_n) |
|
void | gridToParticle (real64 dt, ParticleManager &particleManager, NodeManager &nodeManager) |
|
void | updateSolverDependencies (ParticleManager &particleManager) |
|
real64 | getStableTimeStep (ParticleManager &particleManager) |
|
void | deleteBadParticles (ParticleManager &particleManager) |
|
void | printProfilingResults () |
|
void | computeSurfaceFlags (ParticleManager &particleManager) |
|
void | computeSphF (ParticleManager &particleManager) |
|
int | evaluateSeparabilityCriterion (localIndex const &A, localIndex const &B, real64 const &damageA, real64 const &damageB, real64 const &maxDamageA, real64 const &maxDamageB) |
|
void | flagOutOfRangeParticles (ParticleManager &particleManager) |
|
void | computeRVectors (ParticleManager &particleManager) |
|
void | cpdiDomainScaling (ParticleManager &particleManager) |
|
void | resizeMappingArrays (ParticleManager &particleManager) |
|
void | populateMappingArrays (ParticleManager &particleManager, NodeManager &nodeManager) |
|
This class implements a material point method solution to the equations of motion.
Definition at line 44 of file SolidMechanicsMPM.hpp.