13 #include "libmesh/quadrature.h" 19 params.
addClassDescription(
"Base class for peridynamic models based on derived micro moduli");
21 params.
addParam<
bool>(
"plane_stress",
false,
"Plane stress problem or not");
23 "Scalar variable for strain in the out-of-plane direction");
24 params.
addParam<
Real>(
"stress_free_temperature",
"Stress free temperature");
26 "Value of material thermal expansion coefficient");
33 _plane_stress(getParam<bool>(
"plane_stress")),
34 _scalar_out_of_plane_strain_coupled(isCoupledScalar(
"scalar_out_of_plane_strain")),
35 _scalar_out_of_plane_strain(_scalar_out_of_plane_strain_coupled
36 ? coupledScalarValue(
"scalar_out_of_plane_strain")
39 _temp_ref(_has_temp ? getParam<
Real>(
"stress_free_temperature") : 0.0),
40 _tec(_has_temp ? getParam<
Real>(
"thermal_expansion_coeff") : 0.0),
41 _bond_local_force(declareProperty<
Real>(
"bond_local_force")),
42 _bond_local_dfdU(declareProperty<
Real>(
"bond_dfdU")),
43 _bond_local_dfdT(declareProperty<
Real>(
"bond_dfdT")),
44 _bond_local_dfdE(declareProperty<
Real>(
"bond_local_dfdE")),
45 _thermal_expansion_coeff(declareProperty<
Real>(
"thermal_expansion_coeff")),
49 mooseError(
"scalar strain can ONLY be specified for 2D analysis!");
52 mooseError(
"Scalar strain can ONLY be specified for generalized plane strain case!");
MooseVariable * _temp_var
void computeMaterialConstants()
Function to compute material constants from elasticity tensor.
static InputParameters validParams()
auto norm() const -> decltype(std::norm(Real()))
const bool _has_temp
Temperature variables.
const Real _temp_ref
Reference temperature.
const bool _plane_stress
Plane stress problem or not.
const MaterialProperty< RankFourTensor > & _Cijkl
Material properties to fetch.
std::vector< Real > _temp
Temperature variable.
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.
virtual void computeProperties() override
Real _tec
Thermal expension coefficient.
Real _current_len
Length of current bond.
OutputData getNodalValue(const Node &node) const
void setupMeshRelatedData()
Function to setup mesh related data to be used in this class.
MaterialProperty< Real > & _thermal_expansion_coeff
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
static InputParameters validParams()
virtual void computeBondForce()=0
Function to compute force of a bond.
const unsigned int _nnodes
void computeBondCurrentLength()
Function to compute the current bond length.
Base material class for peridynamic solid mechanics models.
MaterialProperty< Real > & _mechanical_stretch
ParametricMaterialBasePD(const InputParameters ¶meters)
virtual void computePeridynamicsParams()=0
Function to compute the micro-moduli for bond-based and ordinary state-based models.
virtual void computeBondStretch() override
Function to compute current bond stretch: one dimensional strain.
const Elem *const & _current_elem