Flow123d
release_3.0.0-973-g92f55e826
|
Go to the documentation of this file.
8 #ifndef _HYDRO_FUNCTIONS_HH
9 #define _HYDRO_FUNCTIONS_HH
15 namespace internal {
class VanGenuchten; }
63 virtual double conductivity(
const double &phead)
const =0;
73 template <
class Model>
88 double conductivity(
const double &p_head)
const override;
120 template <
class T> T
Q_rel(
const T &h)
const;
121 template <
class T> T
Q_rel_inv(
const T &q)
const;
380 inline double cap_arg_max() const { return -0.765378926665788882857; }
383 T FK(const T &h) const
385 if (h>=0.0) return ( 2.0 );
386 return ( 2.0 / (1+h*h) );
390 T FQ(const T &h) const
392 static T pi_half =std::atan(1.0)*2;
393 if (h>=0.0) return ( 2.0*pi_half*pi_half );
395 return ( 2*pi_half*pi_half - a_tan*a_tan );
402 class HydroModel_linear
404 HydroModel_linear(ParameterHandler &prm) {};
408 T FK(const T &h) const {
413 T FQ(const T &h) const {
T conductivity_(const T &h) const
k(h)=t(h)**(0.5)* (1- ((h)**n/(1+(h)**n)) **m)**2
virtual void reset(SoilData soil)=0
virtual double water_content(const double &phead) const =0
void reset(SoilData data) override
void reset_(SoilData soil)
T Q_rel_inv(const T &q) const
double water_content(const double &p_head) const override
auto conductivity_diff(const DiffDouble &p_head) -> DiffDouble const override
T water_content_(const T &h) const
SoilModelImplBase< internal::Irmay > SoilModel_Irmay
double conductivity(const double &p_head) const override
T conductivity_(const T &h) const
virtual auto conductivity_diff(const DiffDouble &p_head) -> DiffDouble const =0
SoilModelBase::DiffDouble DiffDouble
fadbad::B< double > DiffDouble
T Q_rel(const T &h) const
virtual double conductivity(const double &phead) const =0
SoilModelImplBase< internal::VanGenuchten > SoilModel_VanGenuchten
auto water_content_diff(const DiffDouble &p_head) -> DiffDouble const override
virtual auto water_content_diff(const DiffDouble &p_head) -> DiffDouble const =0
SoilModelImplBase(double cut_fraction=0.999)