![]() |
OGS
|
Definition at line 69 of file Function.cpp.
Public Types | |
| using | Expression = exprtk::expression<double> |
Public Member Functions | |
| Implementation (int num_threads, std::vector< std::string > const &variables, std::vector< std::string > const &value_string_expressions, std::vector< std::pair< std::string, std::vector< std::string > > > const &dvalue_string_expressions, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves) | |
Public Attributes | |
| std::vector< std::vector< Expression > > | value_expressions |
| std::vector< std::vector< std::pair< Variable, std::vector< Expression > > > > | dvalue_expressions |
| std::vector< VariableArray > | variable_arrays |
| std::map< std::string, CurveWrapper > | _curve_wrappers |
| bool | spatial_position_is_required = false |
Private Member Functions | |
| exprtk::symbol_table< double > | createSymbolTable (std::vector< std::string > const &variables, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves, VariableArray &variable_array) |
| std::vector< exprtk::symbol_table< double > > | createSymbolTables (int num_threads, std::vector< std::string > const &variables, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves) |
| Create symbol tables for all threads. | |
| using MaterialPropertyLib::Function::Implementation< D >::Expression = exprtk::expression<double> |
Definition at line 72 of file Function.cpp.
| MaterialPropertyLib::Function::Implementation< D >::Implementation | ( | int | num_threads, |
| std::vector< std::string > const & | variables, | ||
| std::vector< std::string > const & | value_string_expressions, | ||
| std::vector< std::pair< std::string, std::vector< std::string > > > const & | dvalue_string_expressions, | ||
| std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const & | curves ) |
Definition at line 225 of file Function.cpp.
References MaterialPropertyLib::compileExpressions(), MaterialPropertyLib::convertStringToVariable(), createSymbolTables(), dvalue_expressions, value_expressions, and variable_arrays.
|
private |
Create symbol table for given variables and populates the variable_array as needed.
Definition at line 123 of file Function.cpp.
References _curve_wrappers, MaterialPropertyLib::convertStringToVariable(), MathLib::KelvinVector::kelvin_vector_dimensions(), MaterialPropertyLib::name, MathLib::VectorizedTensor::size(), spatial_position_is_required, MaterialPropertyLib::Function::value(), and MaterialPropertyLib::VariableArray::visitVariable().
Referenced by createSymbolTables().
|
private |
Create symbol tables for all threads.
Definition at line 206 of file Function.cpp.
References createSymbolTable(), and variable_arrays.
Referenced by Implementation().
| std::map<std::string, CurveWrapper> MaterialPropertyLib::Function::Implementation< D >::_curve_wrappers |
Definition at line 117 of file Function.cpp.
Referenced by createSymbolTable().
| std::vector<std::vector<std::pair<Variable, std::vector<Expression> > > > MaterialPropertyLib::Function::Implementation< D >::dvalue_expressions |
Derivative expressions with respect to the variable per thread. Multiple expressions are representing vector-valued functions.
Definition at line 111 of file Function.cpp.
Referenced by Implementation().
| bool MaterialPropertyLib::Function::Implementation< D >::spatial_position_is_required = false |
Definition at line 119 of file Function.cpp.
Referenced by createSymbolTable().
| std::vector<std::vector<Expression> > MaterialPropertyLib::Function::Implementation< D >::value_expressions |
Value expressions per thread. Multiple expressions are representing vector-valued functions.
Definition at line 106 of file Function.cpp.
Referenced by Implementation().
| std::vector<VariableArray> MaterialPropertyLib::Function::Implementation< D >::variable_arrays |
Stores values for evaluation of vectorial quantities per thread. Needed for constant pointers for exprtk.
Definition at line 115 of file Function.cpp.
Referenced by Implementation(), and createSymbolTables().