Seismo-VLAB  1.3
An Open-Source Finite Element Software for Meso-Scale Simulations
Load Class Reference

Class for creating a load that can be applied to a node or to a element. More...

#include <Load.hpp>

Collaboration diagram for Load:

Public Member Functions

 Load (unsigned int type)
 Creates a Load in a finite element Mesh. More...
 
 Load (Eigen::VectorXd dir, std::vector< double > val, unsigned int type)
 Creates a Load in a finite element Mesh. More...
 
 ~Load ()
 Destroys this Load object. More...
 
void AddNodes (std::vector< unsigned int > tags)
 Adds node that share this loaded. More...
 
void AddFaces (std::vector< unsigned int > tags)
 Adds face that share this loaded. More...
 
void AddElements (std::vector< unsigned int > tags)
 Adds element that share this loaded. More...
 
void AddDRMCondition (unsigned int tag, bool cond)
 Adds the exterior/interior condition for the domain reduction node. More...
 
unsigned int GetClassification () const
 Returns the load classification. More...
 
std::vector< unsigned int > GetNodes () const
 Returns the nodes index that share this load. More...
 
std::vector< unsigned int > GetFaces () const
 Returns the faces index that share this load. More...
 
std::vector< unsigned int > GetElements () const
 Returns the nodes index that share this load. More...
 
Eigen::VectorXd GetLoadVector (unsigned int step=0) const
 Returns the force vector to be applied. More...
 
bool GetDRMCondition (unsigned int tag)
 Returns the exterior/interior condition for the domain reduction node. More...
 

Private Attributes

unsigned int Classification
 Load classification. More...
 
Eigen::VectorXd ForceDirection
 Direction of applied force. More...
 
std::vector< unsigned int > Tags
 Index of nodes/element which share this load. More...
 
std::vector< unsigned int > Faces
 Index of element faces which share this load. More...
 
std::vector< double > ForceAmplitude
 Time varing coefficients: More...
 
std::map< unsigned int, bool > DRMConditions
 Exterior/Interior condition for the domain reduction node. More...
 

Detailed Description

Class for creating a load that can be applied to a node or to a element.

See also
Node.hpp Element.hpp LoadCombo.hpp Mesh.hpp

Constructor & Destructor Documentation

◆ Load() [1/2]

Load::Load ( unsigned int  type)

Creates a Load in a finite element Mesh.

Parameters
typeThe load formulation.
Note
More details can be found at Load.
See also
Load::Classification

◆ Load() [2/2]

Load::Load ( Eigen::VectorXd  dir,
std::vector< double >  val,
unsigned int  type 
)

Creates a Load in a finite element Mesh.

Parameters
dirThe unit load direction.
valThe load magnitude in time.
typeThe load formulation.
Note
More details can be found at Load.
See also
Load::Classification, Load::ForceDirection, Load::ForceAmplitude.

◆ ~Load()

Load::~Load ( )

Destroys this Load object.

Member Function Documentation

◆ AddDRMCondition()

void Load::AddDRMCondition ( unsigned int  tag,
bool  cond 
)

Adds the exterior/interior condition for the domain reduction node.

Parameters
tagThe Node identifier that belongs to domain reduction.
condIf the Node identifier is interior (0) or exterior (1).
See also
Element::ComputeDomainReductionForces(), Load::DRMConditions.

◆ AddElements()

void Load::AddElements ( std::vector< unsigned int >  tags)

Adds element that share this loaded.

Parameters
tagsThe list of Element identifiers.
See also
Element::ComputeBodyForces(), Element::ComputeSurfaceForces(), Load::Tags.

◆ AddFaces()

void Load::AddFaces ( std::vector< unsigned int >  tags)

Adds face that share this loaded.

Parameters
tagsThe list of Element faces.
See also
Element::ComputeSurfaceForces(), Load::Faces.

◆ AddNodes()

void Load::AddNodes ( std::vector< unsigned int >  tags)

Adds node that share this loaded.

Parameters
tagsThe list of Node identifier.
See also
Node, Load::Tags.

◆ GetClassification()

unsigned int Load::GetClassification ( ) const

Returns the load classification.

Returns
The Load type.
Note
More details can be found at Load.
See also
Load::Classification.

◆ GetDRMCondition()

bool Load::GetDRMCondition ( unsigned int  tag)

Returns the exterior/interior condition for the domain reduction node.

Parameters
tagThe domain reduction Node tag.
Returns
whether the Node is interior or exterior.
Note
More details can be found at Load.
See also
Load::DRMConditions, Element::ComputeDomainReductionForces()

◆ GetElements()

std::vector<unsigned int> Load::GetElements ( ) const

Returns the nodes index that share this load.

Returns
The Element list that this load is applied.
See also
Load::Tags.

◆ GetFaces()

std::vector<unsigned int> Load::GetFaces ( ) const

Returns the faces index that share this load.

Returns
The Element face list that this load is applied.
See also
Load::Faces.

◆ GetLoadVector()

Eigen::VectorXd Load::GetLoadVector ( unsigned int  step = 0) const

Returns the force vector to be applied.

Parameters
stepThe time step at which the load is evaluated.
Returns
The force vector to be applied at step.
Note
More details can be found at Load.

◆ GetNodes()

std::vector<unsigned int> Load::GetNodes ( ) const

Returns the nodes index that share this load.

Returns
The Node list that this load is applied.
See also
Load::Tags.

Member Data Documentation

◆ Classification

unsigned int Load::Classification
private

Load classification.

◆ DRMConditions

std::map<unsigned int, bool> Load::DRMConditions
private

Exterior/Interior condition for the domain reduction node.

◆ Faces

std::vector<unsigned int> Load::Faces
private

Index of element faces which share this load.

◆ ForceAmplitude

std::vector<double> Load::ForceAmplitude
private

Time varing coefficients:

◆ ForceDirection

Eigen::VectorXd Load::ForceDirection
private

Direction of applied force.

◆ Tags

std::vector<unsigned int> Load::Tags
private

Index of nodes/element which share this load.