OGS
|
The TimeDependentHeterogeneousParameter class implements a parameter that varies in time and space, i.e., it is a function \( (t, x) \mapsto f(t, x) \in T^n \).
Classes | |
struct | Parameter |
struct | ConstantParameter |
Single, constant value parameter. More... | |
struct | CoordinateSystem |
struct | CurveScaledParameter |
struct | FunctionParameter |
struct | GroupBasedParameter |
struct | MeshElementParameter |
A parameter represented by a mesh property vector. More... | |
struct | MeshNodeParameter |
A parameter represented by a mesh property vector. More... | |
struct | ParameterBase |
struct | RandomFieldMeshElementParameter |
A parameter represented by a mesh property vector. More... | |
class | SpatialPosition |
class | TimeDependentHeterogeneousParameter |
Functions | |
std::unique_ptr< ParameterBase > | createConstantParameter (std::string const &name, BaseLib::ConfigTree const &config) |
std::unique_ptr< ParameterBase > | createCurveScaledParameter (std::string const &name, BaseLib::ConfigTree const &config, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const &curves) |
std::unique_ptr< ParameterBase > | createFunctionParameter (std::string const &name, BaseLib::ConfigTree const &config, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const &curves) |
std::unique_ptr< ParameterBase > | createGroupBasedParameter (std::string const &name, BaseLib::ConfigTree const &config, MeshLib::Mesh const &mesh) |
std::unique_ptr< ParameterBase > | createMeshElementParameter (std::string const &name, BaseLib::ConfigTree const &config, MeshLib::Mesh const &mesh) |
std::unique_ptr< ParameterBase > | createMeshNodeParameter (std::string const &name, BaseLib::ConfigTree const &config, MeshLib::Mesh const &mesh) |
std::unique_ptr< ParameterBase > | createParameter (BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< MeshLib::Mesh >> const &meshes, std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const &curves) |
std::optional< std::string > | isDefinedOnSameMesh (ParameterBase const ¶meter, MeshLib::Mesh const &mesh) |
std::unique_ptr< ParameterBase > | createRandomFieldMeshElementParameter (std::string const &name, BaseLib::ConfigTree const &config, MeshLib::Mesh &mesh) |
std::unique_ptr< ParameterBase > | createTimeDependentHeterogeneousParameter (std::string const &name, BaseLib::ConfigTree const &config) |
ParameterBase * | findParameterByName (std::string const ¶meter_name, std::vector< std::unique_ptr< ParameterBase >> const ¶meters) |
template<typename ParameterDataType > | |
Parameter< ParameterDataType > * | findParameterOptional (std::string const ¶meter_name, std::vector< std::unique_ptr< ParameterBase >> const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr) |
template<typename ParameterDataType > | |
Parameter< ParameterDataType > & | findParameter (std::string const ¶meter_name, std::vector< std::unique_ptr< ParameterBase >> const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr) |
template<typename ParameterDataType > | |
Parameter< ParameterDataType > & | findParameter (BaseLib::ConfigTree const &process_config, std::string const &tag, std::vector< std::unique_ptr< ParameterBase >> const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr) |
template<typename ParameterDataType > | |
Parameter< ParameterDataType > * | findOptionalTagParameter (BaseLib::ConfigTree const &process_config, std::string const &tag, std::vector< std::unique_ptr< ParameterBase >> const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr) |
Variables | |
static double const | tolerance = 1.e-15 |
static const char *const | error_info |
std::unique_ptr< ParameterBase > ParameterLib::createConstantParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config | ||
) |
Definition at line 19 of file ConstantParameter.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), DBUG(), BaseLib::ConfigTree::getConfigParameter(), BaseLib::ConfigTree::getConfigParameterOptional(), MaterialPropertyLib::name, and OGS_FATAL.
Referenced by createParameter().
std::unique_ptr< ParameterBase > ParameterLib::createCurveScaledParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config, | ||
std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const & | curves | ||
) |
Definition at line 17 of file CurveScaledParameter.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), DBUG(), BaseLib::ConfigTree::getConfigParameter(), MaterialPropertyLib::name, and OGS_FATAL.
Referenced by createParameter().
std::unique_ptr< ParameterBase > ParameterLib::createFunctionParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config, | ||
std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const & | curves | ||
) |
Definition at line 17 of file FunctionParameter.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), BaseLib::ConfigTree::getConfigSubtreeList(), and MaterialPropertyLib::name.
Referenced by createParameter().
std::unique_ptr< ParameterBase > ParameterLib::createGroupBasedParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config, | ||
MeshLib::Mesh const & | mesh | ||
) |
Definition at line 19 of file GroupBasedParameter.cpp.
References MeshLib::Cell, BaseLib::ConfigTree::checkConfigParameter(), DBUG(), BaseLib::ConfigTree::getConfigParameter(), BaseLib::ConfigTree::getConfigSubtreeList(), MeshLib::Mesh::getProperties(), MeshLib::Properties::getPropertyVector(), MaterialPropertyLib::name, MeshLib::Node, and OGS_FATAL.
Referenced by createParameter().
std::unique_ptr< ParameterBase > ParameterLib::createMeshElementParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config, | ||
MeshLib::Mesh const & | mesh | ||
) |
Definition at line 18 of file MeshElementParameter.cpp.
References MeshLib::Cell, BaseLib::ConfigTree::checkConfigParameter(), DBUG(), BaseLib::ConfigTree::getConfigParameter(), MeshLib::Mesh::getProperties(), MeshLib::Properties::getPropertyVector(), MaterialPropertyLib::name, and OGS_FATAL.
Referenced by createParameter().
std::unique_ptr< ParameterBase > ParameterLib::createMeshNodeParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config, | ||
MeshLib::Mesh const & | mesh | ||
) |
Definition at line 18 of file MeshNodeParameter.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), DBUG(), BaseLib::ConfigTree::getConfigParameter(), MeshLib::Mesh::getProperties(), MeshLib::Properties::getPropertyVector(), MaterialPropertyLib::name, MeshLib::Node, and OGS_FATAL.
Referenced by createParameter().
std::unique_ptr< ParameterBase > ParameterLib::createParameter | ( | BaseLib::ConfigTree const & | config, |
const std::vector< std::unique_ptr< MeshLib::Mesh >> & | meshes, | ||
std::map< std::string, std::unique_ptr< MathLib::PiecewiseLinearInterpolation >> const & | curves | ||
) |
Constructs a new ParameterBase from the given configuration.
The meshes
vector is used to set up parameters from mesh input data.
Definition at line 26 of file Parameter.cpp.
References createConstantParameter(), createCurveScaledParameter(), createFunctionParameter(), createGroupBasedParameter(), createMeshElementParameter(), createMeshNodeParameter(), createRandomFieldMeshElementParameter(), createTimeDependentHeterogeneousParameter(), BaseLib::findElementOrError(), BaseLib::ConfigTree::getConfigParameter(), INFO(), MaterialPropertyLib::name, OGS_FATAL, and BaseLib::ConfigTree::peekConfigParameter().
Referenced by ProjectData::parseParameters().
std::unique_ptr< ParameterBase > ParameterLib::createRandomFieldMeshElementParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config, | ||
MeshLib::Mesh & | mesh | ||
) |
Definition at line 21 of file RandomFieldMeshElementParameter.cpp.
References MeshLib::addPropertyToMesh(), MeshLib::Cell, BaseLib::ConfigTree::checkConfigParameter(), DBUG(), BaseLib::ConfigTree::getConfigParameter(), MeshLib::Mesh::getElements(), MeshLib::Mesh::getProperties(), MeshLib::Properties::getPropertyVector(), MaterialPropertyLib::name, and OGS_FATAL.
Referenced by createParameter().
std::unique_ptr< ParameterBase > ParameterLib::createTimeDependentHeterogeneousParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config | ||
) |
Definition at line 106 of file TimeDependentHeterogeneousParameter.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), BaseLib::ConfigTree::getConfigSubtree(), MaterialPropertyLib::name, and OGS_FATAL.
Referenced by createParameter().
Parameter<ParameterDataType>* ParameterLib::findOptionalTagParameter | ( | BaseLib::ConfigTree const & | process_config, |
std::string const & | tag, | ||
std::vector< std::unique_ptr< ParameterBase >> const & | parameters, | ||
int const | num_components, | ||
MeshLib::Mesh const *const | mesh = nullptr |
||
) |
Find a parameter of specific type for a name given in the process configuration under the optional tag. If the tag is not present, a nullptr will be returned. The parameter must have the specified number of components. In the process config a parameter is referenced by a name. For example it will be looking for a parameter named "K" in the list of parameters when the tag is "hydraulic_conductivity":
and return a pointer to that parameter. Additionally it checks for the type of the found parameter.
Definition at line 163 of file Utils.h.
References BaseLib::ConfigTree::getConfigParameterOptional(), and MaterialPropertyLib::name.
Referenced by ProcessLib::SmallDeformation::createSmallDeformationProcess().
Parameter<ParameterDataType>& ParameterLib::findParameter | ( | BaseLib::ConfigTree const & | process_config, |
std::string const & | tag, | ||
std::vector< std::unique_ptr< ParameterBase >> const & | parameters, | ||
int const | num_components, | ||
MeshLib::Mesh const *const | mesh = nullptr |
||
) |
Find a parameter of specific type for a name given in the process configuration under the tag. The parameter must have the specified number of components. In the process config a parameter is referenced by a name. For example it will be looking for a parameter named "K" in the list of parameters when the tag is "hydraulic_conductivity":
and return a reference to that parameter. Additionally it checks for the type of the found parameter.
Definition at line 134 of file Utils.h.
References BaseLib::ConfigTree::getConfigParameter(), and MaterialPropertyLib::name.
Parameter<ParameterDataType>& ParameterLib::findParameter | ( | std::string const & | parameter_name, |
std::vector< std::unique_ptr< ParameterBase >> const & | parameters, | ||
int const | num_components, | ||
MeshLib::Mesh const *const | mesh = nullptr |
||
) |
Find a parameter of specific type for a given name.
ParameterDataType | the data type of the parameter |
parameter_name | name of the requested parameter |
parameters | list of parameters in which it will be searched |
num_components | the number of components of the parameters or zero if any number is acceptable |
mesh | an optional mesh pointer used for test whether the parameter is defined on the given mesh. No test is performed if the pointer is a nullptr. |
Definition at line 102 of file Utils.h.
References OGS_FATAL.
Referenced by ProcessLib::LIE::HydroMechanics::createHydroMechanicsProcess(), MaterialLib::PorousMedium::createPermeabilityModel(), and ProcessLib::ThermoMechanicalPhaseField::createThermoMechanicalPhaseFieldProcess().
ParameterBase * ParameterLib::findParameterByName | ( | std::string const & | parameter_name, |
std::vector< std::unique_ptr< ParameterBase >> const & | parameters | ||
) |
Find an optional parameter of specific type for a given name.
ParameterDataType | the data type of the parameter |
parameter_name | name of the requested parameter |
parameters | list of parameters in which it will be searched |
Definition at line 15 of file Utils.cpp.
References DBUG().
Referenced by findParameterOptional().
Parameter<ParameterDataType>* ParameterLib::findParameterOptional | ( | std::string const & | parameter_name, |
std::vector< std::unique_ptr< ParameterBase >> const & | parameters, | ||
int const | num_components, | ||
MeshLib::Mesh const *const | mesh = nullptr |
||
) |
Find an optional parameter of specific type for a given name.
ParameterDataType | the data type of the parameter |
parameter_name | name of the requested parameter |
parameters | list of parameters in which it will be searched |
num_components | the number of components of the parameters or zero if any number is acceptable |
mesh | an optional mesh pointer used for test whether the parameter is defined on the given mesh. No test is performed if the pointer is a nullptr. |
Definition at line 42 of file Utils.h.
References findParameterByName(), isDefinedOnSameMesh(), and OGS_FATAL.
std::optional< std::string > ParameterLib::isDefinedOnSameMesh | ( | ParameterBase const & | parameter, |
MeshLib::Mesh const & | mesh | ||
) |
Checks whether the parameter can be used on the given mesh. The parameter's domain of definition can be arbitrary (like for constant parameters), or the parameter is defined on a mesh. In the latter case that mesh must be equal to the given mesh.
Definition at line 98 of file Parameter.cpp.
References MeshLib::Mesh::getName(), and ParameterLib::ParameterBase::mesh().
Referenced by findParameterOptional().
|
static |
Definition at line 20 of file CoordinateSystem.cpp.
Referenced by ParameterLib::CoordinateSystem::transformation_3d().
|
static |
Definition at line 19 of file CoordinateSystem.cpp.
Referenced by MaterialPropertyLib::RelPermNonWettingPhaseVanGenuchtenMualem::computeSaturationForMinimumRelativePermeability(), ChemistryLib::PhreeqcIOData::createKnobs(), MeshView::extractSurfaceMesh(), and ParameterLib::CoordinateSystem::transformation_3d().