#include <richards.h>
Public Member Functions | |
double | c_value (double h) |
function computes capacity (van Genuchten). | |
vector | darcian_flux (long ipp) |
function computes Darcian velocity (Dracy-Buckingham law) | |
double | dcdh_value (double h) |
function computes derivative of capacity with respect to hydraulic head (van Genuchten). | |
double | ddkkddh_value (double h) |
function computes second derivative of K with respect to h (d^2K/dh^2 van Genuchten). | |
double | dkkdh_value (double h) |
function computes the derivative of K with respect to h (dK/dh van Genuchten). | |
void | give_dof_names (namevart *dofname, long ntm) |
double | kk_value (double h) |
function computes hydraulic conductivity | |
void | matcap (double &c, long ri, long ci, long ipp) |
void | matcond (matrix &d, long ri, long ci, long ipp) |
void | matcond1d (matrix &d, long ri, long ci, long ipp) |
void | matcond1d_2 (matrix &d, long ri, long ci, long ipp) |
void | matcond2 (matrix &d, long ri, long ci, long ipp) |
void | matcond2d (matrix &d, long ri, long ci, long ipp) |
void | matcond2d_2 (matrix &d, long ri, long ci, long ipp) |
void | matcond3d (matrix &d, long ri, long ci, long ipp) |
void | matcond3d_2 (matrix &d, long ri, long ci, long ipp) |
void | print (FILE *out) |
void | read (XFILE *in) |
richards () | |
double | taylor_error (long ipp) |
This function computes first order Taylor serie error of the solution over time. | |
double | theta_val (double h) |
function computes water content (retention curve) (van Genuchten). | |
~richards () | |
Public Attributes | |
long | dim |
dimension of problem solved | |
double | kksxx |
saturated hydraulic conductivities | |
double | kksxy |
double | kksxz |
double | kksyy |
double | kksyz |
double | kkszz |
double | thetas |
saturated water content | |
Private Attributes | |
double | alpha |
parameters of van Genuchten model | |
double | m |
double | n |
double | storage |
specific storage | |
double | thetar |
residual water content |
Definition at line 7 of file richards.h.
richards | ( | ) |
~richards | ( | ) |
Definition at line 40 of file richards.cpp.
double c_value | ( | double | h | ) |
function computes capacity (van Genuchten).
function computes capacity (van Genuchten).
h | - hydraulic head |
1.12.2011 modified 27.3.2014
Definition at line 287 of file richards.cpp.
References alpha, m, n, storage, theta_val(), thetar, and thetas.
Referenced by matcap(), and taylor_error().
vector darcian_flux | ( | long | ipp | ) |
function computes Darcian velocity (Dracy-Buckingham law)
function Darcian flux (Darcy-Buckingham law).
h | - hydraulic head |
27.3.2014
Definition at line 223 of file richards.cpp.
References intpointst::av, dim, flux, intpointst::grad, h(), transmat::ip, kk_value(), kksxx, kksxy, kksxz, kksyy, kksyz, kkszz, mxv(), and Tm.
double dcdh_value | ( | double | h | ) |
function computes derivative of capacity with respect to hydraulic head (van Genuchten).
function computes derivative of capacity with respect to hydraulic head (van Genuchten).
h | - hydraulic head |
1.12.2011
Definition at line 307 of file richards.cpp.
double ddkkddh_value | ( | double | h | ) |
function computes second derivative of K with respect to h (d^2K/dh^2 van Genuchten).
double dkkdh_value | ( | double | h | ) |
function computes the derivative of K with respect to h (dK/dh van Genuchten).
function computes the derivative of K_r (relative hydraulic conductivity) with respect to h (dK/dh van Genuchten).
h | - hydraulic head |
1.12.2011 modified 24.3.2014
Definition at line 134 of file richards.cpp.
Referenced by richardscontam::matcond1d_2(), matcond1d_2(), richardscontam::matcond2d_2(), matcond2d_2(), richardscontam::matcond3d_2(), and matcond3d_2().
void give_dof_names | ( | namevart * | dofname, | |
long | ntm | |||
) |
The function returns ordered dof names of primary unknowns required by the model.
dofname | - array of uknown name for particular nodal dofs (output) dofname[i] = name of i-th nodal unknown (for names see aliast.h - enum namevart) | |
ntm | - number of transported media = number of nodal dof = length of array dofname |
10. 3. 2014, JK
Definition at line 559 of file richards.cpp.
References print_err(), and trf_hydraulic_head.
Referenced by transmat::give_dof_names().
double kk_value | ( | double | h | ) |
function computes hydraulic conductivity
function computes hydraulic conductivity
h | - hydraulic head |
1.12.2011
Definition at line 115 of file richards.cpp.
Referenced by darcian_flux(), richardscontam::matcond1d(), matcond1d(), richardscontam::matcond2d(), matcond2d(), richardscontam::matcond3d(), and matcond3d().
void matcap | ( | double & | c, | |
long | ri, | |||
long | ci, | |||
long | ipp | |||
) |
function creates capacity matrix of the material
c | - capacity matrix of the material | |
ri | - row index | |
ci | - column index | |
ipp | - number of integration point |
Definition at line 535 of file richards.cpp.
References intpointst::av, c_value(), h(), transmat::ip, and Tm.
Referenced by med1::matcap().
void matcond | ( | matrix & | d, | |
long | ri, | |||
long | ci, | |||
long | ipp | |||
) |
function computes conductivity matrix of the material in the required integration point
d | - conductivity matrix of material | |
ri | - row index | |
ci | - column index | |
ipp | - number of integration point |
Definition at line 334 of file richards.cpp.
References matcond1d(), matcond2d(), matcond3d(), matrix::n, n, and print_err().
Referenced by med1::matcond().
void matcond1d | ( | matrix & | d, | |
long | ri, | |||
long | ci, | |||
long | ipp | |||
) |
function creates conductivity matrix of the material for 1D problems
d | - conductivity matrix of the material | |
ri | - row index | |
ci | - column index | |
ipp | - number of integration point |
Definition at line 367 of file richards.cpp.
References intpointst::av, h(), transmat::ip, kk_value(), kksxx, and Tm.
Referenced by matcond().
void matcond1d_2 | ( | matrix & | d, | |
long | ri, | |||
long | ci, | |||
long | ipp | |||
) |
function creates conductivity matrix of the material for 1D problems (convective term)
this matrix is correct only for homogeneous material on finite elements
d | - conductivity matrix of the material | |
ri | - row index | |
ci | - column index | |
ipp | - number of integration point |
Definition at line 466 of file richards.cpp.
References intpointst::av, dkkdh_value(), fillm(), h(), transmat::ip, kksxx, and Tm.
Referenced by matcond2().
void matcond2 | ( | matrix & | d, | |
long | ri, | |||
long | ci, | |||
long | ipp | |||
) |
Definition at line 432 of file richards.cpp.
References matcond1d_2(), matcond2d_2(), matcond3d_2(), matrix::n, n, and print_err().
Referenced by med2::matcond2(), and med1::matcond2().
void matcond2d | ( | matrix & | d, | |
long | ri, | |||
long | ci, | |||
long | ipp | |||
) |
function creates conductivity matrix of the material for 2D problems
d | - conductivity matrix of the material | |
ri | - row index | |
ci | - column index | |
ipp | - number of integration point |
Definition at line 388 of file richards.cpp.
References intpointst::av, fillm(), h(), transmat::ip, kk_value(), kksxx, kksxy, kksyy, and Tm.
Referenced by matcond().
void matcond2d_2 | ( | matrix & | d, | |
long | ri, | |||
long | ci, | |||
long | ipp | |||
) |
function creates conductivity matrix of the material for 1D problems (convective term)
this matrix is correct only for homogeneous material on finite elements
d | - conductivity matrix of the material | |
ri | - row index | |
ci | - column index | |
ipp | - number of integration point |
Definition at line 489 of file richards.cpp.
References intpointst::av, dkkdh_value(), fillm(), h(), transmat::ip, kksxy, kksyy, and Tm.
Referenced by matcond2().
void matcond3d | ( | matrix & | d, | |
long | ri, | |||
long | ci, | |||
long | ipp | |||
) |
function creates conductivity matrix of the material for 3D problems
d | - conductivity matrix of the material | |
ri | - row index | |
ci | - column index | |
ipp | - number of integration point |
Definition at line 415 of file richards.cpp.
References intpointst::av, fillm(), h(), transmat::ip, kk_value(), kksxx, kksxy, kksxz, kksyy, kksyz, kkszz, and Tm.
Referenced by matcond().
void matcond3d_2 | ( | matrix & | d, | |
long | ri, | |||
long | ci, | |||
long | ipp | |||
) |
function creates conductivity matrix of the material for 1D problems (convective term)
this matrix is correct only for homogeneous material on finite elements
d | - conductivity matrix of the material | |
ri | - row index | |
ci | - column index | |
ipp | - number of integration point |
Definition at line 513 of file richards.cpp.
References intpointst::av, dkkdh_value(), fillm(), h(), transmat::ip, kksxz, kksyz, kkszz, and Tm.
Referenced by matcond2().
void print | ( | FILE * | out | ) |
void read | ( | XFILE * | in | ) |
function reads material parameters
in | - input file |
1.12.2011
Definition at line 52 of file richards.cpp.
References alpha, dim, transtop::give_dimension(), kksxx, kksxy, kksxz, kksyy, kksyz, kkszz, m, n, print_err(), storage, thetar, thetas, Tt, and xfscanf().
Referenced by richardscontam::read(), and transmat::readmattype().
double taylor_error | ( | long | ipp | ) |
This function computes first order Taylor serie error of the solution over time.
This function computes first order Taylor serie error of the solution over time.
actual hydraulic head
previous time level hydraulic head the error is defined as
(specific storage must be zero in order to use this function!!)
Definition at line 579 of file richards.cpp.
References intpointst::av, c_value(), transmat::ip, intpointst::pv, theta_val(), and Tm.
double theta_val | ( | double | h | ) |
function computes water content (retention curve) (van Genuchten).
function computes second derivative of K with respect to h (d^2K/dh^2 van Genuchten).
(possibly not needed, consider remove)
h | - hydraulic head |
1.12.2011 function computes water content (van Genuchten).
h | - hydraulic head |
27.3.2014
Definition at line 206 of file richards.cpp.
References alpha, m, n, thetar, and thetas.
Referenced by c_value(), and taylor_error().
double alpha [private] |
parameters of van Genuchten model
Definition at line 54 of file richards.h.
Referenced by c_value(), dcdh_value(), dkkdh_value(), kk_value(), print(), read(), richards(), and theta_val().
long dim |
dimension of problem solved
Definition at line 17 of file richards.h.
Referenced by darcian_flux(), print(), read(), and richards().
double kksxx |
saturated hydraulic conductivities
Definition at line 66 of file richards.h.
Referenced by darcian_flux(), matcond1d(), matcond1d_2(), matcond2d(), matcond3d(), print(), read(), and richards().
double kksxy |
Definition at line 66 of file richards.h.
Referenced by darcian_flux(), matcond2d(), matcond2d_2(), matcond3d(), print(), read(), and richards().
double kksxz |
Definition at line 66 of file richards.h.
Referenced by darcian_flux(), matcond3d(), matcond3d_2(), print(), read(), and richards().
double kksyy |
Definition at line 66 of file richards.h.
Referenced by darcian_flux(), matcond2d(), matcond2d_2(), matcond3d(), print(), read(), and richards().
double kksyz |
Definition at line 66 of file richards.h.
Referenced by darcian_flux(), matcond3d(), matcond3d_2(), print(), read(), and richards().
double kkszz |
Definition at line 66 of file richards.h.
Referenced by darcian_flux(), matcond3d(), matcond3d_2(), print(), read(), and richards().
double m [private] |
Definition at line 56 of file richards.h.
Referenced by c_value(), dcdh_value(), dkkdh_value(), kk_value(), print(), read(), richards(), and theta_val().
double n [private] |
Definition at line 55 of file richards.h.
Referenced by c_value(), dcdh_value(), dkkdh_value(), kk_value(), matcond(), matcond2(), print(), read(), richards(), and theta_val().
double storage [private] |
specific storage
Definition at line 62 of file richards.h.
Referenced by c_value(), dcdh_value(), and read().
double thetar [private] |
residual water content
Definition at line 60 of file richards.h.
Referenced by c_value(), dcdh_value(), print(), read(), richards(), and theta_val().
double thetas |
saturated water content
Definition at line 68 of file richards.h.
Referenced by c_value(), dcdh_value(), print(), read(), richards(), and theta_val().