https://mooseframework.inl.gov
ComputeSmallStrainNOSPD.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 the residual and Jacobian calculation "
20  "for the peridynamic correspondence models under small strain assumptions");
21 
22  return params;
23 }
24 
26  : ComputeStrainBaseNOSPD(parameters)
27 {
28 }
29 
30 void
32 {
34 
36 
38 
39  // Subtract Eigen strains
40  for (auto es : _eigenstrains)
41  _mechanical_strain[_qp] -= (*es)[_qp];
42 
43  // zero out all strain measures for broken bond
44  if (_bond_status_var->getElementalValue(_current_elem) < 0.5)
45  {
46  _mechanical_strain[_qp].zero();
47  _total_strain[_qp].zero();
48  }
49 }
50 
51 void
53 {
54  // the small strain tensor
55  _total_strain[_qp] = 0.5 * (_deformation_gradient[_qp].transpose() + _deformation_gradient[_qp]) -
57 }
virtual void computeQpDeformationGradient()
Function to compute deformation gradient for peridynamic correspondence model.
MaterialProperty< RankTwoTensor > & _deformation_gradient
registerMooseObject("PeridynamicsApp", ComputeSmallStrainNOSPD)
static InputParameters validParams()
static InputParameters validParams()
Base material class for correspondence material model.
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
Material class for horizon-stabilized peridynamic correspondence model for small strain.
virtual void computeQpStrain() override
Function to compute strain tensors.
ComputeSmallStrainNOSPD(const InputParameters &parameters)
virtual void computeQpTotalStrain()
Function to compute the total strain tensor for small strain case.
void addClassDescription(const std::string &doc_string)
MaterialProperty< RankTwoTensor > & _total_strain
MaterialProperty< RankTwoTensor > & _mechanical_strain