https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ComputeFiniteStrain.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
19{
20public:
22
23 ComputeFiniteStrain(const InputParameters & parameters);
24
25 void computeProperties() override;
26
27 CreateMooseEnumClass(DecompMethod, TaylorExpansion, EigenSolution, HughesWinget);
29
30protected:
31 virtual void computeQpStrain();
32 virtual void computeQpIncrements(RankTwoTensor & e, RankTwoTensor & r);
33
35 std::vector<RankTwoTensor> _Fhat;
36
38 const DecompMethod _decomposition_method;
39
41 const bool _use_hw;
42
46};
ComputeFiniteStrain defines a strain increment and rotation increment, for finite strains.
static InputParameters validParams()
CreateMooseEnumClass(DecompMethod, TaylorExpansion, EigenSolution, HughesWinget)
const bool _use_hw
Flag if using HughesWinget method.
static MooseEnum decompositionType()
MaterialProperty< RankTwoTensor > * _f_bar
const DecompMethod _decomposition_method
Method for determining rotation and strain increments.
virtual void computeQpStrain()
MaterialProperty< RankTwoTensor > * _def_grad_mid
For HughesWinget kinematics.
void computeProperties() override
std::vector< RankTwoTensor > _Fhat
Incremental deformation gradient.
virtual void computeQpIncrements(RankTwoTensor &e, RankTwoTensor &r)
ComputeIncrementalStrainBase is the base class for strain tensors using incremental formulations.