https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
17template <bool is_ad>
47
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
RankTwoInvariantTempl< true > ADRankTwoInvariant
RankTwoInvariantTempl< false > RankTwoInvariant
const InputParameters & parameters() const
RankTwoInvariant computes invariant scalar values from Rank-2 tensors.
GenericMaterialProperty< Real, is_ad > & _property
Stress/strain value returned from calculation.
const GenericMaterialProperty< RankTwoTensor, is_ad > & _tensor
Tensor to extract the invariant from.
RankTwoScalarTools::InvariantType _invariant
Property to compute from the given tensor.
const bool _stateful
Are stateful properties required?
const MaterialProperty< RankTwoTensor > * _tensor_old
Old state of the tensor (required for effective strain calculation)
virtual void initQpStatefulProperties() override
static InputParameters validParams()
virtual void computeQpProperties() override
const MaterialProperty< Real > * _property_old
The property needs to be stateful when computing effective strain.