https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MaterialFunctorConverter.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
17template <typename T>
19{
20public:
22
24
25protected:
26 virtual void computeQpProperties() override;
27 void initQpStatefulProperties() override;
28
30 const std::size_t _num_functors_to_convert;
31
33 std::vector<const Moose::Functor<Moose::GenericType<T, true>> *> _functors_in;
35 std::vector<MaterialProperty<T> *> _reg_props_out;
37 std::vector<ADMaterialProperty<T> *> _ad_props_out;
38};
39
MaterialFunctorConverterTempl< RealVectorValue > VectorMaterialFunctorConverter
MaterialFunctorConverterTempl< Real > MaterialFunctorConverter
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
This material converts functor to regular (AD or not) material properties.
std::vector< MaterialProperty< T > * > _reg_props_out
Regular material properties to create.
std::vector< const Moose::Functor< Moose::GenericType< T, true > > * > _functors_in
Incoming functors to convert. We up-convert non-AD functors to AD functors to ease implementation.
virtual void computeQpProperties() override
Users must override this method.
void initQpStatefulProperties() override
Initialize stateful properties at quadrature points.
std::vector< ADMaterialProperty< T > * > _ad_props_out
AD material properties to create.
const std::size_t _num_functors_to_convert
Number of material properties to create.
Materials compute MaterialProperties.
Definition Material.h:36
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131