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 | ConstantParameter |
Single, constant value parameter. More... | |
struct | CoordinateSystem |
A local coordinate system used for tensor transformations. More... | |
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 | Parameter |
struct | ParameterBase |
struct | RandomFieldMeshElementParameter |
A parameter represented by a mesh property vector. More... | |
struct | RasterParameter |
class | SpatialPosition |
class | TimeDependentHeterogeneousParameter |
Functions | |
std::unique_ptr< ParameterBase > | createConstantParameter (std::string const &name, BaseLib::ConfigTree const &config) |
Eigen::Matrix< double, 2, 2 > | getTransformationFromSingleBase2D (Parameter< double > const &unit_direction, SpatialPosition const &pos) |
Eigen::Matrix< double, 3, 3 > | getTransformationFromSingleBase3D (Parameter< double > const &unit_direction, SpatialPosition const &pos) |
Parameter< double > const * | parseBase1OrBase2 (BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, int const expected_component_number, std::string_view const base_tag_name) |
void | checkThirdBaseExistanceFor2D (BaseLib::ConfigTree const &config) |
void | confirmThirdBaseExplicit (BaseLib::ConfigTree const &config) |
std::optional< ParameterLib::CoordinateSystem > | createCoordinateSystemWithImplicitBase (BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters) |
std::optional< ParameterLib::CoordinateSystem > | createCoordinateSystem (std::optional< BaseLib::ConfigTree > const &config, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters) |
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::vector< GeoLib::NamedRaster > const &named_rasters, 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 > | createRasterParameter (std::string const &name, BaseLib::ConfigTree const &config, std::vector< GeoLib::NamedRaster > const &named_rasters) |
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 = std::numeric_limits<double>::epsilon() |
static constexpr char | error_info [] |
static constexpr char | normalization_error_info [] |
void ParameterLib::checkThirdBaseExistanceFor2D | ( | BaseLib::ConfigTree const & | config | ) |
Definition at line 62 of file CreateCoordinateSystem.cpp.
References BaseLib::ConfigTree::getConfigSubtreeOptional(), and OGS_FATAL.
Referenced by createCoordinateSystem(), and createCoordinateSystemWithImplicitBase().
void ParameterLib::confirmThirdBaseExplicit | ( | BaseLib::ConfigTree const & | config | ) |
Definition at line 75 of file CreateCoordinateSystem.cpp.
References BaseLib::ConfigTree::getConfigAttribute(), and OGS_FATAL.
Referenced by createCoordinateSystem(), and createCoordinateSystemWithImplicitBase().
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(), and OGS_FATAL.
Referenced by createParameter().
std::optional< ParameterLib::CoordinateSystem > ParameterLib::createCoordinateSystem | ( | std::optional< BaseLib::ConfigTree > const & | config, |
std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const & | parameters ) |
Definition at line 142 of file CreateCoordinateSystem.cpp.
References checkThirdBaseExistanceFor2D(), confirmThirdBaseExplicit(), createCoordinateSystemWithImplicitBase(), OGS_FATAL, and parseBase1OrBase2().
Referenced by ProjectData::ProjectData().
std::optional< ParameterLib::CoordinateSystem > ParameterLib::createCoordinateSystemWithImplicitBase | ( | BaseLib::ConfigTree const & | config, |
std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const & | parameters ) |
Definition at line 87 of file CreateCoordinateSystem.cpp.
References checkThirdBaseExistanceFor2D(), confirmThirdBaseExplicit(), BaseLib::ConfigTree::getConfigAttribute(), BaseLib::ConfigTree::getConfigSubtree(), BaseLib::ConfigTree::getConfigSubtreeOptional(), OGS_FATAL, and parseBase1OrBase2().
Referenced by createCoordinateSystem().
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(), 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(), and BaseLib::ConfigTree::getConfigSubtreeList().
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(), 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(), 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(), 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::vector< GeoLib::NamedRaster > const & | named_rasters, | ||
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. The named_rasters
vector is used to set up parameters from raster input data.
Definition at line 27 of file Parameter.cpp.
References createConstantParameter(), createCurveScaledParameter(), createFunctionParameter(), createGroupBasedParameter(), createMeshElementParameter(), createMeshNodeParameter(), createRandomFieldMeshElementParameter(), createRasterParameter(), createTimeDependentHeterogeneousParameter(), MeshLib::findMeshByName(), BaseLib::ConfigTree::getConfigParameter(), INFO(), 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 22 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(), and OGS_FATAL.
Referenced by createParameter().
std::unique_ptr< ParameterBase > ParameterLib::createRasterParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config, | ||
std::vector< GeoLib::NamedRaster > const & | named_rasters ) |
Definition at line 19 of file RasterParameter.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), DBUG(), and BaseLib::getIfOrError().
Referenced by createParameter().
std::unique_ptr< ParameterBase > ParameterLib::createTimeDependentHeterogeneousParameter | ( | std::string const & | name, |
BaseLib::ConfigTree const & | config ) |
Definition at line 113 of file TimeDependentHeterogeneousParameter.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), BaseLib::ConfigTree::getConfigSubtree(), 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 162 of file Utils.h.
References BaseLib::ConfigTree::getConfigParameterOptional().
Referenced by ProcessLib::ComponentTransport::createComponentTransportProcess(), ProcessLib::LargeDeformation::createLargeDeformationProcess(), and 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 133 of file Utils.h.
References BaseLib::ConfigTree::getConfigParameter().
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 101 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.
Eigen::Matrix< double, 2, 2 > ParameterLib::getTransformationFromSingleBase2D | ( | Parameter< double > const & | unit_direction, |
SpatialPosition const & | pos ) |
Definition at line 100 of file CoordinateSystem.cpp.
Eigen::Matrix< double, 3, 3 > ParameterLib::getTransformationFromSingleBase3D | ( | Parameter< double > const & | unit_direction, |
SpatialPosition const & | pos ) |
Definition at line 159 of file CoordinateSystem.cpp.
Referenced by ParameterLib::CoordinateSystem::transformationFromSingleBase_3d().
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 99 of file Parameter.cpp.
References MeshLib::Mesh::getName(), and ParameterLib::ParameterBase::mesh().
Referenced by findParameterOptional().
Parameter< double > const * ParameterLib::parseBase1OrBase2 | ( | BaseLib::ConfigTree const & | config, |
std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const & | parameters, | ||
int const | expected_component_number, | ||
std::string_view const | base_tag_name ) |
Definition at line 28 of file CreateCoordinateSystem.cpp.
References BaseLib::ConfigTree::getValue(), and OGS_FATAL.
Referenced by createCoordinateSystem(), and createCoordinateSystemWithImplicitBase().
|
staticconstexpr |
Definition at line 26 of file CoordinateSystem.cpp.
Referenced by ParameterLib::CoordinateSystem::transformation(), and ParameterLib::CoordinateSystem::transformation_3d().
|
staticconstexpr |
Definition at line 31 of file CoordinateSystem.cpp.
Referenced by ParameterLib::CoordinateSystem::transformation().
|
static |
Definition at line 24 of file CoordinateSystem.cpp.
Referenced by ParameterLib::CoordinateSystem::transformation(), and ParameterLib::CoordinateSystem::transformation_3d().