LandscapeDNDC 1.37.0
Loading...
Searching...
No Matches
ld_vangenuchten.h
1
8
9#ifndef LDNDC_SCIENTIFIC_VANGENUCHTEN_H_
10#define LDNDC_SCIENTIFIC_VANGENUCHTEN_H_
11
12#include "crabmeat-common.h"
13
14namespace ldndc { namespace hydrology
15{
16 CBM_API double
17 capillary_pressure(
18 double const & /*water saturation/content*/,
19 double const & /*Van Genuchten alpha*/,
20 double const & /*Van Genuchten n*/,
21 double const & /*Van Genuchten m*/,
22 double const & /*saturated water saturation/content*/,
23 double const & /*residual water saturation/content*/);
24
25 CBM_API double
26 water_content(
27 double const & /*capillary pressure*/,
28 double const & /*Van Genuchten alpha*/,
29 double const & /*Van Genuchten n*/,
30 double const & /*Van Genuchten m*/,
31 double const & /*saturated water saturation/content*/,
32 double const & /*residual water saturation/content*/);
33
34 CBM_API double
35 hydraulic_conductivity(
36 double const & /*water saturation/content*/,
37 double const & /*Van Genuchten m*/,
38 double const & /*saturated water saturation/content*/,
39 double const & /*residual water saturation/content*/,
40 double const & /*saturated hydraulic conductivity*/);
41
42
43 class CBM_API VanGenuchten
44 {
45 public:
46
47 VanGenuchten();
48
49 VanGenuchten(
50 double /* Van Genuchten alpha */,
51 double /* Van Genuchten n */,
52 double /* Saturated hydraulic conductivity */,
53 double /* Residual water saturation */,
54 double /* Maximum water saturation */);
55
56 ~VanGenuchten();
57
58 void
59 set_parameters(
60 double /* Van Genuchten alpha */,
61 double /* Van Genuchten n */,
62 double /* Saturated hydraulic conductivity */,
63 double /* Residual water saturation */,
64 double /* Maximum water saturation */);
65
66 double
67 capillary_pressure(
68 double const & /*effective saturation*/);
69
70 double
71 hydraulic_conductivity(
72 double const & /*effective saturation*/);
73
74 double
75 specific_moisture_storage(
76 double const & /*effective saturation*/);
77
78 inline double vg_alpha() const { return this->m_vg_alpha;}
79 inline double vg_n() const { return this->m_vg_n;}
80 inline double vg_m() const { return this->m_vg_m;}
81
82 inline double theta_r() const { return this->m_theta_r;}
83 inline double theta_s() const { return this->m_theta_s;}
84
85 private:
86
87 double m_vg_alpha;
88 double m_vg_n;
89 double m_vg_m;
90
91 double m_k_sat;
92 double m_theta_s;
93 double m_theta_r;
94
95 double
96 volumetric_moisture_content(
97 double const & /*pressure head*/);
98
99 double
100 effective_saturation(
101 double const & /*pressure head*/);
102 };
103
104} /* namespace hydrology */
105} /* namespace ldndc */
106
107#endif /* !LDNDC_SCIENTIFIC_VANGENUCHTEN_H_ */
108
Spatially explicit groundwater model.
Definition airchemistryput.h:15