OGS
Function.cpp File Reference
#include "MaterialLib/MPL/Properties/Function.h"
#include <range/v3/algorithm/contains.hpp>
#include <range/v3/algorithm/find.hpp>
#include <range/v3/algorithm/find_if.hpp>
#include <range/v3/range/conversion.hpp>
#include <range/v3/view/filter.hpp>
#include <range/v3/view/transform.hpp>
#include <unordered_set>
#include "BaseLib/Algorithm.h"
#include "BaseLib/OgsAsmThreads.h"
#include "MathLib/KelvinVector.h"
#include "MathLib/VectorizedTensor.h"
#include "ParameterLib/ExprtkUtils.h"
Include dependency graph for Function.cpp:

Go to the source code of this file.

Classes

struct  MaterialPropertyLib::ScalarCopyOp
struct  MaterialPropertyLib::VariablePair
struct  MaterialPropertyLib::D2ValueExpression
struct  MaterialPropertyLib::PerThreadData
struct  MaterialPropertyLib::Function::Implementation< D >

Namespaces

namespace  MaterialPropertyLib

Functions

template<int D>
static exprtk::symbol_table< double > MaterialPropertyLib::createSymbolTable (std::vector< std::string > const &expression_symbol_names, bool const spatial_position_is_required, std::vector< std::string > const &used_curve_names, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation > > const &curves, VariableArray &variable_array, std::map< std::string, ParameterLib::CurveWrapper > &curve_wrappers)
template<std::size_t N>
static std::array< double, N > MaterialPropertyLib::evaluateToArray (std::vector< exprtk::expression< double > > const &expressions)
static int MaterialPropertyLib::currentThreadId (std::string const &property_name, std::size_t const num_slots)