OGS
ParameterLib::Parameter< T > Struct Template Referenceabstract

Detailed Description

template<typename T>
struct ParameterLib::Parameter< T >

A Parameter is a function \( (t, x) \mapsto f(t, x) \in T^n \).

Where \( t \) is the time and \( x \) is the SpatialPosition. \( n \) is the number of components of \(f\)'s results, i.e., 1 for a scalar parameter and >1 for a vectorial or tensorial parameter.

Definition at line 140 of file ParameterLib/Parameter.h.

#include <Parameter.h>

Inheritance diagram for ParameterLib::Parameter< T >:
[legend]
Collaboration diagram for ParameterLib::Parameter< T >:
[legend]

Public Member Functions

 ~Parameter () override=default
virtual int getNumberOfGlobalComponents () const =0
virtual std::vector< T > operator() (double const t, SpatialPosition const &pos) const =0
 Returns the parameter value at the given time and position.
virtual Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > getNodalValuesOnElement (MeshLib::Element const &element, double const t) const
 Returns a matrix of values for all nodes of the given element.
 ParameterBase (std::string name_, MeshLib::Mesh const *mesh=nullptr)
Public Member Functions inherited from ParameterLib::ParameterBase
 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

Additional Inherited Members

Public Attributes inherited from ParameterLib::ParameterBase
std::string const name
Protected Member Functions inherited from ParameterLib::ParameterBase
std::vector< double > rotateWithCoordinateSystem (std::vector< double > const &values, SpatialPosition const &pos) const
Protected Attributes inherited from ParameterLib::ParameterBase
std::optional< CoordinateSystem_coordinate_system
MeshLib::Mesh const * _mesh

Constructor & Destructor Documentation

◆ ~Parameter()

template<typename T>
ParameterLib::Parameter< T >::~Parameter ( )
overridedefault

Member Function Documentation

◆ getNodalValuesOnElement()

template<typename T>
virtual Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > ParameterLib::Parameter< T >::getNodalValuesOnElement ( MeshLib::Element const & element,
double const t ) const
inlinevirtual

Returns a matrix of values for all nodes of the given element.

Reimplemented in ParameterLib::ConstantParameter< T >, ParameterLib::MeshElementParameter< T >, ParameterLib::MeshNodeParameter< T >, ParameterLib::RandomFieldMeshElementParameter< T >, and ParameterLib::RasterParameter.

Definition at line 164 of file ParameterLib/Parameter.h.

166 {
167 auto const n_nodes = static_cast<int>(element.getNumberOfNodes());
171
172 // Column vector of values, copied for each node.
173 auto const nodes = element.getNodes();
174 for (int i = 0; i < n_nodes; ++i)
175 {
176 SpatialPosition const x_position{nodes[i]->getID(), element.getID(),
177 *nodes[i]};
178 auto const& values = this->operator()(t, x_position);
179 auto const row_values =
181 values.data(), values.size());
182 result.row(i) = row_values;
183 }
184
185 return result;
186 }
virtual int getNumberOfGlobalComponents() const =0
virtual std::vector< T > operator()(double const t, SpatialPosition const &pos) const =0
Returns the parameter value at the given time and position.

◆ getNumberOfGlobalComponents()

◆ operator()()

◆ ParameterBase()

template<typename T>
ParameterLib::ParameterBase::ParameterBase ( std::string name_,
MeshLib::Mesh const * mesh = nullptr )
inlineexplicit

Definition at line 49 of file ParameterLib/Parameter.h.

52 {
53 }
MeshLib::Mesh const * mesh() const

The documentation for this struct was generated from the following files: