https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
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
29
30void
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
51void
registerMooseObject("PeridynamicsApp", ComputeSmallStrainNOSPD)
Material class for horizon-stabilized peridynamic correspondence model for small strain.
ComputeSmallStrainNOSPD(const InputParameters &parameters)
virtual void computeQpTotalStrain()
Function to compute the total strain tensor for small strain case.
static InputParameters validParams()
virtual void computeQpStrain() override
Function to compute strain tensors.
Base material class for correspondence material model.
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
MaterialProperty< RankTwoTensor > & _total_strain
static InputParameters validParams()
virtual void computeQpDeformationGradient()
Function to compute deformation gradient for peridynamic correspondence model.
MaterialProperty< RankTwoTensor > & _mechanical_strain
MaterialProperty< RankTwoTensor > & _deformation_gradient
void addClassDescription(const std::string &doc_string)