www.mooseframework.org
ComputeStrainBaseNOSPD.h
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 
10 #pragma once
11 
12 #include "DerivativeMaterialInterface.h"
14 #include "RankTwoTensor.h"
15 
17 
18 template <>
19 InputParameters validParams<ComputeStrainBaseNOSPD>();
20 
24 class ComputeStrainBaseNOSPD : public DerivativeMaterialInterface<MechanicsMaterialBasePD>
25 {
26 public:
27  ComputeStrainBaseNOSPD(const InputParameters & parameters);
28  virtual void initQpStatefulProperties() override;
29 
30 protected:
31  virtual void computeProperties() override;
32  virtual void computeBondStretch() override;
33 
37  virtual void computeQpDeformationGradient();
38 
42  virtual void computeQpStrain() = 0;
43 
45  const bool _plane_strain;
46 
48  const MaterialProperty<RankFourTensor> & _Cijkl;
49  std::vector<MaterialPropertyName> _eigenstrain_names;
50  std::vector<const MaterialProperty<RankTwoTensor> *> _eigenstrains;
52 
54  MaterialProperty<RankTwoTensor> & _shape2;
55  MaterialProperty<RankTwoTensor> & _deformation_gradient;
56 
57  MaterialProperty<RankTwoTensor> & _ddgraddu;
58  MaterialProperty<RankTwoTensor> & _ddgraddv;
59  MaterialProperty<RankTwoTensor> & _ddgraddw;
60 
61  MaterialProperty<RankTwoTensor> & _total_strain;
62  MaterialProperty<RankTwoTensor> & _mechanical_strain;
63 
64  MaterialProperty<Real> & _multi;
66 };
ComputeStrainBaseNOSPD::_mechanical_strain
MaterialProperty< RankTwoTensor > & _mechanical_strain
Definition: ComputeStrainBaseNOSPD.h:62
ComputeStrainBaseNOSPD::_ddgraddv
MaterialProperty< RankTwoTensor > & _ddgraddv
Definition: ComputeStrainBaseNOSPD.h:58
ComputeStrainBaseNOSPD::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: ComputeStrainBaseNOSPD.C:57
ComputeStrainBaseNOSPD::_shape2
MaterialProperty< RankTwoTensor > & _shape2
Material properties to store.
Definition: ComputeStrainBaseNOSPD.h:54
ComputeStrainBaseNOSPD::_plane_strain
const bool _plane_strain
Plane strain problem or not, this is only used for mechanical stretch calculation.
Definition: ComputeStrainBaseNOSPD.h:45
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::_Cijkl
const MaterialProperty< RankFourTensor > & _Cijkl
Material properties to fetch.
Definition: ComputeStrainBaseNOSPD.h:48
ComputeStrainBaseNOSPD::computeQpDeformationGradient
virtual void computeQpDeformationGradient()
Function to compute bond-associated deformation gradient.
Definition: ComputeStrainBaseNOSPD.C:71
ComputeStrainBaseNOSPD::_eigenstrain_names
std::vector< MaterialPropertyName > _eigenstrain_names
Definition: ComputeStrainBaseNOSPD.h:49
ComputeStrainBaseNOSPD::_multi
MaterialProperty< Real > & _multi
Definition: ComputeStrainBaseNOSPD.h:64
ComputeStrainBaseNOSPD::ComputeStrainBaseNOSPD
ComputeStrainBaseNOSPD(const InputParameters &parameters)
Definition: ComputeStrainBaseNOSPD.C:34
ComputeStrainBaseNOSPD::_ddgraddw
MaterialProperty< RankTwoTensor > & _ddgraddw
Definition: ComputeStrainBaseNOSPD.h:59
ComputeStrainBaseNOSPD::_eigenstrains
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
Definition: ComputeStrainBaseNOSPD.h:50
ComputeStrainBaseNOSPD::computeProperties
virtual void computeProperties() override
Definition: ComputeStrainBaseNOSPD.C:145
ComputeStrainBaseNOSPD::computeQpStrain
virtual void computeQpStrain()=0
Function to compute strain tensors.
ComputeStrainBaseNOSPD::computeBondStretch
virtual void computeBondStretch() override
Definition: ComputeStrainBaseNOSPD.C:156
ComputeStrainBaseNOSPD::_ddgraddu
MaterialProperty< RankTwoTensor > & _ddgraddu
Definition: ComputeStrainBaseNOSPD.h:57
ComputeStrainBaseNOSPD::_total_strain
MaterialProperty< RankTwoTensor > & _total_strain
Definition: ComputeStrainBaseNOSPD.h:61
MechanicsMaterialBasePD.h