00001 #ifndef KUNMAT_H
00002 #define KUNMAT_H
00003
00004 #include "genfile.h"
00005 #include "isotherm.h"
00006 #include "dampermeability.h"
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045 class kunmat
00046 {
00047 public:
00048 kunmat();
00049 ~kunmat();
00050
00051 void read(XFILE *in);
00052 void print(FILE *out);
00053
00054 void matcond (matrix &d,long ri,long ci,long ipp);
00055 void matcap (double &c,long ri,long ci,long ipp);
00056
00057 void matcond1d (matrix &d,long ri,long ci,long ipp);
00058 void matcond2d (matrix &d,long ri,long ci,long ipp);
00059 void matcond3d (matrix &d,long ri,long ci,long ipp);
00060
00061 void values_correction (vector &nv);
00062
00063 double derivative_of_saturated_water_vapor_pressure(double tk);
00064 double water_vapour_permeability(double tk, long ipp);
00065 double kmm(long ipp);
00066 double kmt(long ipp);
00067 double khm(long ipp);
00068 double kht(long ipp);
00069 double cmm(long ipp);
00070 double cmt(long ipp);
00071 double chm(long ipp);
00072 double cht(long ipp);
00073 double saturated_water_vapor_pressure(double tk);
00074 double latent_heat_of_evaporation_of_water(double tk);
00075 double derivative_of_the_enthalpy_density(long ipp);
00076
00077
00078 double transmission_nodval (double nodval,long ri,long ci,long nid,long bc);
00079 double get_transmission_nodval_hh (double bv,double rh,double t,long bc);
00080 double get_transmission_nodval_th (double bv,long bc);
00081 double get_transmission_nodval_tt (double bv,long bc);
00082
00083
00084 double transmission_transcoeff (double trc,long ri,long ci,long nid,long bc);
00085 double get_transmission_transcoeff_hh (double t,long bc);
00086 double get_transmission_transcoeff_tt (double trcp,long bc);
00087 double get_transmission_transcoeff_th (double t,long bc);
00088
00089 double transmission_flux (double nodval,long ri,long ci,long nid,long bc);
00090 double get_transmission_flux_hh (double bv,double rh,double t,long bc);
00091 double get_transmission_flux_tt (double bv,double t,long bc);
00092
00093 double get_othervalue(long compother,double rh,double t, long ipp);
00094 void print_othervalue_name(FILE *out,long compother);
00095
00096 double kapa_exp(double a, double b,double rh);
00097 void CorD(long charid,long &kvyhl,double x, double &y, double &z,double &z2);
00098
00099
00100
00101 void aux_values (long ipp,double *inv,double *inp,double *ine,double *out);
00102 void save_values (long ipp,double *out);
00103 void give_values (long ipp,double *av,double *pv,double *eq);
00104 void initvalues (long ipp,long ido);
00105
00106
00107
00108
00109 void hystereze (long ipp,double *inv,double *inp,double *ine,double *out);
00110
00111
00112 void give_dof_names(namevart *dofname, long ntm);
00113
00114
00115 double give_temperature (long ipp);
00116
00117
00118 double give_inittemperature (long ipp);
00119
00120
00121 double give_rel_hum (long ipp);
00122
00123
00124 double give_vol_moist (long ipp);
00125
00126
00127 void give_reqntq(long *antq);
00128
00129
00130 long kd;
00131 double a1,a2,a3;
00132
00133
00134
00135
00136 long MatChar [20];
00137
00138
00139 double MatFunce [20][5];
00140
00141 gfunct *data[20];
00142
00143
00144 double rho_m,rho_w,moist,dmoistdrh;
00145 double M, R;
00146
00147
00148
00149
00150
00151
00152 long kunzeltype;
00153
00154
00155 long kmmtype;
00156
00157
00158 isotherm isoth;
00159
00160 static dampermeability damper;
00161
00162
00163 gfunct rho;
00164
00165 gfunct por;
00166
00167 gfunct mu;
00168
00169 gfunct kappa;
00170
00171 gfunct kappadry;
00172
00173 isotherm sorpiso;
00174
00175 isotherm desorpiso;
00176
00177 gfunct sm;
00178
00179 gfunct c;
00180
00181 gfunct lambda;
00182
00183
00184 gfunct dpp;
00185
00186
00187 gfunct transpar;
00188
00189
00190 double asi;
00191
00192 double adsi;
00193
00194 double akappa;
00195
00196 double adkappa;
00197
00198
00199 double time_hyst;
00200
00201
00202 flagsw daminfl;
00203 };
00204
00205 #endif