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