NetDEM v1.0
|
A class that represents a boundary condition for Peridigm. More...
#include <peridigm_boundary_condition.hpp>
Public Types | |
enum | Type { Prescribed_Displacement , Body_Force } |
An enumeration that lists the types of boundary conditions. More... | |
Public Member Functions | |
void | InsertNode (int node_set_id) |
Adds a node to the set of nodes that are subject to the boundary condition. | |
void | SetActivatedDimensions (bool x, bool y, bool z) |
Sets the dimensions that are activated by the boundary condition. | |
void | SetByDisplacementRate (double x, double y, double z) |
Sets the boundary condition by specifying the rate of displacement. | |
void | SetByUltimateDisplacement (double x, double y, double z, double t) |
Sets the boundary condition by specifying the ultimate displacement. | |
void | SetByLoadingRate (double x, double y, double z) |
Sets the boundary condition by specifying the rate of loading. | |
void | SetByUltimateLoading (double x, double y, double z, double t) |
Sets the boundary condition by specifying the ultimate loading. | |
void | WriteInputFile (std::ostream &os, int node_set_id) |
Writes the boundary condition to an input file. | |
void | WriteNodeSetFile (std::string const &result_dir, int node_set_id) |
Writes the node set to a directory. | |
Public Attributes | |
Type | type {Type::Prescribed_Displacement} |
The type of the boundary condition. | |
VecXT< int > | node_indices |
The indices of the nodes that are subject to the boundary condition. | |
VecNT< bool, 3 > | dim_activated {true, true, true} |
A boolean vector that indicates which dimensions are activated by the boundary condition. | |
bool | time_depedent {true} |
A boolean flag that indicates whether the boundary condition is time-dependent or not. | |
Vec3d | disp_rate {0, 0, 0} |
The rate of displacement if the boundary condition is defined by displacement rate. | |
Vec3d | loading_rate {0, 0, 0} |
The rate of loading if the boundary condition is defined by loading rate. | |
Vec3d | disp {0, 0, 0} |
The ultimate displacement if the boundary condition is defined by ultimate displacement. | |
Vec3d | loading {0, 0, 0} |
The ultimate loading if the boundary condition is defined by ultimate loading. | |
double | mech_time {0} |
The mechanical time if the boundary condition is defined by ultimate displacement or ultimate loading. | |
A class that represents a boundary condition for Peridigm.
This class represents a boundary condition for Peridigm, which can be either a prescribed displacement or a body force. It defines the set of nodes that are subject to the boundary condition, as well as the type and magnitude of the applied load. The boundary condition can also be defined as time-dependent or not.
void PeriDigmBoundaryCondition::InsertNode | ( | int | node_set_id | ) |
Adds a node to the set of nodes that are subject to the boundary condition.
This method adds a node to the set of nodes that are subject to the boundary condition. The node is identified by its index in the discretized domain.
node_set_id | The index of the node to add to the set. |
void PeriDigmBoundaryCondition::SetActivatedDimensions | ( | bool | x, |
bool | y, | ||
bool | z ) |
Sets the dimensions that are activated by the boundary condition.
This method sets the dimensions that are activated by the boundary condition. The activated dimensions are specified using boolean flags for x, y, and z axes.
x | A boolean flag that indicates whether the x axis is activated. |
y | A boolean flag that indicates whether the y axis is activated. |
z | A boolean flag that indicates whether the z axis is activated. |
void PeriDigmBoundaryCondition::SetByDisplacementRate | ( | double | x, |
double | y, | ||
double | z ) |
Sets the boundary condition by specifying the rate of displacement.
This method sets the boundary condition by specifying the rate of displacement along the x, y, and z axes. The boundary condition is defined as time-dependent.
x | The rate of displacement along the x axis. |
y | The rate of displacement along the y axis. |
z | The rate of displacement along the z axis. |
void PeriDigmBoundaryCondition::SetByLoadingRate | ( | double | x, |
double | y, | ||
double | z ) |
Sets the boundary condition by specifying the rate of loading.
This method sets the boundary condition by specifying the rate of loading along the x, y, and z axes. The boundary condition is defined as time-dependent.
x | The rate of loading along the x axis. |
y | The rate of loading along the y axis. |
z | The rate of loading along the z axis. |
void PeriDigmBoundaryCondition::SetByUltimateDisplacement | ( | double | x, |
double | y, | ||
double | z, | ||
double | t ) |
Sets the boundary condition by specifying the ultimate displacement.
This method sets the boundary condition by specifying the ultimate displacement along the x, y, and z axes. The boundary condition is defined as not time-dependent.
x | The ultimate displacement along the x axis. |
y | The ultimate displacement along the y axis. |
z | The ultimate displacement along the z axis. |
t | The mechanical time associated with the ultimate displacement. |
void PeriDigmBoundaryCondition::SetByUltimateLoading | ( | double | x, |
double | y, | ||
double | z, | ||
double | t ) |
Sets the boundary condition by specifying the ultimate loading.
This method sets the boundary condition by specifying the ultimate loading along the x, y, and z axes. The boundary condition is defined as not time-dependent.
x | The ultimate loading along the x axis. |
y | The ultimate loading along the y axis. |
z | The ultimate loading along the z axis. |
t | The mechanical time associated with the ultimate loading. |
void PeriDigmBoundaryCondition::WriteInputFile | ( | std::ostream & | os, |
int | node_set_id ) |
Writes the boundary condition to an input file.
This method writes the boundary condition to an input file. The method first determines whether the boundary condition is defined by prescribed displacement or body force, and then writes the appropriate section of the input file for each activated dimension.
os | The output stream to which the input file is written. |
node_set_id | The index of the node set associated with the boundary condition. |
void PeriDigmBoundaryCondition::WriteNodeSetFile | ( | std::string const & | result_dir, |
int | node_set_id ) |
Writes the node set to a directory.
result_dir | The directory to which the node set file is written. |
node_set_id | The index of the node set associated with the boundary condition. |
VecNT<bool, 3> netdem::PeriDigmBoundaryCondition::dim_activated {true, true, true} |
A boolean vector that indicates which dimensions are activated by the boundary condition.
Vec3d netdem::PeriDigmBoundaryCondition::disp {0, 0, 0} |
The ultimate displacement if the boundary condition is defined by ultimate displacement.
Vec3d netdem::PeriDigmBoundaryCondition::disp_rate {0, 0, 0} |
The rate of displacement if the boundary condition is defined by displacement rate.
Vec3d netdem::PeriDigmBoundaryCondition::loading {0, 0, 0} |
The ultimate loading if the boundary condition is defined by ultimate loading.
Vec3d netdem::PeriDigmBoundaryCondition::loading_rate {0, 0, 0} |
The rate of loading if the boundary condition is defined by loading rate.
double netdem::PeriDigmBoundaryCondition::mech_time {0} |
The mechanical time if the boundary condition is defined by ultimate displacement or ultimate loading.
VecXT<int> netdem::PeriDigmBoundaryCondition::node_indices |
The indices of the nodes that are subject to the boundary condition.
bool netdem::PeriDigmBoundaryCondition::time_depedent {true} |
A boolean flag that indicates whether the boundary condition is time-dependent or not.
Type netdem::PeriDigmBoundaryCondition::type {Type::Prescribed_Displacement} |
The type of the boundary condition.