MPM-Geomechanics
Material Point Method for simulating geo-materials under large deformation conditions
Loading...
Searching...
No Matches
Node Class Reference

Represents a mesh node. More...

#include <Node.h>

Inheritance diagram for Node:
Collaboration diagram for Node:

Public Member Functions

virtual ~Node ()
 Default destructor.
 
 Node ()
 Default constructor.
 
void setId (int node_id)
 Configure node identification.
 
void setActive (bool node_activate)
 Configure the active state on the node.
 
void setCoordinates (const Vector3d &nodal_coordinates)
 Configure the nodal coordinates.
 
void setVelocity (const Vector3d &nodal_velocity)
 Configure the nodal velocity.
 
void setMomentum (const Vector3d &nodal_momentum)
 Configure the nodal momentum.
 
virtual void setMomentumFluid (const Vector3d &nodal_momentum_fluid)
 Configure the nodal momentum of fluid phase.
 
void setTotalForce (const Vector3d &total_nodal_force)
 Configure the total nodal force.
 
virtual void setTotalForceFluid (const Vector3d &total_nodal_force_fluid)
 Configure the total nodal force in fluid phase.
 
int getId () const
 Return the nodal identification.
 
bool getActive () const
 Return the activate state of the node.
 
double getMass () const
 Return the nodal mass.
 
virtual double getMassFluid () const
 Return the nodal mass of fluid phase.
 
const Vector3d & getCoordinates () const
 Return the nodal coordinates.
 
const Vector3d & getMomentum () const
 Return the nodal momentum.
 
virtual const Vector3d * getMomentumFluid () const
 Return the nodal momentum of fluid phase.
 
const Vector3d & getInternalForce () const
 Return the nodal internal force.
 
const Vector3d & getExternalForce () const
 Return the nodal external force.
 
const Vector3d & getTotalForce () const
 Return the nodal total force.
 
virtual const Vector3d * getTotalForceFluid () const
 Return the nodal total force of fluid phase.
 
const Vector3d & getVelocity () const
 Return the nodal velocity.
 
virtual const Vector3d * getVelocityFluid () const
 Return the nodal velocity of fluid phase.
 
void addMass (double mass_increment)
 Add a mass increment to the nodal mass.
 
virtual void addMassFluid (double fluid_mass_increment)
 Add fluid mass increment to the nodal mass.
 
void addMomentum (const Vector3d &momentum_increment)
 Add a momentum increment to the nodal momentum.
 
virtual void addMomentumFluid (const Vector3d &fluid_momentum_increment)
 Add fluid momentum increment to the nodal momentum of fluid.
 
void addInternalForce (const Vector3d &internal_force_increment)
 Add a internal force increment to the nodal internal force.
 
virtual void addInternalForceFluid (const Vector3d &internal_force_fluid_increment)
 Add a internal force increment of fluid to the nodal internal force.
 
void addExternalForce (const Vector3d &external_force_increment)
 Add a external force increment to the nodal external force.
 
virtual void addExternalForceFluid (const Vector3d &external_force_fluid_increment)
 Add a external force of fluid increment to the nodal external force.
 
virtual void resetValues ()
 Delete all values stored in node.
 
virtual void updateTotalForce ()
 Calculate the total nodal force.
 
virtual void updateDampingForce ()
 Calculate the damping nodal force.
 
void updateVelocity ()
 Update nodal velocity.
 
virtual void integrateMomentum (double dt)
 

Protected Attributes

bool active
 is active node
 
int id
 nodal identification
 
double mass
 nodal mass: \(m_{I}\), or solid mass in two-phase calculations: \(m_{I}^{s}\)
 
Vector3d coordinates
 nodal coordinates: \(x_{iI}\)
 
Vector3d momentum
 nodal momentum: \(p_{iI}\), or momentum in solid in two-phase calculations: \(p_{iI}^{s}\)
 
Vector3d velocity
 nodal velocity: \(v_{iI}\), or velocity in solid in two-phase calculations: \(v_{iI}^{s}\)
 
Vector3d externalForce
 nodal external force: \(f_{iI}^{ext}\), or external force in solid in two-phase calculations: \(f_{iI}^{ext,s}\)
 
Vector3d internalForce
 nodal internal force: \(f_{iI}^{int}\), or internal force in solid in two-phase calculations: \(f_{iI}^{int,s}\)
 
Vector3d dampingForce
 nodal damping force: \(f_{iI}^{dmp}\), or damping force in solid in two-phase calculations: \(f_{iI}^{dmp,s}\)
 
Vector3d totalForce
 nodal total force: \(f_{iI}\), or total force in solid in two-phase calculations: \(f_{iI}^{s}\)
 

Detailed Description

Represents a mesh node.

Constructor & Destructor Documentation

◆ ~Node()

Node::~Node ( )
inlinevirtual

Default destructor.

◆ Node()

Node::Node ( )
inline

Default constructor.

Member Function Documentation

◆ addExternalForce()

void Node::addExternalForce ( const Vector3d & external_force_increment)
inline

Add a external force increment to the nodal external force.

Parameters
[in]external_force_incrementVector containing nodal external force increment

◆ addExternalForceFluid()

virtual void Node::addExternalForceFluid ( const Vector3d & external_force_fluid_increment)
inlinevirtual

Add a external force of fluid increment to the nodal external force.

Parameters
[in]external_force_fluid_incrementVector containing nodal external force increment

Reimplemented in NodeMixture.

◆ addInternalForce()

void Node::addInternalForce ( const Vector3d & internal_force_increment)
inline

Add a internal force increment to the nodal internal force.

Parameters
[in]internal_force_incrementVector containing nodal internal force increment

◆ addInternalForceFluid()

virtual void Node::addInternalForceFluid ( const Vector3d & internal_force_fluid_increment)
inlinevirtual

Add a internal force increment of fluid to the nodal internal force.

Parameters
[in]internal_force_fluid_incrementVector containing nodal internal force increment of fluid

Reimplemented in NodeMixture.

◆ addMass()

void Node::addMass ( double mass_increment)
inline

Add a mass increment to the nodal mass.

Parameters
[in]mass_incrementNodal mass increment

◆ addMassFluid()

virtual void Node::addMassFluid ( double fluid_mass_increment)
inlinevirtual

Add fluid mass increment to the nodal mass.

Parameters
[in]fluid_mass_incrementNodal mass increment

Reimplemented in NodeMixture.

◆ addMomentum()

void Node::addMomentum ( const Vector3d & momentum_increment)
inline

Add a momentum increment to the nodal momentum.

Parameters
[in]momentum_incrementVector containing the nodal momentum increment

◆ addMomentumFluid()

virtual void Node::addMomentumFluid ( const Vector3d & fluid_momentum_increment)
inlinevirtual

Add fluid momentum increment to the nodal momentum of fluid.

Parameters
[in]fluid_momentum_incrementVector containing the nodal momentum increment of fluid

Reimplemented in NodeMixture.

◆ getActive()

bool Node::getActive ( ) const
inline

Return the activate state of the node.

Returns
Nodal activate state

◆ getCoordinates()

const Vector3d & Node::getCoordinates ( ) const
inline

Return the nodal coordinates.

Returns
Vector containing the nodal coordinates

◆ getExternalForce()

const Vector3d & Node::getExternalForce ( ) const
inline

Return the nodal external force.

Returns
Vector containing the nodal external force

◆ getId()

int Node::getId ( ) const
inline

Return the nodal identification.

Returns
Nodal identification

◆ getInternalForce()

const Vector3d & Node::getInternalForce ( ) const
inline

Return the nodal internal force.

Returns
Vector containing the nodal internal force

◆ getMass()

double Node::getMass ( ) const
inline

Return the nodal mass.

Returns
Nodal mass

◆ getMassFluid()

virtual double Node::getMassFluid ( ) const
inlinevirtual

Return the nodal mass of fluid phase.

Returns
Nodal mass of fluid phase

Reimplemented in NodeMixture.

◆ getMomentum()

const Vector3d & Node::getMomentum ( ) const
inline

Return the nodal momentum.

Returns
Vector containing the nodal momentum

◆ getMomentumFluid()

virtual const Vector3d * Node::getMomentumFluid ( ) const
inlinevirtual

Return the nodal momentum of fluid phase.

Returns
Vector containing the nodal momentum of fluid phase

Reimplemented in NodeMixture.

◆ getTotalForce()

const Vector3d & Node::getTotalForce ( ) const
inline

Return the nodal total force.

Returns
Vector containing the nodal total force

◆ getTotalForceFluid()

virtual const Vector3d * Node::getTotalForceFluid ( ) const
inlinevirtual

Return the nodal total force of fluid phase.

Returns
Vector containing the nodal total force of fluid phase

Reimplemented in NodeMixture.

◆ getVelocity()

const Vector3d & Node::getVelocity ( ) const
inline

Return the nodal velocity.

Returns
Vector containing the nodal velocity

◆ getVelocityFluid()

virtual const Vector3d * Node::getVelocityFluid ( ) const
inlinevirtual

Return the nodal velocity of fluid phase.

Returns
Vector containing the nodal velocity of fluid phase

Reimplemented in NodeMixture.

◆ integrateMomentum()

virtual void Node::integrateMomentum ( double dt)
inlinevirtual

brief Integrate momentum

Reimplemented in NodeMixture.

◆ resetValues()

void Node::resetValues ( )
inlinevirtual

Delete all values stored in node.

Reimplemented in NodeMixture.

◆ setActive()

void Node::setActive ( bool node_activate)
inline

Configure the active state on the node.

Parameters
[in]node_activateNode active value

◆ setCoordinates()

void Node::setCoordinates ( const Vector3d & nodal_coordinates)
inline

Configure the nodal coordinates.

Parameters
[in]nodal_coordinatesVector containing the nodal coordinates

◆ setId()

void Node::setId ( int node_id)
inline

Configure node identification.

Parameters
[in]node_idNode identification

◆ setMomentum()

void Node::setMomentum ( const Vector3d & nodal_momentum)
inline

Configure the nodal momentum.

Parameters
[in]nodal_momentumVector containing the nodal momentum

◆ setMomentumFluid()

virtual void Node::setMomentumFluid ( const Vector3d & nodal_momentum_fluid)
inlinevirtual

Configure the nodal momentum of fluid phase.

Parameters
[in]nodal_momentum_fluidVector containing the nodal momentum of fluid phase

Reimplemented in NodeMixture.

◆ setTotalForce()

void Node::setTotalForce ( const Vector3d & total_nodal_force)
inline

Configure the total nodal force.

Parameters
[in]total_nodal_forceVector containing the total nodal force

◆ setTotalForceFluid()

virtual void Node::setTotalForceFluid ( const Vector3d & total_nodal_force_fluid)
inlinevirtual

Configure the total nodal force in fluid phase.

Parameters
[in]total_nodal_force_fluidVector containing the total nodal force in fluid phase

Reimplemented in NodeMixture.

◆ setVelocity()

void Node::setVelocity ( const Vector3d & nodal_velocity)
inline

Configure the nodal velocity.

Parameters
[in]nodal_velocityVector containing the nodal velocity

◆ updateDampingForce()

virtual void Node::updateDampingForce ( )
virtual

Calculate the damping nodal force.

Reimplemented in NodeMixture.

◆ updateTotalForce()

virtual void Node::updateTotalForce ( )
inlinevirtual

Calculate the total nodal force.

Reimplemented in NodeMixture.

◆ updateVelocity()

void Node::updateVelocity ( )
inline

Update nodal velocity.

Member Data Documentation

◆ active

bool Node::active
protected

is active node

◆ coordinates

Vector3d Node::coordinates
protected

nodal coordinates: \(x_{iI}\)

◆ dampingForce

Vector3d Node::dampingForce
protected

nodal damping force: \(f_{iI}^{dmp}\), or damping force in solid in two-phase calculations: \(f_{iI}^{dmp,s}\)

◆ externalForce

Vector3d Node::externalForce
protected

nodal external force: \(f_{iI}^{ext}\), or external force in solid in two-phase calculations: \(f_{iI}^{ext,s}\)

◆ id

int Node::id
protected

nodal identification

◆ internalForce

Vector3d Node::internalForce
protected

nodal internal force: \(f_{iI}^{int}\), or internal force in solid in two-phase calculations: \(f_{iI}^{int,s}\)

◆ mass

double Node::mass
protected

nodal mass: \(m_{I}\), or solid mass in two-phase calculations: \(m_{I}^{s}\)

◆ momentum

Vector3d Node::momentum
protected

nodal momentum: \(p_{iI}\), or momentum in solid in two-phase calculations: \(p_{iI}^{s}\)

◆ totalForce

Vector3d Node::totalForce
protected

nodal total force: \(f_{iI}\), or total force in solid in two-phase calculations: \(f_{iI}^{s}\)

◆ velocity

Vector3d Node::velocity
protected

nodal velocity: \(v_{iI}\), or velocity in solid in two-phase calculations: \(v_{iI}^{s}\)


The documentation for this class was generated from the following file: