https://mooseframework.inl.gov
RankTwoInvariant.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 
12 #include "Material.h"
13 #include "RankTwoTensor.h"
14 #include "RankTwoScalarTools.h"
15 
17 template <bool is_ad>
19 {
20 public:
22 
24 
25 protected:
26  virtual void initQpStatefulProperties() override;
27  virtual void computeQpProperties() override;
28 
31 
33  const bool _stateful;
34 
37 
40 
43 
46 };
47 
GenericMaterialProperty< Real, is_ad > & _property
Stress/strain value returned from calculation.
RankTwoInvariantTempl< false > RankTwoInvariant
static InputParameters validParams()
virtual void initQpStatefulProperties() override
const MaterialProperty< RankTwoTensor > * _tensor_old
Old state of the tensor (required for effective strain calculation)
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
RankTwoInvariantTempl(const InputParameters &parameters)
const bool _stateful
Are stateful properties required?
RankTwoScalarTools::InvariantType _invariant
Property to compute from the given tensor.
const MaterialProperty< Real > * _property_old
The property needs to be stateful when computing effective strain.
RankTwoInvariant computes invariant scalar values from Rank-2 tensors.
RankTwoInvariantTempl< true > ADRankTwoInvariant
virtual void computeQpProperties() override
const InputParameters & parameters() const
const GenericMaterialProperty< RankTwoTensor, is_ad > & _tensor
Tensor to extract the invariant from.