OGS
|
Base class for all parameters, not an interface class. This avoids using of void* when storing parameters and convenient destruction. Its property name helps addressing the right parameter.
Definition at line 46 of file Parameter.h.
#include <Parameter.h>
Public Member Functions | |
ParameterBase (std::string name_, MeshLib::Mesh const *mesh=nullptr) | |
virtual | ~ParameterBase ()=default |
virtual bool | isTimeDependent () const =0 |
void | setCoordinateSystem (CoordinateSystem const &coordinate_system) |
virtual void | initialize (std::vector< std::unique_ptr< ParameterBase >> const &) |
MeshLib::Mesh const * | mesh () const |
Public Attributes | |
std::string const | name |
Protected Member Functions | |
std::vector< double > | rotateWithCoordinateSystem (std::vector< double > const &values, SpatialPosition const &pos) const |
Protected Attributes | |
std::optional< CoordinateSystem > | _coordinate_system |
MeshLib::Mesh const * | _mesh |
|
inlineexplicit |
Definition at line 48 of file Parameter.h.
|
virtualdefault |
|
inlinevirtual |
Parameters might depend on each other; this method allows to set up the dependencies between parameters after they have been constructed.
Reimplemented in ParameterLib::TimeDependentHeterogeneousParameter, and ParameterLib::CurveScaledParameter< T >.
Definition at line 65 of file Parameter.h.
|
pure virtual |
Implemented in ParameterLib::TimeDependentHeterogeneousParameter, ParameterLib::RandomFieldMeshElementParameter< T >, ParameterLib::MeshNodeParameter< T >, ParameterLib::MeshElementParameter< T >, ParameterLib::GroupBasedParameter< T, MeshItemType >, ParameterLib::FunctionParameter< T >, ParameterLib::CurveScaledParameter< T >, and ParameterLib::ConstantParameter< T >.
|
inline |
Definition at line 70 of file Parameter.h.
References _mesh.
Referenced by ParameterLib::isDefinedOnSameMesh().
|
inlineprotected |
Definition at line 75 of file Parameter.h.
References _coordinate_system, and OGS_FATAL.
Referenced by ParameterLib::FunctionParameter< T >::operator()(), ParameterLib::ConstantParameter< T >::operator()(), ParameterLib::GroupBasedParameter< T, MeshItemType >::operator()(), ParameterLib::MeshElementParameter< T >::operator()(), ParameterLib::MeshNodeParameter< T >::operator()(), and ParameterLib::RandomFieldMeshElementParameter< T >::operator()().
|
inline |
Definition at line 58 of file Parameter.h.
References _coordinate_system.
|
protected |
Definition at line 125 of file Parameter.h.
Referenced by ParameterLib::CurveScaledParameter< T >::operator()(), ParameterLib::FunctionParameter< T >::operator()(), ParameterLib::TimeDependentHeterogeneousParameter::operator()(), ParameterLib::ConstantParameter< T >::operator()(), ParameterLib::GroupBasedParameter< T, MeshItemType >::operator()(), ParameterLib::MeshElementParameter< T >::operator()(), ParameterLib::MeshNodeParameter< T >::operator()(), ParameterLib::RandomFieldMeshElementParameter< T >::operator()(), rotateWithCoordinateSystem(), and setCoordinateSystem().
|
protected |
A mesh on which the parameter is defined. Some parameters might be mesh-independent.
Definition at line 129 of file Parameter.h.
Referenced by ParameterLib::CurveScaledParameter< T >::initialize(), and mesh().
std::string const ParameterLib::ParameterBase::name |
Definition at line 72 of file Parameter.h.
Referenced by ProcessLib::HT::createHTProcess(), and ParameterLib::TimeDependentHeterogeneousParameter::initialize().