https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MechanicsBasePD.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
14
18class MechanicsBasePD : public DerivativeMaterialInterface<PeridynamicsKernelBase>
19{
20public:
22
23 MechanicsBasePD(const InputParameters & parameters);
24
25 virtual void computeOffDiagJacobian(unsigned int jvar) override;
26
31 virtual void computeLocalOffDiagJacobian(unsigned int /* jvar_num */,
32 unsigned int /* coupled_component */)
33 {
34 }
35
41 virtual void computePDNonlocalOffDiagJacobian(unsigned int /* jvar_num */,
42 unsigned int /* coupled_component */)
43 {
44 }
45
46 virtual void initialSetup() override;
47 virtual void prepare() override;
48
49protected:
51 std::vector<MooseVariable *> _disp_var;
52
54 const bool _temp_coupled;
57
59 unsigned int _ndisp;
60
65
67 const std::vector<RealGradient> * _orientation;
68
70 std::vector<dof_id_type> _ivardofs;
71
73 std::vector<Real> _weights;
74
76 RealGradient _current_vec;
77
79 RealGradient _current_unit_vec;
80};
Base kernel class for peridynamic solid mechanics models.
unsigned int _ndisp
number of displacement components
static InputParameters validParams()
const bool _out_of_plane_strain_coupled
Parameters for out-of-plane strain in weak plane stress formulation.
virtual void prepare() override
virtual void computeOffDiagJacobian(unsigned int jvar) override
MooseVariable * _temp_var
virtual void computePDNonlocalOffDiagJacobian(unsigned int, unsigned int)
Function to compute nonlocal contribution to the off-diagonal Jacobian at the current nodes.
const std::vector< RealGradient > * _orientation
Vector of bond in current configuration.
RealGradient _current_unit_vec
Unit vector of bond in current configuration.
MooseVariable * _out_of_plane_strain_var
virtual void initialSetup() override
RealGradient _current_vec
Vector of bond in current configuration.
virtual void computeLocalOffDiagJacobian(unsigned int, unsigned int)
Function to compute local contribution to the off-diagonal Jacobian at the current nodes.
std::vector< dof_id_type > _ivardofs
Current variable dof numbers for nodes i and j.
std::vector< Real > _weights
weights used for the current element to obtain the nodal stress
const bool _temp_coupled
Temperature variable.
std::vector< MooseVariable * > _disp_var
displacement variables