https://mooseframework.inl.gov
MaterialADConverter.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"
14 #include "RankFourTensorForward.h"
15 
20 template <typename T>
22 {
23 public:
25 
27 
28 protected:
29  virtual void computeQpProperties() override;
30  void initQpStatefulProperties() override;
31 
34 
35  std::vector<MaterialProperty<T> *> _reg_props_out;
36  std::vector<const MaterialProperty<T> *> _reg_props_in;
37  std::vector<ADMaterialProperty<T> *> _ad_props_out;
38  std::vector<const ADMaterialProperty<T> *> _ad_props_in;
39 
40  const bool _intra_convert;
41 };
42 
This material converts regular material properties to AD properties and AD properties to regular prop...
MaterialADConverterTempl< RankTwoTensor > RankTwoTensorMaterialADConverter
MaterialADConverterTempl< Real > MaterialADConverter
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual void computeQpProperties() override
Users must override this method.
std::vector< const MaterialProperty< T > * > _reg_props_in
static InputParameters validParams()
Materials compute MaterialProperties.
Definition: Material.h:34
std::vector< MaterialProperty< T > * > _reg_props_out
std::vector< ADMaterialProperty< T > * > _ad_props_out
const InputParameters & parameters() const
Get the parameters of the object.
MaterialADConverterTempl(const InputParameters &parameters)
std::vector< const ADMaterialProperty< T > * > _ad_props_in
void initQpStatefulProperties() override
Initialize stateful properties at quadrature points.
MaterialADConverterTempl< RankFourTensor > RankFourTensorMaterialADConverter