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 &)
 Configure the nodal momentum of fluid phase.
 
void setTotalForce (const Vector3d &total_nodal_force)
 Configure the total nodal force.
 
virtual void setTotalForceFluid (const Vector3d &)
 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.
 
void addDensityLevelSet (double density_increment)
 Add a density increment to the nodal density level set.
 
virtual void addMassFluid (double)
 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 &)
 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 &)
 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 &)
 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)
 
void setDistanceLevelSet (double distance)
 Set the distance level set function value of the node.
 
double getDistanceLevelSet ()
 Get the distance level set function value of the node.
 
double getDensityLevelSet ()
 Get the density level set function value of the node.
 
void setVolume (double volume)
 Set the nodal volume.
 
double getVolume ()
 Get the nodal volume.
 

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}\)
 
double volume
 nodal volume: \(V_{I}\)
 
double distanceLevelSet
 distance level set function value of the node: \( d_{I}=(X_I-X_i)e_n \)
 
double densityLevelSet
 density level set function value of the node: \( \rho_{I} = \sum_p V_p N_{Ip} / V_I \)
 
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

◆ addDensityLevelSet()

void Node::addDensityLevelSet ( double density_increment)
inline

Add a density increment to the nodal density level set.

Parameters
[in]density_incrementNodal density increment

◆ 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 & )
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 & )
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 )
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 & )
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

◆ getDensityLevelSet()

double Node::getDensityLevelSet ( )
inline

Get the density level set function value of the node.

◆ getDistanceLevelSet()

double Node::getDistanceLevelSet ( )
inline

Get the distance level set function value of the node.

◆ 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.

◆ getVolume()

double Node::getVolume ( )
inline

Get the nodal volume.

◆ 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

◆ setDistanceLevelSet()

void Node::setDistanceLevelSet ( double distance)
inline

Set the distance level set function value of the node.

◆ 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 & )
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 & )
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

◆ setVolume()

void Node::setVolume ( double volume)
inline

Set the nodal volume.

◆ 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}\)

◆ densityLevelSet

double Node::densityLevelSet
protected

density level set function value of the node: \( \rho_{I} = \sum_p V_p N_{Ip} / V_I \)

◆ distanceLevelSet

double Node::distanceLevelSet
protected

distance level set function value of the node: \( d_{I}=(X_I-X_i)e_n \)

◆ 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}\)

◆ volume

double Node::volume
protected

nodal volume: \(V_{I}\)


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