https://mooseframework.inl.gov
MFEMParsedFunction.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 #ifdef MOOSE_MFEM_ENABLED
11 
12 #pragma once
13 
14 #include "MooseParsedFunction.h"
15 #include "FunctionParserUtils.h"
16 #include "MFEMProblem.h"
17 
23 {
24 public:
26 
28  virtual ~MFEMParsedFunction() = default;
29 
30  void initialSetup() override;
31 
32 protected:
38  const std::vector<std::string> _xyzt;
40  std::vector<std::reference_wrapper<mfem::Coefficient>> _coefficients;
41 };
42 
43 #endif
std::shared_ptr< SymFunction > SymFunctionPtr
Shorthand for an smart pointer to an autodiff function parser object.
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseBase.h:131
MFEMProblem & _mfem_problem
reference to the MFEMProblem instance
void initialSetup() override
Creates the parsed function.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
This class is used to evaluate symbolic equations passed in to Moose through the input file...
static InputParameters validParams()
std::vector< std::reference_wrapper< mfem::Coefficient > > _coefficients
vector of references to the scalar coefficients used in the function
Scalar, parsed function of position, time, and any number of scalar problem coefficients, including any scalar variables, postprocessors, material properties or functions.
SymFunctionPtr _sym_function
function parser object
const std::vector< std::string > _xyzt
coordinate and time variable names
virtual ~MFEMParsedFunction()=default
MFEMParsedFunction(const InputParameters &parameters)