www.mooseframework.org
MechanicsBasePD.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
12 #include "PeridynamicsKernelBase.h"
13 #include "DerivativeMaterialInterface.h"
14 
15 class MechanicsBasePD;
16 
17 template <>
18 InputParameters validParams<MechanicsBasePD>();
19 
23 class MechanicsBasePD : public DerivativeMaterialInterface<PeridynamicsKernelBase>
24 {
25 public:
26  MechanicsBasePD(const InputParameters & parameters);
27 
28  virtual void computeOffDiagJacobian(MooseVariableFEBase & jvar) override;
29  using Kernel::computeOffDiagJacobian;
30 
35  virtual void computeLocalOffDiagJacobian(unsigned int /* coupled_component */){};
36 
42  virtual void computePDNonlocalOffDiagJacobian(unsigned int /* jvar_num */,
43  unsigned int /* coupled_component */){};
44 
45  virtual void initialSetup() override;
46  virtual void prepare() override;
47 
48 protected:
50  std::vector<MooseVariable *> _disp_var;
51 
53  const bool _temp_coupled;
54  MooseVariable * _temp_var;
56 
58  unsigned int _ndisp;
59 
62  MooseVariable * _out_of_plane_strain_var;
64 
66  const std::vector<RealGradient> * _orientation;
67 
69  std::vector<dof_id_type> _ivardofs_ij;
70 
73 
76 };
MechanicsBasePD::MechanicsBasePD
MechanicsBasePD(const InputParameters &parameters)
Definition: MechanicsBasePD.C:29
MechanicsBasePD::_cur_ori_ij
RealGradient _cur_ori_ij
Vector of bond in current configuration.
Definition: MechanicsBasePD.h:72
MechanicsBasePD::_temp_var
MooseVariable * _temp_var
Definition: MechanicsBasePD.h:54
MechanicsBasePD::_temp_coupled
const bool _temp_coupled
Temperature variable.
Definition: MechanicsBasePD.h:53
libMesh::RealGradient
VectorValue< Real > RealGradient
Definition: GrainForceAndTorqueInterface.h:17
MechanicsBasePD::computeOffDiagJacobian
virtual void computeOffDiagJacobian(MooseVariableFEBase &jvar) override
Definition: MechanicsBasePD.C:71
MechanicsBasePD::_ndisp
unsigned int _ndisp
number of displacement components
Definition: MechanicsBasePD.h:58
MechanicsBasePD::_orientation
const std::vector< RealGradient > * _orientation
Vector of bond in current configuration.
Definition: MechanicsBasePD.h:66
MechanicsBasePD::computeLocalOffDiagJacobian
virtual void computeLocalOffDiagJacobian(unsigned int)
Function to compute local contribution to the off-diagonal Jacobian at the current nodes.
Definition: MechanicsBasePD.h:35
MechanicsBasePD::_out_of_plane_strain_var
MooseVariable * _out_of_plane_strain_var
Definition: MechanicsBasePD.h:62
MechanicsBasePD::_out_of_plane_strain_coupled
const bool _out_of_plane_strain_coupled
Parameters for out-of-plane strain in weak plane stress formulation.
Definition: MechanicsBasePD.h:61
MechanicsBasePD::_ivardofs_ij
std::vector< dof_id_type > _ivardofs_ij
Current variable dof numbers for nodes i and j.
Definition: MechanicsBasePD.h:69
PeridynamicsKernelBase.h
validParams< MechanicsBasePD >
InputParameters validParams< MechanicsBasePD >()
Definition: MechanicsBasePD.C:15
MechanicsBasePD::computePDNonlocalOffDiagJacobian
virtual void computePDNonlocalOffDiagJacobian(unsigned int, unsigned int)
Function to compute nonlocal contribution to the off-diagonal Jacobian at the current nodes.
Definition: MechanicsBasePD.h:42
MechanicsBasePD::prepare
virtual void prepare() override
Definition: MechanicsBasePD.C:53
MechanicsBasePD
Base kernel class for peridynamic solid mechanics models.
Definition: MechanicsBasePD.h:23
MechanicsBasePD::initialSetup
virtual void initialSetup() override
Definition: MechanicsBasePD.C:47
MechanicsBasePD::_cur_len_ij
Real _cur_len_ij
Current bond length.
Definition: MechanicsBasePD.h:75
MechanicsBasePD::_disp_var
std::vector< MooseVariable * > _disp_var
displacement variables
Definition: MechanicsBasePD.h:50