|
MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
|
Create a data structure for contact nodes. More...
#include <Node.h>

Public Member Functions | |
| ContactNodeData ()=default | |
Public Attributes | |
| int | contactId = -1 |
| contact node identification | |
| int | nodeId = -1 |
| mesh node identification | |
| int | bodyMasterId = -1 |
| master body id | |
| int | bodySlaveId = -1 |
| slave body id | |
| bool | hasContact = true |
| does the contact node have contact? | |
| double | massMaster = 0.0 |
| nodal mass of master body: \(m_{I}^M\) | |
| double | massSlave = 0.0 |
| nodal mass of slave body: \(m_{I}^S\) | |
| double | closestParticleDistanceMaster = 999.0 |
| closest master body particle distance to the contact node \(X_I ^ M \cdot n_I ^ M\) | |
| double | closestParticleDistanceSlave = 999.0 |
| closest slave body particle distance to the contact node \(X_I ^ S \cdot n_I ^ S\) | |
| Vector3d | momentumMaster = Vector3d::Zero() |
| nodal momentum of master body: \(p_{iI}^M\) | |
| Vector3d | momentumSlave = Vector3d::Zero() |
| nodal momentum of slave body: \(p_{iI}^S\) | |
| Vector3d | velocityMaster = Vector3d::Zero() |
| nodal velocity of master body: \(v_{iI}^M\) | |
| Vector3d | velocitySlave = Vector3d::Zero() |
| nodal velocity of slave body: \(v_{iI}^S\) | |
| Vector3d | internalForceMaster = Vector3d::Zero() |
| internal force of master body: \(f_{iI}^{int,M}\) | |
| Vector3d | internalForceSlave = Vector3d::Zero() |
| internal force of slave body: \(f_{iI}^{int,S}\) | |
| Vector3d | externalForceMaster = Vector3d::Zero() |
| external force of master body: \(f_{iI}^{ext,M}\) | |
| Vector3d | externalForceSlave = Vector3d::Zero() |
| external force of slave body: \(f_{iI}^{ext,S}\) | |
| Vector3d | dampingForceMaster = Vector3d::Zero() |
| damping force of master body: \(f_{iI}^{dmp,M}\) | |
| Vector3d | dampingForceSlave = Vector3d::Zero() |
| damping force of slave body: \(f_{iI}^{dmp,S}\) | |
| Vector3d | totalForceMaster = Vector3d::Zero() |
| total force of master body: \(f_{iI}^{M}\) | |
| Vector3d | totalForceSlave = Vector3d::Zero() |
| total force of slave body: \(f_{iI}^{S}\) | |
| Vector3d | contactForce = Vector3d::Zero() |
| contact force at the contact node: \(f_{iI}^{c}\) | |
| Vector3d | normalContactForce = Vector3d::Zero() |
| normal contact force at the contact node: \(f_{iI}^{c,n}\) | |
| Vector3d | tangentialContactForce = Vector3d::Zero() |
| tangential contact force at the contact node: \(f_{iI}^{c,t}\) | |
| Vector3d | normalMaster = Vector3d::Zero() |
| normal vector at the contact node of the master body: \(n_{iI}^M\) | |
| Vector3d | normalSlave = Vector3d::Zero() |
| normal vector at the contact node of the slave body: \(n_{iI}^S\) | |
| Vector3d | normal = Vector3d::Zero() |
| contact normal vector at the contact node: \(n_{iI}\) | |
Create a data structure for contact nodes.
|
default |
| int Node::ContactNodeData::bodyMasterId = -1 |
master body id
| int Node::ContactNodeData::bodySlaveId = -1 |
slave body id
| double Node::ContactNodeData::closestParticleDistanceMaster = 999.0 |
closest master body particle distance to the contact node \(X_I ^ M \cdot n_I ^ M\)
| double Node::ContactNodeData::closestParticleDistanceSlave = 999.0 |
closest slave body particle distance to the contact node \(X_I ^ S \cdot n_I ^ S\)
| Vector3d Node::ContactNodeData::contactForce = Vector3d::Zero() |
contact force at the contact node: \(f_{iI}^{c}\)
| int Node::ContactNodeData::contactId = -1 |
contact node identification
| Vector3d Node::ContactNodeData::dampingForceMaster = Vector3d::Zero() |
damping force of master body: \(f_{iI}^{dmp,M}\)
| Vector3d Node::ContactNodeData::dampingForceSlave = Vector3d::Zero() |
damping force of slave body: \(f_{iI}^{dmp,S}\)
| Vector3d Node::ContactNodeData::externalForceMaster = Vector3d::Zero() |
external force of master body: \(f_{iI}^{ext,M}\)
| Vector3d Node::ContactNodeData::externalForceSlave = Vector3d::Zero() |
external force of slave body: \(f_{iI}^{ext,S}\)
| bool Node::ContactNodeData::hasContact = true |
does the contact node have contact?
| Vector3d Node::ContactNodeData::internalForceMaster = Vector3d::Zero() |
internal force of master body: \(f_{iI}^{int,M}\)
| Vector3d Node::ContactNodeData::internalForceSlave = Vector3d::Zero() |
internal force of slave body: \(f_{iI}^{int,S}\)
| double Node::ContactNodeData::massMaster = 0.0 |
nodal mass of master body: \(m_{I}^M\)
| double Node::ContactNodeData::massSlave = 0.0 |
nodal mass of slave body: \(m_{I}^S\)
| Vector3d Node::ContactNodeData::momentumMaster = Vector3d::Zero() |
nodal momentum of master body: \(p_{iI}^M\)
| Vector3d Node::ContactNodeData::momentumSlave = Vector3d::Zero() |
nodal momentum of slave body: \(p_{iI}^S\)
| int Node::ContactNodeData::nodeId = -1 |
mesh node identification
| Vector3d Node::ContactNodeData::normal = Vector3d::Zero() |
contact normal vector at the contact node: \(n_{iI}\)
| Vector3d Node::ContactNodeData::normalContactForce = Vector3d::Zero() |
normal contact force at the contact node: \(f_{iI}^{c,n}\)
| Vector3d Node::ContactNodeData::normalMaster = Vector3d::Zero() |
normal vector at the contact node of the master body: \(n_{iI}^M\)
| Vector3d Node::ContactNodeData::normalSlave = Vector3d::Zero() |
normal vector at the contact node of the slave body: \(n_{iI}^S\)
| Vector3d Node::ContactNodeData::tangentialContactForce = Vector3d::Zero() |
tangential contact force at the contact node: \(f_{iI}^{c,t}\)
| Vector3d Node::ContactNodeData::totalForceMaster = Vector3d::Zero() |
total force of master body: \(f_{iI}^{M}\)
| Vector3d Node::ContactNodeData::totalForceSlave = Vector3d::Zero() |
total force of slave body: \(f_{iI}^{S}\)
| Vector3d Node::ContactNodeData::velocityMaster = Vector3d::Zero() |
nodal velocity of master body: \(v_{iI}^M\)
| Vector3d Node::ContactNodeData::velocitySlave = Vector3d::Zero() |
nodal velocity of slave body: \(v_{iI}^S\)