PeriDEM 0.2.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
|
A class providing methods to compute energy density and force of peridynamic material. More...
#include <material.h>
Public Member Functions | |
PmbMaterial (inp::MaterialDeck &deck, const size_t &dim, const double &horizon) | |
Constructor. | |
bool | isStateActive () const override |
Returns true if state-based potential is active. | |
std::pair< double, double > | getBondEF (const double &r, const double &s, bool &fs, const bool &break_bonds) const override |
Returns energy and force between bond due to pairwise interaction. | |
std::pair< double, double > | getBondEF (const double &r, const double &s, bool &fs, const double &mx, const double &thetax) const override |
Returns energy and force between bond due to state-based model. | |
util::Point | getBondForceDirection (const util::Point &dx, const util::Point &du) const override |
Returns the unit vector along which bond-force acts. | |
double | getS (const util::Point &dx, const util::Point &du) const override |
Returns the bond strain. | |
double | getSc (const double &r) const override |
Returns critical bond strain. | |
double | getDensity () const override |
Returns the density of the material. | |
double | getInfFn (const double &r) const override |
Returns the value of influence function. | |
double | getMoment (const size_t &i) const override |
Returns the moment of influence function. | |
double | getHorizon () const override |
Returns horizon. | |
inp::MatData | computeMaterialProperties (const size_t &dim) const override |
Computes elastic and fracture material properties and returns the data. | |
std::string | printStr (int nt, int lvl) const override |
Returns the string containing printable information about the object. | |
void | print (int nt, int lvl) const override |
Prints the information about the object. | |
void | print () const override |
Prints the information about the object. | |
Public Member Functions inherited from material::Material | |
Material (std::string name="") | |
Constructor. | |
virtual | ~Material () |
Destructor. | |
std::string | name () |
Returns name of the material. | |
size_t | getDimension () |
Returns dimension of the problem. | |
bool | isPlaneStrain () |
Returns plane-strain condition. | |
Private Member Functions | |
void | computeParameters (inp::MaterialDeck &deck, const size_t &dim) |
Compute material model parameters. | |
Private Attributes | |
double | d_horizon |
Horizon. | |
double | d_density |
Density. | |
Material parameters | |
double | d_c |
Parameter C. | |
double | d_s0 |
Parameter \( \beta \). | |
A class providing methods to compute energy density and force of peridynamic material.
Definition at line 665 of file material.h.
|
inline |
Constructor.
deck | Input deck which contains user-specified information |
dim | Dimension |
horizon | Horizon |
Definition at line 674 of file material.h.
References computeParameters(), inp::MaterialDeck::d_bondPotentialParams, d_c, inp::MaterialDeck::d_computeParamsFromElastic, inp::MaterialDeck::d_influenceFnParams, inp::MaterialDeck::d_influenceFnType, inp::MaterialDeck::d_isPlaneStrain, and d_s0.
|
inlineoverridevirtual |
Computes elastic and fracture material properties and returns the data.
dim | Dimension of the problem |
Implements material::Material.
Definition at line 846 of file material.h.
|
inlineprivate |
Compute material model parameters.
deck | MaterialDeck |
dim | Dimension of the domain |
Definition at line 919 of file material.h.
References d_c, inp::MatData::d_E, inp::MatData::d_G, inp::MatData::d_Gc, d_horizon, inp::MatData::d_K, inp::MatData::d_KIc, inp::MatData::d_lambda, inp::MaterialDeck::d_matData, inp::MatData::d_mu, inp::MatData::d_nu, d_s0, util::isGreater(), util::isLess(), inp::MatData::toE(), inp::MatData::toGc(), inp::MatData::toGE(), inp::MatData::toK(), inp::MatData::toKIc(), and inp::MatData::toLambdaE().
Referenced by PmbMaterial().
|
inlineoverridevirtual |
Returns energy and force between bond due to pairwise interaction.
r | Reference (initial) bond length |
s | Bond strain |
fs | Bond fracture state |
break_bonds | Flag to specify whether bonds are allowed to break or not |
Implements material::Material.
Definition at line 732 of file material.h.
References d_c, d_s0, getInfFn(), and util::isGreater().
Referenced by getBondEF().
|
inlineoverridevirtual |
Returns energy and force between bond due to state-based model.
r | Reference (initial) bond length |
s | Bond strain |
fs | Bond fracture state |
mx | Weighted volume at node |
thetax | Dilation |
Implements material::Material.
Definition at line 767 of file material.h.
References getBondEF().
|
inlineoverridevirtual |
Returns the unit vector along which bond-force acts.
dx | Reference bond vector |
du | Difference of displacement |
Implements material::Material.
Definition at line 780 of file material.h.
|
inlineoverridevirtual |
Returns the density of the material.
Implements material::Material.
Definition at line 807 of file material.h.
References d_density.
|
inlineoverridevirtual |
Returns horizon.
Implements material::Material.
Definition at line 837 of file material.h.
References d_horizon.
|
inlineoverridevirtual |
Returns the value of influence function.
r | Reference (initial) bond length |
Implements material::Material.
Definition at line 815 of file material.h.
References d_horizon.
Referenced by getBondEF().
|
inlineoverridevirtual |
Returns the moment of influence function.
If \( J(r) \) is the influence function for \( r\in [0,1)\) then \( i^{th}\) moment is given by
\[ M_i = \int_0^1 J(r) r^i dr. \]
i | ith moment |
Implements material::Material.
Definition at line 828 of file material.h.
|
inlineoverridevirtual |
Returns the bond strain.
dx | Reference bond vector |
du | Difference of displacement |
Implements material::Material.
Definition at line 791 of file material.h.
References util::Point::length().
|
inlineoverridevirtual |
Returns critical bond strain.
r | Reference length of bond |
Implements material::Material.
Definition at line 801 of file material.h.
References d_s0.
|
inlineoverridevirtual |
Returns true if state-based potential is active.
Implements material::Material.
Definition at line 721 of file material.h.
|
inlineoverridevirtual |
Prints the information about the object.
Reimplemented from material::Material.
Definition at line 910 of file material.h.
References print().
Referenced by print().
|
inlineoverridevirtual |
Prints the information about the object.
nt | Number of tabs to append before printing |
lvl | Information level (higher means more information) |
Reimplemented from material::Material.
Definition at line 905 of file material.h.
References printStr().
|
inlineoverridevirtual |
Returns the string containing printable information about the object.
nt | Number of tabs to append before printing |
lvl | Information level (higher means more information) |
Reimplemented from material::Material.
Definition at line 880 of file material.h.
References d_c, d_horizon, d_s0, and util::io::getTabS().
Referenced by print().
|
private |
Parameter C.
Definition at line 1013 of file material.h.
Referenced by computeMaterialProperties(), computeParameters(), getBondEF(), PmbMaterial(), and printStr().
|
private |
|
private |
Horizon.
Definition at line 1002 of file material.h.
Referenced by computeMaterialProperties(), computeParameters(), getHorizon(), getInfFn(), and printStr().
|
private |
Parameter \( \beta \).
Definition at line 1016 of file material.h.
Referenced by computeMaterialProperties(), computeParameters(), getBondEF(), getSc(), PmbMaterial(), and printStr().