www.mooseframework.org
ComputeSmallStrainNOSPD.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<ComputeStrainBaseNOSPD>();
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 small strain assumptions");
23 
24  return params;
25 }
26 
27 ComputeSmallStrainNOSPD::ComputeSmallStrainNOSPD(const InputParameters & parameters)
28  : ComputeStrainBaseNOSPD(parameters)
29 {
30 }
31 
32 void
34 {
36 
38 
40 
41  // Subtract Eigen strains
42  for (auto es : _eigenstrains)
43  _mechanical_strain[_qp] -= (*es)[_qp];
44 }
45 
46 void
48 {
49  // the small strain tensor
50  _total_strain[_qp] = 0.5 * (_deformation_gradient[_qp].transpose() + _deformation_gradient[_qp]) -
51  RankTwoTensor(RankTwoTensor::initIdentity);
52 }
validParams< ComputeSmallStrainNOSPD >
InputParameters validParams< ComputeSmallStrainNOSPD >()
Definition: ComputeSmallStrainNOSPD.C:16
ComputeStrainBaseNOSPD::_mechanical_strain
MaterialProperty< RankTwoTensor > & _mechanical_strain
Definition: ComputeStrainBaseNOSPD.h:62
ComputeSmallStrainNOSPD::computeQpStrain
virtual void computeQpStrain() override
Function to compute strain tensors.
Definition: ComputeSmallStrainNOSPD.C:33
ComputeSmallStrainNOSPD
Material class for bond-associated correspondence material model for small strain.
Definition: ComputeSmallStrainNOSPD.h:23
ComputeSmallStrainNOSPD.h
ComputeStrainBaseNOSPD
Base material class for correspondence material model.
Definition: ComputeStrainBaseNOSPD.h:24
validParams< ComputeStrainBaseNOSPD >
InputParameters validParams< ComputeStrainBaseNOSPD >()
Definition: ComputeStrainBaseNOSPD.C:17
ComputeStrainBaseNOSPD::_deformation_gradient
MaterialProperty< RankTwoTensor > & _deformation_gradient
Definition: ComputeStrainBaseNOSPD.h:55
ComputeStrainBaseNOSPD::computeQpDeformationGradient
virtual void computeQpDeformationGradient()
Function to compute bond-associated deformation gradient.
Definition: ComputeStrainBaseNOSPD.C:71
ComputeStrainBaseNOSPD::_eigenstrains
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
Definition: ComputeStrainBaseNOSPD.h:50
ComputeSmallStrainNOSPD::computeQpTotalStrain
virtual void computeQpTotalStrain()
Function to compute the total strain tensor for small strain case.
Definition: ComputeSmallStrainNOSPD.C:47
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: ACGrGrElasticDrivingForce.h:17
ComputeStrainBaseNOSPD::_total_strain
MaterialProperty< RankTwoTensor > & _total_strain
Definition: ComputeStrainBaseNOSPD.h:61
registerMooseObject
registerMooseObject("PeridynamicsApp", ComputeSmallStrainNOSPD)
ComputeSmallStrainNOSPD::ComputeSmallStrainNOSPD
ComputeSmallStrainNOSPD(const InputParameters &parameters)
Definition: ComputeSmallStrainNOSPD.C:27