https://mooseframework.inl.gov
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 
12 #include "PeridynamicsKernelBase.h"
14 
18 class MechanicsBasePD : public DerivativeMaterialInterface<PeridynamicsKernelBase>
19 {
20 public:
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 
39  virtual void computePDNonlocalOffDiagJacobian(unsigned int /* jvar_num */,
40  unsigned int /* coupled_component */){};
41 
42  virtual void initialSetup() override;
43  virtual void prepare() override;
44 
45 protected:
47  std::vector<MooseVariable *> _disp_var;
48 
50  const bool _temp_coupled;
53 
55  unsigned int _ndisp;
56 
61 
63  const std::vector<RealGradient> * _orientation;
64 
66  std::vector<dof_id_type> _ivardofs;
67 
69  std::vector<Real> _weights;
70 
73 
76 };
const bool _temp_coupled
Temperature variable.
Base kernel class for peridynamic solid mechanics models.
static InputParameters validParams()
virtual void computeLocalOffDiagJacobian(unsigned int, unsigned int)
Function to compute local contribution to the off-diagonal Jacobian at the current nodes...
RealGradient _current_unit_vec
Unit vector of bond in current configuration.
MechanicsBasePD(const InputParameters &parameters)
const bool _out_of_plane_strain_coupled
Parameters for out-of-plane strain in weak plane stress formulation.
unsigned int _ndisp
number of displacement components
std::vector< Real > _weights
weights used for the current element to obtain the nodal stress
std::vector< MooseVariable * > _disp_var
displacement variables
RealGradient _current_vec
Vector of bond in current configuration.
virtual void initialSetup() override
virtual void computeOffDiagJacobian(unsigned int jvar) override
virtual void prepare() override
MooseVariable * _out_of_plane_strain_var
std::vector< dof_id_type > _ivardofs
Current variable dof numbers for nodes i and j.
const std::vector< RealGradient > * _orientation
Vector of bond in current configuration.
virtual void computePDNonlocalOffDiagJacobian(unsigned int, unsigned int)
Function to compute nonlocal contribution to the off-diagonal Jacobian at the current nodes...
MooseVariable * _temp_var