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