https://mooseframework.inl.gov
EigenDecompositionMaterial.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 "RankTwoTensorForward.h"
17 template <bool is_ad>
19 {
20 public:
22 
24 
25 protected:
26  virtual void computeQpProperties() override;
28  const std::string _base_name;
31 
36 
41 };
42 
GenericMaterialProperty< RealVectorValue, is_ad > & _min_eigen_vector
GenericMaterialProperty< Real, is_ad > & _min_eigen_value
const GenericMaterialProperty< RankTwoTensor, is_ad > & _tensor
Rank two tensor for eigen decomposition.
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
const std::string _base_name
Base name to allow multiple tensors to be decomposed.
GenericMaterialProperty< Real, is_ad > & _mid_eigen_value
Perform eigendecomposition on a RankTwoTensor material property.
EigenDecompositionMaterialTempl< true > ADEigenDecompositionMaterial
EigenDecompositionMaterialTempl(const InputParameters &parameters)
EigenDecompositionMaterialTempl< false > EigenDecompositionMaterial
const InputParameters & parameters() const
GenericMaterialProperty< RealVectorValue, is_ad > & _max_eigen_vector
eigen vectors
GenericMaterialProperty< Real, is_ad > & _max_eigen_value
eigen values
GenericMaterialProperty< RealVectorValue, is_ad > & _mid_eigen_vector