NLMech  0.1.0
model::Model Class Reference

A base class for different model implementation. More...

#include <model.h>

Inheritance diagram for model::Model:
Inheritance graph
Collaboration diagram for model::Model:
Collaboration graph

Public Member Functions

 Model ()
 Constructor.
 

Private Attributes

Major simulation data

Major simulation data are those which play direct role in the simulation, and without declaring these simulation will not work. For Peridynamics, displacement at current time, velocity at current time, and total force are the major simulation data.

For state-based peridynamics, we also need hydrostatic strain at current time. If we choose we can remove this data from major simulation list, however, this will increase the computational load.

In addition to major simulation data listed here, there are data in other classes, for example nodal data fe::Mesh::d_nodes in fe::Mesh, which are also necessary for the simulation.

std::vector< double > d_thetaX
 Dilation. More...
 
std::vector< double > d_mX
 Weighted volume. More...
 
size_t d_n
 Current time step.
 
double d_time
 Current time.
 
Minor simulation data

These data are post-processing data and have no role in the simulation. Since they do not play direct role in the simulation, we can compromise in their accuracy and use 'float' instead of 'double'. We may also choose to not declare these data and not perform post-processing calculation. This is done via inp::Policy.

std::vector< util::SymMatrix3d_strain
 Strains of the nodes.
 
std::vector< util::SymMatrix3d_stress
 Stress of the nodes.
 
float d_te
 Total internal energy.
 
float d_tw
 Total work done.
 
float d_tk
 Total kinetic energy.
 
float d_teF
 Total fracture energy.
 
float d_teFB
 Total bond-based fracture energy.
 

Detailed Description

A base class for different model implementation.

Field Documentation

◆ d_mX

std::vector<double> model::Model::d_mX
private

Weighted volume.

In case of Rob's state based model, this data is not required

◆ d_thetaX

std::vector<double> model::Model::d_thetaX
private

Dilation.

In case of Rob's state based model, this will give the spherical (hydrostatic) strain


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