A class implementing the state-based elastic material model.
More...
#include <ElasticState.h>
|
| | ElasticState (inp::MaterialDeck *deck, data::DataManager *dataManager) |
| | Constructor. More...
|
| |
| std::pair< util::Point3, double > | getBondEF (size_t i, size_t j) |
| | Returns energy and force state between node i and node j. More...
|
| |
| util::Point3 | getBondForceDirection (const util::Point3 &dx, const util::Point3 &du) const override |
| | Get direction of bond force. More...
|
| |
|
double | getFactor2D () |
| | return the factor for two-dimensional problems
|
| |
| double | getInfFn (const double &r) const |
| | Returns the value of influence function. More...
|
| |
| double | getSc (size_t i, size_t j) |
| | Returns critical bond strain between node i and node j. More...
|
| |
| util::Matrix33 | getStrain (size_t i) |
| | Computes the strain vector for one node. More...
|
| |
| util::Matrix33 | getStress (size_t i) |
| | Computes the stress tensor for one node. More...
|
| |
|
void | update () |
| | Let the material class in the quasi-static case know that there is a new loading step.
|
| |
| | BaseMaterial (const size_t &dim, const double &horizon) |
| | Constructor. More...
|
| |
| double | getDensity () const |
| | Returns the density of the material. More...
|
| |
| double | getHorizon () const |
| | Returns horizon. More...
|
| |
| virtual double | getS (const util::Point3 &dx, const util::Point3 &du) |
| | Returns the bond strain. More...
|
| |
| virtual double | getS (size_t i, size_t j) |
| | Returns the bond strain. More...
|
| |
| virtual double | getSc (const double &r) |
| | Returns critical bond strain. More...
|
| |
| bool | isStateActive () const |
| | Returns true if state-based potential is active. More...
|
| |
| std::string | name () const |
| | Returns name of the material. More...
|
| |
| virtual void | print (int nt=0, int lvl=0) const |
| | Prints the information about the instance of the object. More...
|
| |
| virtual std::string | printStr (int nt=0, int lvl=0) const |
| | Returns the string containing information about the instance of the object. More...
|
| |
A class implementing the state-based elastic material model.
This class implements the the state-based elastic material model as described by Silling and implementation details are described by Littlewood.
- See also
- https://doi.org/10.1007/s10659-007-9125-1
◆ ElasticState()
Constructor.
- Parameters
-
| deck | Pointer to the input deck |
| DataManager | Pointer to the data manager object |
◆ computeParameters()
| void material::pd::ElasticState::computeParameters |
( |
inp::MaterialDeck * |
deck, |
|
|
size_t |
dim |
|
) |
| |
|
private |
Computes elastic state-based material parameters from elastic constants.
Either Young's modulus E or bulk modulus K, and Poisson ratio
, are needed.
- Parameters
-
| deck | Input material deck |
| M | Moment of influence function |
Referenced by ElasticState().
◆ deformation_gradient()
| util::Matrix33 material::pd::ElasticState::deformation_gradient |
( |
size_t |
i | ) |
|
|
private |
Computes the deformation gradient for node i.
- Parameters
-
- Returns
- The deformation gradient for node i
◆ dirac_delta()
| double material::pd::ElasticState::dirac_delta |
( |
util::Point3 |
x, |
|
|
size_t |
i, |
|
|
size_t |
j, |
|
|
size_t |
m |
|
) |
| |
|
private |
Provide the image of x under the Dirac Delta Function.
- Parameters
-
| deck | The input deck |
| problem | The corresponding problem |
| x | Node x |
| i | Node i |
| j | Neighbor j |
| k | Neighbor k |
| m | Index for the volume correction |
- Returns
- 1 if x is a null-vector, otherwise 0
◆ getBondEF()
| std::pair< util::Point3, double > material::pd::ElasticState::getBondEF |
( |
size_t |
i, |
|
|
size_t |
j |
|
) |
| |
|
virtual |
Returns energy and force state between node i and node j.
- Parameters
-
| i | Id of node i |
| j | Local id in the neighbor list of node i |
- Returns
- Value Pair of energy and force
Reimplemented from material::pd::BaseMaterial.
◆ getBondForceDirection()
◆ getInfFn()
| double material::pd::ElasticState::getInfFn |
( |
const double & |
r | ) |
const |
|
inlinevirtual |
Returns the value of influence function.
- Parameters
-
| r | Reference (initial) bond length |
- Returns
- value Influence function at r
Reimplemented from material::pd::BaseMaterial.
◆ getSc()
| double material::pd::ElasticState::getSc |
( |
size_t |
i, |
|
|
size_t |
j |
|
) |
| |
|
virtual |
Returns critical bond strain between node i and node j.
- Parameters
-
| i | Id of node i |
| j | Id of node j |
- Returns
- Value Critical strain
Reimplemented from material::pd::BaseMaterial.
◆ getStrain()
Computes the strain vector for one node.
- Parameters
-
- Returns
- The strain tensor for node I
Reimplemented from material::pd::BaseMaterial.
◆ getStress()
Computes the stress tensor for one node.
- Parameters
-
- Returns
- The stress tensor for node i
Reimplemented from material::pd::BaseMaterial.
◆ K_modulus_tensor()
| util::Matrix33 material::pd::ElasticState::K_modulus_tensor |
( |
size_t |
i, |
|
|
size_t |
j, |
|
|
size_t |
k, |
|
|
size_t |
m |
|
) |
| |
|
private |
Computes the K modulus tensor.
- Parameters
-
| i | Node i |
| j | Neighbor j |
| k | Neighbor k |
| m | Index for the volume correction |
- Returns
- The K modulus tensor
◆ K_shape_tensor()
Computes the K shape tensor for node i.
- Parameters
-
- Returns
- The K shape tensor for node i
◆ X_vector_state()
| util::Point3 material::pd::ElasticState::X_vector_state |
( |
size_t |
i, |
|
|
size_t |
j |
|
) |
| |
|
private |
Computes the x vector state between node i and node j.
- Parameters
-
- Returns
- The x vector state
◆ Y_vector_state()
| util::Point3 material::pd::ElasticState::Y_vector_state |
( |
size_t |
i, |
|
|
size_t |
j |
|
) |
| |
|
private |
Computes the y vector state between node i and node j.
- Parameters
-
- Returns
- The y vector state
◆ d_dataManager_p
Pointer to the nodes.
Pointer to the weighted volumes of the nodes
Pointer to the volume correction of the nodes
Pointer to the volumes of the nodes
Pointer to the neighbors of the nodes
Referenced by ElasticState().
The documentation for this class was generated from the following files:
- /root/project/src/material/pd/ElasticState.h
- /root/project/src/material/pd/ElasticState.cpp