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

Operations to manage loads in the MPM model. More...

Classes

struct  LoadDistributedBox
 Structure to define a distributed load in particles inside the cuboid defined by point p1 and p2. More...
 
struct  NodalPointLoadData
 
struct  PrescribedPorePressure
 Structure to represent a particle with a pressure. Pressure is applied to particles with the specified index. More...
 
struct  PressureBoundaryForceBox
 Structure to represent a boundary force in fluid due the action of the pressure. More...
 
struct  PressureBox
 Structure to represent a box with a pressure. Pressure in applied to particles inside the cuboid defined by point p1 and p2. More...
 
struct  PressureMaterial
 Structure to represent a material with a pressure. Pressure is applied to particles with the specified material id. More...
 
struct  SeismicData
 Seismic data structure to manage acceleration and velocity of an earthquake record. More...
 

Functions

void setSeismicData ()
 Set the Seismic Data object.
 
SeismicDatagetSeismicData ()
 Get the Seismic Data object.
 
void setGravity (vector< Body * > &bodies)
 Configures the gravity load in particles.
 
void setLoadDistributedBox (vector< Body * > &bodies, vector< Loads::LoadDistributedBox > loads)
 Configure distributed load in particles inside of a box.
 
void setPrescribedPorePressureBox (vector< Body * > &bodies, vector< Loads::PressureBox > pressures)
 Configure prescribed pore pressure in particles inside of a box.
 
void setInitialPorePressureBox (vector< Body * > &bodies, vector< Loads::PressureBox > pressures)
 Configure initial pore pressure in particles inside of a box.
 
void setInitialPorePressureMaterial (vector< Body * > &bodies, vector< Loads::PressureMaterial > pressures)
 Configure initial pore pressure in particles by material id.
 
void updatePrescribedPorePressure (vector< Body * > *bodies)
 Set prescribed pore pressure in particles.
 
void setPrescribedPorePressureBoundaryForceBox (vector< Body * > &bodies, vector< Loads::PressureBoundaryForceBox > loads)
 Set external boundary force in fluid phase due the prescribed pore pressure in particles.
 
void setInitialVelocity (vector< Body * > &bodies)
 Set initial velocity in bodies.
 
void configureNodalPointLoads (Mesh *mesh)
 configure nodeid-point-load data for nodal force application
 
NodalPointLoadDatagetNodalPointList ()
 Get (node-id load) vector for set nodal point load.
 

Detailed Description

Operations to manage loads in the MPM model.

Function Documentation

◆ configureNodalPointLoads()

void Loads::configureNodalPointLoads ( Mesh * mesh)

configure nodeid-point-load data for nodal force application

Parameters
[in]meshmesh pointer

◆ getNodalPointList()

NodalPointLoadData & Loads::getNodalPointList ( )

Get (node-id load) vector for set nodal point load.

◆ getSeismicData()

SeismicData & Loads::getSeismicData ( )

Get the Seismic Data object.

Returns
SeismicData&

◆ setGravity()

void Loads::setGravity ( vector< Body * > & bodies)

Configures the gravity load in particles.

Parameters
[in]bodiesA list containing Body pointers

◆ setInitialPorePressureBox()

void Loads::setInitialPorePressureBox ( vector< Body * > & bodies,
vector< Loads::PressureBox > pressures )

Configure initial pore pressure in particles inside of a box.

Parameters
[in]bodiesA list containing Body pointers
[in]pressuresA list containing pressures to be applied

◆ setInitialPorePressureMaterial()

void Loads::setInitialPorePressureMaterial ( vector< Body * > & bodies,
vector< Loads::PressureMaterial > pressures )

Configure initial pore pressure in particles by material id.

Parameters
[in]bodiesA list containing Body pointers
[in]pressuresA list containing material id to be applied the pressure

◆ setInitialVelocity()

void Loads::setInitialVelocity ( vector< Body * > & bodies)

Set initial velocity in bodies.

Parameters
[in]bodiesA list containing Body pointers

◆ setLoadDistributedBox()

void Loads::setLoadDistributedBox ( vector< Body * > & bodies,
vector< Loads::LoadDistributedBox > loads )

Configure distributed load in particles inside of a box.

Parameters
[in]bodiesA list containing Body pointers
[in]loadsA list containing loads to be applied

◆ setPrescribedPorePressureBoundaryForceBox()

void Loads::setPrescribedPorePressureBoundaryForceBox ( vector< Body * > & bodies,
vector< Loads::PressureBoundaryForceBox > loads )

Set external boundary force in fluid phase due the prescribed pore pressure in particles.

\( f_{i}^{w,ext,\Gamma} = \int t(x_i)^\Gamma \Delta A \)

Parameters
[in]bodiesA list containing Body pointers
[in]loadsA list of pressure force boxes

◆ setPrescribedPorePressureBox()

void Loads::setPrescribedPorePressureBox ( vector< Body * > & bodies,
vector< Loads::PressureBox > pressures )

Configure prescribed pore pressure in particles inside of a box.

Parameters
[in]bodiesA list containing Body pointers
[in]pressuresA list containing pressures to be applied

◆ setSeismicData()

void Loads::setSeismicData ( )

Set the Seismic Data object.

◆ updatePrescribedPorePressure()

void Loads::updatePrescribedPorePressure ( vector< Body * > * bodies)

Set prescribed pore pressure in particles.

Parameters
[in]bodiesA list containing Body pointers