18 params.
addClassDescription(
"Class for calculating the residual and Jacobian for the bond-based " 19 "peridynamic mechanics formulation");
23 "An integer corresponding to the variable this kernel acts on (0 for x, 1 for y, 2 for z)");
30 _bond_local_force(getMaterialProperty<
Real>(
"bond_local_force")),
31 _bond_local_dfdU(getMaterialProperty<
Real>(
"bond_dfdU")),
32 _bond_local_dfdT(getMaterialProperty<
Real>(
"bond_dfdT")),
33 _component(getParam<unsigned
int>(
"component"))
41 _local_re(1) = -_local_re(0);
52 for (
unsigned int i = 0; i < _nnodes; ++i)
53 for (
unsigned int j = 0;
j < _nnodes; ++
j)
54 _local_ke(i,
j) += (i ==
j ? 1 : -1) * diag * _bond_status;
62 for (
unsigned int i = 0; i < _nnodes; ++i)
63 for (
unsigned int j = 0;
j < _nnodes; ++
j)
73 for (
unsigned int i = 0; i < _nnodes; ++i)
74 for (
unsigned int j = 0;
j < _nnodes; ++
j)
75 _local_ke(i,
j) += (i ==
j ? 1 : -1) * val * _bond_status;
const bool _temp_coupled
Temperature variable.
const MaterialProperty< Real > & _bond_local_dfdT
Base kernel class for peridynamic solid mechanics models.
MechanicsBPD(const InputParameters ¶meters)
auto norm() const -> decltype(std::norm(Real()))
unsigned int number() const
virtual void computeLocalOffDiagJacobian(unsigned int jvar_num, unsigned int jvar) override
Function to compute local contribution to the off-diagonal Jacobian at the current nodes...
static InputParameters validParams()
const unsigned int _component
The index of displcement component.
RealGradient _current_unit_vec
Unit vector of bond in current configuration.
Kernel class for bond based peridynamic solid mechanics models.
const MaterialProperty< Real > & _bond_local_force
Bond based material properties.
virtual void computeLocalJacobian() override
virtual void computeLocalResidual() override
static InputParameters validParams()
RealGradient _current_vec
Vector of bond in current configuration.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MaterialProperty< Real > & _bond_local_dfdU
registerMooseObject("PeridynamicsApp", MechanicsBPD)
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
MooseVariable * _temp_var
void ErrorVector unsigned int