https://mooseframework.inl.gov
ParsedMaterialBase.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 "InputParameters.h"
13 
19 {
20 public:
22 
23  ParsedMaterialBase(const InputParameters & parameters);
24  virtual ~ParsedMaterialBase() = default;
25 
26 protected:
28  const std::string _function_param;
29 
31  const std::string _function;
32 
34  std::vector<std::string> _constant_names;
35  std::vector<std::string> _constant_expressions;
36 
38  std::vector<std::string> _tol_names;
39  std::vector<Real> _tol_values;
40 
42  std::vector<MooseFunctorName> _functor_names;
43  std::vector<std::string> _functor_symbols;
44 
50  void validateVectorNames(const std::set<std::string> & reserved_names = {});
51 };
std::vector< std::string > _constant_expressions
std::vector< std::string > _constant_names
constant vectors
const std::string _function_param
Parameter that the function comes from.
Helper class for ParsedMaterial and DerivativeParsedMaterial to declare and read the input parameters...
static InputParameters validParams()
const std::string _function
function expression
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::vector< std::string > _tol_names
tolerance vectors
void validateVectorNames(const std::set< std::string > &reserved_names={})
Function to ensure that the names of constants, tolerances, and functors do not overlap with each oth...
std::vector< std::string > _functor_symbols
virtual ~ParsedMaterialBase()=default
ParsedMaterialBase(const InputParameters &parameters)
std::vector< MooseFunctorName > _functor_names
Functor vectors (names, count, and symbols)
std::vector< Real > _tol_values