Go to the documentation of this file.
13 #include "libmesh/quadrature.h"
20 params.addClassDescription(
"Base class for peridynamic models based on derived micro moduli");
22 params.addParam<
bool>(
"plane_stress",
false,
"Plane stress problem or not");
23 params.addCoupledVar(
"scalar_out_of_plane_strain",
24 "Scalar variable for strain in the out-of-plane direction");
25 params.addParam<Real>(
"stress_free_temperature",
"Stress free temperature");
26 params.addParam<Real>(
"thermal_expansion_coeff",
27 "Value of material thermal expansion coefficient");
34 _plane_stress(getParam<bool>(
"plane_stress")),
35 _scalar_out_of_plane_strain_coupled(isCoupledScalar(
"scalar_out_of_plane_strain")),
36 _scalar_out_of_plane_strain(_scalar_out_of_plane_strain_coupled
37 ? coupledScalarValue(
"scalar_out_of_plane_strain")
40 _temp_ref(_has_temp ? getParam<Real>(
"stress_free_temperature") : 0.0),
41 _tec(_has_temp ? getParam<Real>(
"thermal_expansion_coeff") : 0.0),
42 _bond_force_ij(declareProperty<Real>(
"bond_force_ij")),
43 _bond_dfdU_ij(declareProperty<Real>(
"bond_dfdU_ij")),
44 _bond_dfdT_ij(declareProperty<Real>(
"bond_dfdT_ij")),
45 _bond_dfdE_ij(declareProperty<Real>(
"bond_dfdE_ij")),
46 _thermal_expansion_coeff(declareProperty<Real>(
"thermal_expansion_coeff")),
50 mooseError(
"scalar strain can ONLY be specified for 2D analysis!");
53 mooseError(
"Scalar strain can ONLY be specified for generalized plane strain case!");
68 for (_qp = 0; _qp <
_nnodes; ++_qp)
const unsigned int _nnodes
virtual void computePeridynamicsParams()=0
Function to compute the micro-moduli for bond-based and ordinary state-based models.
ParametricMaterialBasePD(const InputParameters ¶meters)
MaterialProperty< Real > & _mechanical_stretch
Real _tec
Thermal expension coefficient.
void setupMeshRelatedData()
Function to setup mesh related data to be used in this class.
MooseVariable * _temp_var
const Real _temp_ref
Reference temperature.
const bool _plane_stress
Plane stress problem or not.
const MaterialProperty< RankFourTensor > & _Cijkl
Material properties to fetch.
const bool _scalar_out_of_plane_strain_coupled
Scalar out-of-plane component of strain tensor for generalized plane strain.
MaterialProperty< Real > & _total_stretch
Material properties to store.
Real _current_length
Length of current bond.
virtual void computeProperties() override
void computeBondCurrentLength()
Function to compute the current bond length.
virtual void computeBondStretch() override
Function to compute current bond stretch: one dimensional strain.
InputParameters validParams< MechanicsMaterialBasePD >()
const bool _has_temp
Temperature variables.
void computeMaterialConstants()
Function to compute material constants from elasticity tensor.
MaterialProperty< Real > & _thermal_expansion_coeff
InputParameters validParams< ParametricMaterialBasePD >()
std::vector< Real > _temp
Temperature variable.
Base material class for peridynamic solid mechanics models.
virtual void computeBondForce()=0
Function to compute force of a bond.