00001 #ifndef CON_AWF1MAT_H
00002 #define CON_AWF1MAT_H
00003
00004 #include "genfile.h"
00005
00006
00007
00008
00009
00010
00011 class con_awf1mat
00012 {
00013 public:
00014 con_awf1mat();
00015 ~con_awf1mat();
00016
00017
00018 void matcond (matrix &d,long ri,long ci,long ipp);
00019 void matcap (double &cc,long ri,long ci,long ipp);
00020
00021 void matcond1d (matrix &d,long ri,long ci,long ipp);
00022 void matcond2d (matrix &d,long ri,long ci,long ipp);
00023 void matcond3d (matrix &d,long ri,long ci,long ipp);
00024
00025 void read(XFILE *in);
00026
00027 void rhs_volume (matrix &d,long ri,long ci,long ipp);
00028 void rhs1d1 (matrix &d,long ri,long ci,long ipp);
00029 void rhs2d1 (matrix &d,long ri,long ci,long ipp);
00030 void rhs3d1 (matrix &d,long ri,long ci,long ipp);
00031
00032 double get_sw(double pw);
00033 double get_dsw_dpw(double pw);
00034 double get_krw(double pw);
00035 double get_phi();
00036 double get_kintr();
00037 double get_alpha();
00038 double get_kw();
00039 double get_muw();
00040
00041 double get_kww(double pw,long ipp);
00042
00043 double get_capww(double pw);
00044
00045 double get_fw1(double pw,long ipp);
00046
00047 double get_othervalue(long compother,double pw, long ipp);
00048 void print_othervalue_name(FILE *out,long compother);
00049 void values_correction (vector &nv, long ipp);
00050 void water_pressure_check(double &pw,long ipp);
00051 void updateval (long ipp);
00052 void initval(long ipp);
00053
00054
00055 void give_dof_names(namevart *dofname, long ntm);
00056
00057 double give_water_pressure(long ipp);
00058 double give_suction(long ipp);
00059 double give_saturation_degree(long ipp);
00060
00061
00062 void give_reqntq(long *antq);
00063
00064 private:
00065
00066 waterflowtype model_type;
00067 double alpha,phi0,ks;
00068 double kw,rhow,muw0;
00069 double kintr;
00070 double ssat,sirr,alfa,ksat,gamaw;
00071 double hp_min,htz,r;
00072 double delta,expn;
00073 double k0,e0,lam0,lam,m,sigma_m_bar;
00074 double kappa,sigma_m_eff_bar,sigma_m_tot_bar,sigma_m_eff_init;
00075 };
00076
00077 #endif