https://mooseframework.inl.gov
ComputeStrainBaseNOSPD.h
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 
10 #pragma once
11 
14 #include "RankTwoTensor.h"
15 
19 class ComputeStrainBaseNOSPD : public DerivativeMaterialInterface<MechanicsMaterialBasePD>
20 {
21 public:
23 
24  ComputeStrainBaseNOSPD(const InputParameters & parameters);
25  virtual void initQpStatefulProperties() override;
26 
27 protected:
28  virtual void computeProperties() override;
29  virtual void computeBondStretch() override;
30 
34  virtual void computeQpDeformationGradient();
35 
40 
45 
49  virtual void computeQpStrain() = 0;
50 
54 
56  const bool _plane_strain;
57 
60  std::vector<MaterialPropertyName> _eigenstrain_names;
61  std::vector<const MaterialProperty<RankTwoTensor> *> _eigenstrains;
63 
67 
71 
74 
76 
80 };
virtual void computeBondStretch() override
virtual void computeQpDeformationGradient()
Function to compute deformation gradient for peridynamic correspondence model.
MaterialProperty< RankTwoTensor > & _shape2
Material properties to store.
MaterialProperty< RankTwoTensor > & _deformation_gradient
virtual void initQpStatefulProperties() override
const MooseEnum _stabilization
Option of stabilization scheme for correspondence material model: FORCE, BOND_HORIZON_I or BOND_HORIZ...
MaterialProperty< RankTwoTensor > & _ddgraddv
MaterialProperty< RankTwoTensor > & _ddgraddw
static InputParameters validParams()
const bool _plane_strain
Plane strain problem or not, this is only used for mechanical stretch calculation.
Base material class for correspondence material model.
virtual void computeQpStrain()=0
Function to compute strain tensors.
ComputeStrainBaseNOSPD(const InputParameters &parameters)
virtual void computeBondHorizonQpDeformationGradient()
Function to compute bond-associated horizon based deformation gradient.
std::vector< const MaterialProperty< RankTwoTensor > * > _eigenstrains
virtual void computeProperties() override
MaterialProperty< Real > & _sf_coeff
fictitious force coefficient for force stabilized model
virtual void computeConventionalQpDeformationGradient()
Function to compute conventional nonlocal deformation gradient.
std::vector< MaterialPropertyName > _eigenstrain_names
MaterialProperty< Real > & _multi
MaterialProperty< RankTwoTensor > & _total_strain
const MaterialProperty< RankFourTensor > & _Cijkl
Material properties to fetch.
MaterialProperty< RankTwoTensor > & _ddgraddu
MaterialProperty< RankTwoTensor > & _mechanical_strain