richards Class Reference

#include <richards.h>

List of all members.

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

Detailed Description

Definition at line 7 of file richards.h.


Constructor & Destructor Documentation

richards (  ) 

Definition at line 16 of file richards.cpp.

References alpha, dim, kksxx, kksxy, kksxz, kksyy, kksyz, kkszz, m, n, thetar, and thetas.

~richards (  ) 

Definition at line 40 of file richards.cpp.


Member Function Documentation

double c_value ( double  h  ) 

function computes capacity (van Genuchten).

function computes capacity (van Genuchten).

Parameters:
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).

Parameters:
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).

Parameters:
h - hydraulic head

1.12.2011

Definition at line 307 of file richards.cpp.

References alpha, m, n, storage, thetar, and thetas.

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).

Parameters:
h - hydraulic head

1.12.2011 modified 24.3.2014

Definition at line 134 of file richards.cpp.

References alpha, m, and n.

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.

Parameters:
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

Parameters:
h - hydraulic head

1.12.2011

Definition at line 115 of file richards.cpp.

References alpha, m, and n.

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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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  ) 

function prints material parameters

Parameters:
out - output file

1.12.2011

Definition at line 87 of file richards.cpp.

References alpha, dim, kksxx, kksxy, kksxz, kksyy, kksyz, kkszz, m, n, thetar, and thetas.

Referenced by richardscontam::print(), and transmat::printmatchar().

void read ( XFILE in  ) 

function reads material parameters

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.

\[ h_n \]

actual hydraulic head

\[ h_p \]

previous time level hydraulic head the error is defined as

\[ \epsilon(h_n) = \theta(h_p) +C(h_p)(h_p-h_n) - \theta(h_n) \]

(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)

Parameters:
h - hydraulic head

1.12.2011 function computes water content (van Genuchten).

Parameters:
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().


Member Data Documentation

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]
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().


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

Generated by  doxygen 1.6.2