OGS
Permeability.h
Go to the documentation of this file.
1
10#pragma once
11
12#include <Eigen/Core>
13
14#include "BaseLib/Error.h"
16
17namespace MaterialLib
18{
19namespace PorousMedium
20{
25{
26public:
27 explicit Permeability(
28 ParameterLib::Parameter<double> const& permeability_parameter,
29 int const dimension)
30 : _permeability_parameter(permeability_parameter), _dimension(dimension)
31 {
32 if (permeability_parameter.getNumberOfGlobalComponents() !=
34 {
35 OGS_FATAL(
36 "The given parameter has {:d} components, but the permeability "
37 "tensor is defined for a {:d} dimensional problem.",
38 permeability_parameter.getNumberOfGlobalComponents(),
39 _dimension);
40 }
41 }
42
43 virtual ~Permeability() = default;
44
52 virtual Eigen::MatrixXd getValue(const double t,
54 const double variable,
55 const double temperature) const
56 {
57 (void)variable;
58 (void)temperature;
59
60 return Eigen::Map<Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic,
61 Eigen::RowMajor> const>(
63 }
64
65private:
67 int const _dimension;
68};
69
70} // namespace PorousMedium
71} // namespace MaterialLib
Permeability(ParameterLib::Parameter< double > const &permeability_parameter, int const dimension)
virtual Eigen::MatrixXd getValue(const double t, ParameterLib::SpatialPosition const &pos, const double variable, const double temperature) const
ParameterLib::Parameter< double > const & _permeability_parameter
virtual int getNumberOfGlobalComponents() const =0