00001 #ifndef BAZPED_H
00002 #define BAZPED_H
00003
00004 #include "genfile.h"
00005
00006 class bazpedmat
00007 {
00008 public:
00009 bazpedmat();
00010 ~bazpedmat();
00011
00012 void matcond (matrix &d,long ri,long ci,long ipp);
00013 void matcap (double &c,long ri,long ci,long ipp);
00014
00015 void matcond1d (matrix &d,long ri,long ci,long ipp);
00016 void matcond2d (matrix &d,long ri,long ci,long ipp);
00017 void matcond3d (matrix &d,long ri,long ci,long ipp);
00018
00019 void matcond2 (matrix &d,long ri,long ci,long ipp);
00020
00021 void matcond1d_2 (matrix &d,long ri,long ci,long ipp);
00022 void matcond2d_2 (matrix &d,long ri,long ci,long ipp);
00023 void matcond3d_2 (matrix &d,long ri,long ci,long ipp);
00024
00025 double perm_ww(double w,double t);
00026 double perm_wt(double w,double t);
00027 double perm_tw(double w,double t);
00028 double perm_tt(double w,double t);
00029 double c_ww (double w,double t);
00030 double c_wt (double w,double t);
00031 double c_tw (double w,double t);
00032 double c_tt (double w,double t);
00033
00034 void values_correction (vector &nv);
00035 void moisture_check(double &w,double t,long ipp);
00036
00037 double get_delta_gw(double phi,double w);
00038 double get_kw_g(double w);
00039 double sorption_isotherm(double w_h_s, double a_s, double n_s, double phi);
00040 double inverse_sorption_isotherm(double w);
00041 double inverse_sorption_isotherm(double w_h_s, double a_s, double n_s, double w);
00042 double suction_curve(double s);
00043 double inverse_suction_curve(double w,double t);
00044 double get_p_gws(double t);
00045
00046 double transmission_nodval (double nodval,double trc2,long ri,long ci,long nid,long bc);
00047 double get_transmission_nodval_ww (double bv,double w,double t,long bc);
00048 double get_transmission_nodval_tt (double bv,double t,long bc);
00049
00050 double transmission_flux (double nodval,double trc2,long ri,long ci,long nid,long bc);
00051 double get_transmission_flux_ww (double bv,double w,double t,long bc);
00052 double get_transmission_flux_tt (double bv,double w,double t,long bc);
00053
00054 double transmission_transcoeff (double trc,long ri,long ci,long nid,long bc);
00055 double get_transmission_transcoeff_ww (double w,double t,long bc);
00056 double get_transmission_transcoeff_tt (double w,double t,long bc);
00057
00058 double get_othervalue(long compother,double w,double t);
00059 void print_othervalue_name(FILE *out,long compother);
00060
00061 void read(XFILE *in);
00062 void print(FILE *out);
00063
00064
00065 private:
00066 double por;
00067 double a_0;
00068 double nn;
00069 double phi_c;
00070 double delta_wet;
00071 double delta_dry;
00072 double rho;
00073
00074 double ceff;
00075 double chieff;
00076
00077 double w_h_sorp;
00078 double n_sorp;
00079 double a_sorp;
00080 double mw;
00081 double gasr;
00082 double rhow;
00083 double awet,bwet;
00084 double k_wg;
00085 double ak,bk;
00086 double nk;
00087 double w_cr,w_cap,w_vac,w_98;
00088 double dhvap;
00089
00090 double get_dphi_dw(double w);
00091 double get_dpgw_dt(double t, double phi);
00092 double get_dpc_dw(double w, double t);
00093 double get_dpc_dt(double w, double t);
00094 };
00095
00096 #endif