www.mooseframework.org
ComputePlaneSmallStrainNOSPD.C
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 
11 
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<ComputeSmallStrainNOSPD>();
19  params.addClassDescription(
20  "Class for computing nodal quantities for residual and jacobian calculation "
21  "for Self-stabilized Non-Ordinary State-based PeriDynamic (SNOSPD) "
22  "correspondence model under planar small strain assumptions");
23 
24  params.addCoupledVar("scalar_out_of_plane_strain",
25  "Scalar out-of-plane strain variable for generalized plane strain");
26  params.addCoupledVar("out_of_plane_strain",
27  "Nonlinear out-of-plane strain variable for plane stress condition");
28 
29  return params;
30 }
31 
33  : ComputeSmallStrainNOSPD(parameters),
34  _scalar_out_of_plane_strain_coupled(isCoupledScalar("scalar_out_of_plane_strain")),
35  _scalar_out_of_plane_strain(_scalar_out_of_plane_strain_coupled
36  ? coupledScalarValue("scalar_out_of_plane_strain")
37  : _zero),
38  _out_of_plane_strain_coupled(isCoupled("out_of_plane_strain")),
39  _out_of_plane_strain(_out_of_plane_strain_coupled ? coupledValue("out_of_plane_strain") : _zero)
40 {
41 }
42 
43 void
45 {
46  // the green-lagrange strain tensor
47  _total_strain[_qp] = 0.5 * (_deformation_gradient[_qp].transpose() + _deformation_gradient[_qp]) -
48  RankTwoTensor(RankTwoTensor::initIdentity);
50 }
51 
52 Real
54 {
57  else
58  return _out_of_plane_strain[_qp];
59 }
validParams< ComputeSmallStrainNOSPD >
InputParameters validParams< ComputeSmallStrainNOSPD >()
Definition: ComputeSmallStrainNOSPD.C:16
ComputePlaneSmallStrainNOSPD::_scalar_out_of_plane_strain_coupled
const bool _scalar_out_of_plane_strain_coupled
Scalar out-of-plane strain for generalized plane strain.
Definition: ComputePlaneSmallStrainNOSPD.h:41
ComputeSmallStrainNOSPD
Material class for bond-associated correspondence material model for small strain.
Definition: ComputeSmallStrainNOSPD.h:23
ComputePlaneSmallStrainNOSPD::ComputePlaneSmallStrainNOSPD
ComputePlaneSmallStrainNOSPD(const InputParameters &parameters)
Definition: ComputePlaneSmallStrainNOSPD.C:32
ComputeStrainBaseNOSPD::_deformation_gradient
MaterialProperty< RankTwoTensor > & _deformation_gradient
Definition: ComputeStrainBaseNOSPD.h:55
ComputePlaneSmallStrainNOSPD
Material class for 2D correspondence material model for small strain: plane strain,...
Definition: ComputePlaneSmallStrainNOSPD.h:24
ComputePlaneSmallStrainNOSPD::_out_of_plane_strain
const VariableValue & _out_of_plane_strain
Definition: ComputePlaneSmallStrainNOSPD.h:47
ComputePlaneSmallStrainNOSPD::computeOutOfPlaneStrain
Real computeOutOfPlaneStrain()
Function to compute out-of-plane component of strain tensor for generalized plane strain and weak pla...
Definition: ComputePlaneSmallStrainNOSPD.C:53
validParams< ComputePlaneSmallStrainNOSPD >
InputParameters validParams< ComputePlaneSmallStrainNOSPD >()
Definition: ComputePlaneSmallStrainNOSPD.C:16
registerMooseObject
registerMooseObject("PeridynamicsApp", ComputePlaneSmallStrainNOSPD)
ComputePlaneSmallStrainNOSPD::_scalar_out_of_plane_strain
const VariableValue & _scalar_out_of_plane_strain
Definition: ComputePlaneSmallStrainNOSPD.h:42
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: ACGrGrElasticDrivingForce.h:17
ComputePlaneSmallStrainNOSPD::computeQpTotalStrain
virtual void computeQpTotalStrain() override
Function to compute the total strain tensor for small strain case.
Definition: ComputePlaneSmallStrainNOSPD.C:44
ComputeStrainBaseNOSPD::_total_strain
MaterialProperty< RankTwoTensor > & _total_strain
Definition: ComputeStrainBaseNOSPD.h:61
ComputePlaneSmallStrainNOSPD.h