https://mooseframework.inl.gov
Loading...
Searching...
No Matches
GenericFunctionMaterial.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
14template <bool>
18
27template <bool is_ad>
29{
30public:
32
34
35protected:
36 virtual void initQpStatefulProperties() override;
37 virtual void computeQpProperties() override;
38
40 std::vector<std::string> _prop_names;
41
43 std::vector<FunctionName> _prop_values;
44
46 unsigned int _num_props;
47
49 std::vector<GenericMaterialProperty<Real, is_ad> *> _properties;
50
52 std::vector<const Function *> _functions;
53
54private:
58 void computeQpFunctions();
59};
GenericFunctionMaterialTempl< true > ADGenericFunctionMaterial
GenericFunctionMaterialTempl< false > GenericFunctionMaterial
This material automatically declares as material properties whatever is passed to it through the para...
std::vector< FunctionName > _prop_values
The functions to use for each property.
void computeQpFunctions()
A helper method for evaluating the functions.
static InputParameters validParams()
std::vector< const Function * > _functions
Vector of pointers to the functions, stored here after retrieval using their name.
virtual void initQpStatefulProperties() override
Initialize stateful properties at quadrature points.
unsigned int _num_props
Number of properties that will be defined.
std::vector< std::string > _prop_names
Names of the material properties to define.
virtual void computeQpProperties() override
Users must override this method.
std::vector< GenericMaterialProperty< Real, is_ad > * > _properties
Vector of all the properties.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Materials compute MaterialProperties.
Definition Material.h:36
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131