00001 #ifndef MOISTHEATMAT_H
00002 #define MOISTHEATMAT_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 class moistheatmat
00028 {
00029 public:
00030 moistheatmat();
00031 ~moistheatmat();
00032
00033 void read(XFILE *in);
00034 void print(FILE *out);
00035
00036 void matcond (matrix &d,long ri,long ci,long ipp);
00037 void matcap (double &c,long ri,long ci,long ipp);
00038
00039 void matcond1d (matrix &d,long ri,long ci,long ipp);
00040 void matcond2d (matrix &d,long ri,long ci,long ipp);
00041 void matcond3d (matrix &d,long ri,long ci,long ipp);
00042
00043 void values_correction (vector &nv);
00044
00045 double derivative_of_saturated_water_vapor_pressure(double tk);
00046 double water_vapour_permeability(double tk, long ipp);
00047 double kmm(long ipp);
00048 double kmt(long ipp);
00049 double khm(long ipp);
00050 double kht(long ipp);
00051 double cmm(long ipp);
00052 double cmt(long ipp);
00053 double chm(long ipp);
00054 double cht(long ipp);
00055 double saturated_water_vapor_pressure(double tk);
00056 double latent_heat_of_evaporation_of_water(double tk);
00057 double derivative_of_the_enthalpy_density(long ipp);
00058
00059
00060 double transmission_nodval (double nodval,long ri,long ci,long nid,long bc);
00061 double get_transmission_nodval_hh (double bv,double rh,double t,long bc);
00062 double get_transmission_nodval_th (double bv,long bc);
00063 double get_transmission_nodval_tt (double bv,long bc);
00064
00065
00066 double transmission_transcoeff (double trc,long ri,long ci,long nid,long bc);
00067 double get_transmission_transcoeff_hh (double t,long bc);
00068 double get_transmission_transcoeff_tt (double trcp,long bc);
00069 double get_transmission_transcoeff_th (double t,long bc);
00070
00071 double transmission_flux (double nodval,long ri,long ci,long nid,long bc);
00072 double get_transmission_flux_hh (double bv,double rh,double t,long bc);
00073 double get_transmission_flux_tt (double bv,double t,long bc);
00074
00075 double get_othervalue(long compother,double rh,double t, long ipp);
00076 void print_othervalue_name(FILE *out,long compother);
00077
00078 void aux_values (long ipp,double *inv,double *inp,double *ine,double *out);
00079 void save_values (long ipp,double *out);
00080 void give_values (long ipp,double *av,double *pv,double *eq);
00081 void initvalues (long ipp,long ido);
00082
00083
00084 void give_dof_names(namevart *dofname, long ntm);
00085
00086
00087 double give_temperature (long ipp);
00088
00089
00090 double give_inittemperature (long ipp);
00091
00092
00093 double give_rel_hum (long ipp);
00094
00095
00096 double give_press_water_vapor (long ipp);
00097
00098
00099 double give_vol_moist (long ipp);
00100
00101
00102 void give_reqntq(long *antq);
00103
00104
00105 long kd;
00106 double a1,a2,a3;
00107
00108
00109
00110
00111 gfunct *data[20];
00112
00113
00114 double rho_m,rho_w,moist,dmoistdrh;
00115 double M, R;
00116
00117
00118
00119 isotherm isoth;
00120
00121
00122 gfunct rho;
00123
00124 isotherm sorpiso;
00125
00126 gfunct sm;
00127
00128 gfunct c;
00129
00130 gfunct lambda;
00131
00132
00133 gfunct dpp;
00134
00135
00136 gfunct transpar;
00137
00138
00139 gfunct teptr;
00140
00141
00142 static dampermeability damper;
00143
00144 flagsw daminfl;
00145 };
00146
00147 #endif