https://mooseframework.inl.gov
ComputePlaneSmallStrainNOSPD.C
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 
11 
13 
16 {
18  params.addClassDescription(
19  "Class for computing nodal quantities for residual and jacobian calculation "
20  "for peridynamic correspondence models under planar small strain assumptions");
21 
22  params.addCoupledVar("scalar_out_of_plane_strain",
23  "Scalar out-of-plane strain variable for generalized plane strain");
24  params.addCoupledVar("out_of_plane_strain",
25  "Nonlinear out-of-plane strain variable for plane stress condition");
26 
27  return params;
28 }
29 
31  : ComputeSmallStrainNOSPD(parameters),
32  _scalar_out_of_plane_strain_coupled(isCoupledScalar("scalar_out_of_plane_strain")),
33  _scalar_out_of_plane_strain(_scalar_out_of_plane_strain_coupled
34  ? coupledScalarValue("scalar_out_of_plane_strain")
35  : _zero),
36  _out_of_plane_strain_coupled(isCoupled("out_of_plane_strain")),
37  _out_of_plane_strain(_out_of_plane_strain_coupled ? coupledValue("out_of_plane_strain") : _zero)
38 {
39 }
40 
41 void
43 {
44  // the green-lagrange strain tensor
45  _total_strain[_qp] = 0.5 * (_deformation_gradient[_qp].transpose() + _deformation_gradient[_qp]) -
48 }
49 
50 Real
52 {
55  else
56  return _out_of_plane_strain[_qp];
57 }
virtual void computeQpTotalStrain() override
Function to compute the total strain tensor for small strain case.
MaterialProperty< RankTwoTensor > & _deformation_gradient
const VariableValue & _scalar_out_of_plane_strain
static InputParameters validParams()
const bool _scalar_out_of_plane_strain_coupled
Scalar out-of-plane strain for generalized plane strain.
ComputePlaneSmallStrainNOSPD(const InputParameters &parameters)
Material class for 2D correspondence material model for small strain: plane strain, generalized plane strain, weak plane stress.
Material class for horizon-stabilized peridynamic correspondence model for small strain.
void addCoupledVar(const std::string &name, const std::string &doc_string)
Real computeOutOfPlaneStrain()
Function to compute out-of-plane component of strain tensor for generalized plane strain and weak pla...
registerMooseObject("PeridynamicsApp", ComputePlaneSmallStrainNOSPD)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addClassDescription(const std::string &doc_string)
MaterialProperty< RankTwoTensor > & _total_strain