Wraps libMesh::ParsedFunction for use in ChainControls. More...
#include <ChainControlParsedFunctionWrapper.h>
Public Member Functions | |
ChainControlParsedFunctionWrapper (MooseApp &moose_app, FEProblemBase &fe_problem, const std::string &function_str, const std::vector< std::string > &symbol_names, const std::vector< std::string > &symbol_values, const THREAD_ID tid=0) | |
Constructor. More... | |
Real | evaluate (Real t, const Point &p) |
Evaluates the libMesh::ParsedFunction. More... | |
std::vector< ChainControlData< Real > * > | getRealChainControlData () |
Get list of Real-valued control data objects. More... | |
std::vector< ChainControlData< bool > * > | getBoolChainControlData () |
Get list of boolean-valued control data objects. More... | |
Private Member Functions | |
void | initializeFunctionInputs () |
Gets initial value, address, and input index for each function input. More... | |
void | updateScalarVariableValues () |
Updates scalar values in wrapped function. More... | |
void | updateFunctionValues (Real t, const Point &pt) |
Updates function values in wrapped function. More... | |
void | updateChainControlDataValues () |
Updates control data values in wrapped function. More... | |
Private Attributes | |
MooseApp & | _moose_app |
App. More... | |
FEProblemBase & | _fe_problem |
Problem. More... | |
const std::string & | _function_str |
Function expression. More... | |
const std::vector< std::string > & | _symbol_names |
Symbols used in the function expression string. More... | |
const std::vector< std::string > & | _symbol_values |
Values pairing with symbol_names . More... | |
std::vector< Real > | _initial_values |
Initial value for each function input. More... | |
std::unique_ptr< ParsedFunction< Real > > | _function_ptr |
Wrapped libMesh::ParsedFunction. More... | |
std::vector< unsigned int > | _real_control_data_indices |
_input_values index for each Real control data value More... | |
std::vector< ChainControlData< Real > * > | _real_control_data_values |
Real control data values. More... | |
std::vector< unsigned int > | _bool_control_data_indices |
_input_values index for each bool control data value More... | |
std::vector< ChainControlData< bool > * > | _bool_control_data_values |
bool control data values More... | |
std::vector< unsigned int > | _scalar_indices |
_input_values index for each scalar variable value More... | |
std::vector< const VariableValue * > | _scalar_values |
Scalar variable values. More... | |
std::vector< unsigned int > | _function_indices |
_input_values index for each function value More... | |
std::vector< const Function * > | _function_values |
Function values. More... | |
std::vector< Real * > | _input_values |
libMesh::ParsedFunction input values More... | |
const THREAD_ID | _tid |
Thread id passed from owning object. More... | |
ChainControlDataSystem & | _chain_control_data_system |
Chain control data system. More... | |
Wraps libMesh::ParsedFunction for use in ChainControls.
Definition at line 27 of file ChainControlParsedFunctionWrapper.h.
ChainControlParsedFunctionWrapper::ChainControlParsedFunctionWrapper | ( | MooseApp & | moose_app, |
FEProblemBase & | fe_problem, | ||
const std::string & | function_str, | ||
const std::vector< std::string > & | symbol_names, | ||
const std::vector< std::string > & | symbol_values, | ||
const THREAD_ID | tid = 0 |
||
) |
Constructor.
moose_app | App |
fe_problem | Problem |
function_str | Function expression |
symbol_names | Symbols used in the function expression string |
symbol_values | Values pairing with symbol_names |
Definition at line 18 of file ChainControlParsedFunctionWrapper.C.
Evaluates the libMesh::ParsedFunction.
t | Time |
p | Spatial point |
Definition at line 43 of file ChainControlParsedFunctionWrapper.C.
|
inline |
Get list of boolean-valued control data objects.
Definition at line 65 of file ChainControlParsedFunctionWrapper.h.
|
inline |
Get list of Real-valued control data objects.
Definition at line 57 of file ChainControlParsedFunctionWrapper.h.
|
private |
Gets initial value, address, and input index for each function input.
Definition at line 52 of file ChainControlParsedFunctionWrapper.C.
Referenced by ChainControlParsedFunctionWrapper().
|
private |
Updates control data values in wrapped function.
Definition at line 115 of file ChainControlParsedFunctionWrapper.C.
Referenced by evaluate().
Updates function values in wrapped function.
t | Time |
p | Spatial point |
Definition at line 108 of file ChainControlParsedFunctionWrapper.C.
Referenced by evaluate().
|
private |
Updates scalar values in wrapped function.
Definition at line 101 of file ChainControlParsedFunctionWrapper.C.
Referenced by evaluate().
|
private |
_input_values index for each bool control data value
Definition at line 95 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs(), and updateChainControlDataValues().
|
private |
bool control data values
Definition at line 97 of file ChainControlParsedFunctionWrapper.h.
Referenced by getBoolChainControlData(), initializeFunctionInputs(), and updateChainControlDataValues().
|
private |
Chain control data system.
Definition at line 116 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs().
|
private |
Definition at line 74 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs().
|
private |
_input_values index for each function value
Definition at line 105 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs(), and updateFunctionValues().
|
private |
Wrapped libMesh::ParsedFunction.
Definition at line 87 of file ChainControlParsedFunctionWrapper.h.
Referenced by ChainControlParsedFunctionWrapper(), and evaluate().
|
private |
Function expression.
Definition at line 77 of file ChainControlParsedFunctionWrapper.h.
Referenced by ChainControlParsedFunctionWrapper().
|
private |
Function values.
Definition at line 107 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs(), and updateFunctionValues().
|
private |
Initial value for each function input.
Definition at line 84 of file ChainControlParsedFunctionWrapper.h.
Referenced by ChainControlParsedFunctionWrapper(), and initializeFunctionInputs().
|
private |
libMesh::ParsedFunction input values
Definition at line 110 of file ChainControlParsedFunctionWrapper.h.
Referenced by ChainControlParsedFunctionWrapper(), updateChainControlDataValues(), updateFunctionValues(), and updateScalarVariableValues().
|
private |
App.
Definition at line 72 of file ChainControlParsedFunctionWrapper.h.
|
private |
_input_values index for each Real control data value
Definition at line 90 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs(), and updateChainControlDataValues().
|
private |
Real control data values.
Definition at line 92 of file ChainControlParsedFunctionWrapper.h.
Referenced by getRealChainControlData(), initializeFunctionInputs(), and updateChainControlDataValues().
|
private |
_input_values index for each scalar variable value
Definition at line 100 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs(), and updateScalarVariableValues().
|
private |
Scalar variable values.
Definition at line 102 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs(), and updateScalarVariableValues().
|
private |
Symbols used in the function expression string.
Definition at line 79 of file ChainControlParsedFunctionWrapper.h.
Referenced by ChainControlParsedFunctionWrapper().
|
private |
Values pairing with symbol_names
.
Definition at line 81 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs().
|
private |
Thread id passed from owning object.
Definition at line 113 of file ChainControlParsedFunctionWrapper.h.
Referenced by initializeFunctionInputs().