![]() |
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().