- epsilon0Fuzzy comparison tolerance
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Fuzzy comparison tolerance
- expressionThe user defined function.
C++ Type:FunctionExpression
Unit:(no unit assumed)
Controllable:No
Description:The user defined function.
- symbol_namesSymbols (excluding t,x,y,z) that are bound to the values provided by the corresponding items in the vals vector.
C++ Type:std::vector<std::string>
Controllable:No
Description:Symbols (excluding t,x,y,z) that are bound to the values provided by the corresponding items in the vals vector.
- symbol_valuesConstant numeric values, postprocessor names, function names, and scalar variables corresponding to the symbols in symbol_names.
C++ Type:std::vector<std::string>
Controllable:No
Description:Constant numeric values, postprocessor names, function names, and scalar variables corresponding to the symbols in symbol_names.
MFEMParsedFunction
Summary
Parses scalar function of position, time and scalar problem coefficients (including scalar variables).
Overview
MFEMParsedFunction is responsible for parsing expressions that, in addition to being scalar functions of position and time, can also depend on scalar coefficients, including any scalar variables, postprocessors, material properties or functions specified by the user.
The input parameters are those of ParsedFunction and provide the same flexibility. Note that, in the context of MFEM problems, a scalar variable is a real-valued scalar field, not (necessarily) a constant over the entire domain as elsewhere in MOOSE.
Example Input File Syntax
[Functions<<<{"href": "../../../syntax/Functions/index.html"}>>>]
[r]
type = ParsedFunction<<<{"description": "Function created by parsing a string", "href": "../../functions/MooseParsedFunction.html"}>>>
expression<<<{"description": "The user defined function."}>>> = hypot(x,y)
[]
[p]
type = ParsedFunction<<<{"description": "Function created by parsing a string", "href": "../../functions/MooseParsedFunction.html"}>>>
expression<<<{"description": "The user defined function."}>>> = atan2(y,x)
[]
[source]
type = MFEMParsedFunction<<<{"description": "Parses scalar function of position, time and scalar problem coefficients (including scalar variables).", "href": "MFEMParsedFunction.html"}>>>
expression<<<{"description": "The user defined function."}>>> = v*sin(w*p)
symbol_names<<<{"description": "Symbols (excluding t,x,y,z) that are bound to the values provided by the corresponding items in the vals vector."}>>> = 'p w v'
symbol_values<<<{"description": "Constant numeric values, postprocessor names, function names, and scalar variables corresponding to the symbols in symbol_names."}>>> = 'p 4 variable'
[]
[solution]
type = MFEMParsedFunction<<<{"description": "Parses scalar function of position, time and scalar problem coefficients (including scalar variables).", "href": "MFEMParsedFunction.html"}>>>
expression<<<{"description": "The user defined function."}>>> = if(r<=1,-c*sin(w*p)*(r^w-r^2)/(w^2-4),0)
symbol_names<<<{"description": "Symbols (excluding t,x,y,z) that are bound to the values provided by the corresponding items in the vals vector."}>>> = 'r p w c'
symbol_values<<<{"description": "Constant numeric values, postprocessor names, function names, and scalar variables corresponding to the symbols in symbol_names."}>>> = 'r p 4 material'
[]
[](test/tests/mfem/functions/parsed_function_source.i)Input Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.
Advanced Parameters
- disable_fpoptimizerFalseDisable the function parser algebraic optimizer
Default:False
C++ Type:bool
Controllable:No
Description:Disable the function parser algebraic optimizer
- enable_ad_cacheTrueEnable caching of function derivatives for faster startup time
Default:True
C++ Type:bool
Controllable:No
Description:Enable caching of function derivatives for faster startup time
- enable_auto_optimizeTrueEnable automatic immediate optimization of derivatives
Default:True
C++ Type:bool
Controllable:No
Description:Enable automatic immediate optimization of derivatives
- enable_jitTrueEnable just-in-time compilation of function expressions for faster evaluation
Default:True
C++ Type:bool
Controllable:No
Description:Enable just-in-time compilation of function expressions for faster evaluation
- evalerror_behaviornanWhat to do if evaluation error occurs. Options are to pass a nan, pass a nan with a warning, throw a error, or throw an exception
Default:nan
C++ Type:MooseEnum
Controllable:No
Description:What to do if evaluation error occurs. Options are to pass a nan, pass a nan with a warning, throw a error, or throw an exception