![]() |
NLMech
0.1.0
|
A Class implementing regularized nonlinear peridynamic model. More...
#include <rnpBond.h>


Public Member Functions | |
| 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 |
| Get direction of bond force. More... | |
| double | getInfFn (const double &r) const |
| Returns the value of influence function. More... | |
| double | getS (const util::Point3 &dx, const util::Point3 &du) |
| Returns the bond strain. More... | |
| double | getS (size_t i, size_t j) |
| Returns the bond strain. More... | |
| double | getSc (const double &r) |
| Returns critical bond strain. More... | |
| double | getSc (size_t i, size_t j) |
| Returns critical bond strain. More... | |
| RNPBond (inp::MaterialDeck *deck, data::DataManager *dataManager) | |
| Constructor. More... | |
Public Member Functions inherited from material::pd::BaseMaterial | |
| 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 util::Matrix33 | getStrain (size_t i) |
| Returns strain tensor. More... | |
| virtual util::Matrix33 | getStress (size_t i) |
| Returns stress tensor. 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... | |
| virtual void | update () |
| Let the material class in the quasi-static case know that there is a new loading step. | |
Private Member Functions | |
| void | computeMaterialProperties (inp::MaterialDeck *deck, const double &M) |
| Computes elastic and fracture properties from the rnp material parameters. More... | |
| void | computeParameters (inp::MaterialDeck *deck, const double &M) |
| Computes rnp material parameters from elastic constants. More... | |
Private Attributes | |
| material::pd::BaseInfluenceFn * | d_baseInfluenceFn_p |
| Base object for influence function. | |
| double | d_contact_Kn = 0. |
| Kn coefficient for normal contact force between broken bonds. | |
| double | d_contact_Rc = 0. |
| Contact radius for normal contact force between broken bonds. | |
| data::DataManager * | d_dataManager_p |
| Store pointer to datamanager. | |
| const inp::MaterialDeck * | d_deck |
| Pointer to the material deck. | |
| double | d_factorSc |
| Factor to multiply to critical strain to check if bond is fractured. More... | |
| double | d_invFactor |
Inverse of factor = . | |
| bool | d_irrevBondBreak |
| Flag which indicates if the breaking of bond is irreversible. | |
| double | d_rbar |
Inflection point of nonlinear function = . | |
Material parameters | |
| double | d_C |
| Parameter C. | |
| double | d_beta |
Parameter . | |
A Class implementing regularized nonlinear peridynamic model.
Provides method to compute energy and force using nonlinear bond-based model introduced and studied in Lipton 2016, Jha and Lipton 2018, and Lipton and Jha 2019.
is a ball (circle in 2-d) centered at
of radius
,
is the volume (area in 2-d) of ball,
is the linearized bond strain (assuming small deformation).
is given by
is positive, smooth, concave function with following properties
is the influence function.
is given by
are the peridynamic material parameter determined from the elastic and fracture properties of the material. | material::pd::RNPBond::RNPBond | ( | inp::MaterialDeck * | deck, |
| data::DataManager * | dataManager | ||
| ) |
Constructor.
| deck | Pointer to the input deck |
| DataManager | Pointer to the data manager object |

|
private |
Computes elastic and fracture properties from the rnp material parameters.
This function does opposite of pd::Material::RNPBond::computeParameters. From peridynamic material properties, it uses the relation between lame parameters and peridynamic parameters to compute the lame parameters, and from lame parameters it computes the elastic constants.
| deck | Input material deck |
| M | Moment of influence function |
Referenced by RNPBond().


|
private |
Computes rnp material parameters from elastic constants.
Either Young's modulus E or bulk modulus K, and either critical energy release rate Gc or critical stress intensity factor KIc are needed. Assuming Poisson's ratio
we compute lame parameters
where
for bond-based.
With lame parameters, we use following formula, see Equation (5.7) & (5 .8) of Lipton 2016
Where
are defined by
For potential function
, we have
. Thus, the values of
are given by
| deck | Input material deck |
| M | Moment of influence function |
Referenced by RNPBond().


|
virtual |
Returns energy and force state between node i and node j.
| i | Id of node i |
| j | node of j |
Reimplemented from material::pd::BaseMaterial.

|
virtual |
Get direction of bond force.
| dx | Relative bond vector (reference configuration) |
| du | Relative bond displacement vector |
Reimplemented from material::pd::BaseMaterial.

|
virtual |
Returns the value of influence function.
| r | Reference (initial) bond length |
Reimplemented from material::pd::BaseMaterial.
|
virtual |
Returns the bond strain.
| dx | Reference bond vector |
| du | Difference of displacement |
Reimplemented from material::pd::BaseMaterial.

|
virtual |
Returns the bond strain.
| i | Id of node 1 |
| j | Id of node 2 |
Reimplemented from material::pd::BaseMaterial.
|
virtual |
Returns critical bond strain.
| r | Reference length of bond |
Reimplemented from material::pd::BaseMaterial.
|
virtual |
Returns critical bond strain.
| i | Id of node 1 |
| j | Id of node 2 |
Reimplemented from material::pd::BaseMaterial.
|
private |
Factor to multiply to critical strain to check if bond is fractured.
For nonlinear model, we consider bond is broken when it exceeds 10 times of critical strain. Typical value of factor is 10.
Referenced by RNPBond().