00001 #ifndef KUNMAT_H
00002 #define KUNMAT_H
00003
00004 #include "genfile.h"
00005
00006
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 class kunmat
00041 {
00042 public:
00043 kunmat();
00044 ~kunmat();
00045
00046 void read(XFILE *in);
00047 void print(FILE *out);
00048
00049 void matcond (matrix &d,long ri,long ci,long ipp);
00050 void matcap (double &c,long ri,long ci,long ipp);
00051
00052 void matcond1d (matrix &d,long ri,long ci,long ipp);
00053 void matcond2d (matrix &d,long ri,long ci,long ipp);
00054 void matcond3d (matrix &d,long ri,long ci,long ipp);
00055
00056 void values_correction (vector &nv);
00057
00058 double DerivaceTlakuNasycenychParNaTeplote(double rh, double tk);
00059 double PermeabilitaVodniPary( double rh, double tk, long ipp);
00060 double tokJ1(double rh, double tk, long ipp);
00061 double tokJ2(double rh, double tk, long ipp);
00062 double tokJ4(double rh, double tk, long ipp);
00063 double tokJ3(double rh, double tk, long ipp);
00064 double TlakNasycenychVodnichParNaTeplote(double rh, double tk);
00065 double LatentHeatofEvaporationOfWater(double tk);
00066 double DerivaceHustotyEntalpiePodleTeploty(double rh, double tk, long ipp);
00067 double HygroscopicMoisture(double rh, double tk);
00068 double DerivativeOfTheSorptionIsotherm(double rh, double tk);
00069 double DerivativeOfTheRetentionCurve(double rh, double tk, long ipp);
00070 double sorptionizothermDerivation(double rh, double tk);
00071
00072
00073 double transmission_transcoeff(double trc,long ri,long ci,long nn,long bc,long ipp);
00074 double transmission_nodval(double nodval,double trc2,long ri,long ci,long nn,long bc,long ipp);
00075 double transmission_flux(double nodval,double trc2,long ri,long ci,long nn,long bc,long ipp);
00076
00077 double get_transmission_transcoeff_hh(double rh,double t,long bc,long ipp);
00078 double get_transmission_nodval_hh(double bv,double rh,double t,long bc,long ipp);
00079 double get_transmission_flux_hh(double bv,double rh,double t,long bc,long ipp);
00080
00081 double get_transmission_transcoeff_tt(double h,double t,long bc,long ipp);
00082 double get_transmission_nodval_tt(double bv,double h,double t,long bc,long ipp);
00083 double get_transmission_flux_tt(double bv,double h,double t,long bc,long ipp);
00084
00085 double get_othervalue(long compother,double rh,double t, long ipp);
00086 void print_othervalue_name(FILE *out,long compother);
00087
00088 void give_data(double rh,double Mhmc, double Smc, double Mhrh,double & moistakt);
00089
00090 double kapa_exp(double a, double b,double rh);
00091 void CorD(long charid,long &kvyhl,double x, double &y, double &z,double &z2);
00092 void sorption_izoterms_giva_data(long kod,double rh, double tk, double & moist, double & dmoistdrh, long ipp);
00093 double si_kk_hansen(double rh, double tk,double u, double a, double n);
00094
00095 double derivative_sorption_izoterm_data(double x1);
00096 void aux_values (long ipp,double *in,double *inp, double *ineq,double *out);
00097 void save_values (long ipp,double *out);
00098 void give_values (long ipp,double *av,double *eq);
00099 void initvalues (long ipp,long ido);
00100
00101 void kapa_values (long kod, long ipp,double x1, double xpv, double ineq1, double &kapa);
00102
00103 private:
00104 double J1;
00105 double J2;
00106 double J3;
00107 double J4;
00108
00109 long kd;
00110 double a1,a2,a3;
00111
00112
00113
00114
00115 long MatChar [20];
00116
00117
00118 double MatFunce [20][5];
00119
00120 gfunct *data[20];
00121
00122
00123 void aux_values (long ipp);
00124
00125 double rho_m,rho_w,moist,dmoistdrh;
00126 };
00127
00128 #endif