00001 #ifndef KUNMAT_H
00002 #define KUNMAT_H
00003
00004 #include "genfile.h"
00005
00006 class kunmat
00007 {
00008 public:
00009 kunmat();
00010 ~kunmat();
00011
00012 void print(FILE *out);
00013
00014 void matcond (matrix &d,long ri,long ci,long ipp);
00015 void matcap (double &c,long ri,long ci,long ipp);
00016
00017 void matcond1d (matrix &d,long ri,long ci,long ipp);
00018 void matcond2d (matrix &d,long ri,long ci,long ipp);
00019 void matcond3d (matrix &d,long ri,long ci,long ipp);
00020
00021 void values_correction (vector &nv, long ipp);
00022 void relhum_check(double &rh,double &t,long ipp);
00023
00024 double DerivaceTlakuNasycenychParNaTeplote(double Fi, double TK);
00025 double PermeabilitaVodniPary( double Fi, double TK, long ipp);
00026 double tokJ2(double Fi, double TK, long ipp);
00027 double tokJ4(double Fi, double TK, long ipp);
00028 double tokJ3(double Fi, double TK, long ipp);
00029 double TlakNasycenychVodnichParNaTeplote(double Fi, double TK);
00030 double LatentHeatofEvaporationOfWater(double Fi, double TK);
00031 double DerivaceHustotyEntalpiePodleTeploty(double Fi, double TK, long ipp);
00032 double HygroscopicMoisture(double Fi, double TK);
00033 double DerivativeOfTheSorptionIsotherm(double Fi, double TK);
00034 double DerivativeOfTheRetentionCurve(double rh, double tk, long ipp);
00035 double DerivativeOfTheMoistureRetentionCharacteristik(double Fi, double TK, long ipp);
00036 double soptionizothermDerivation(double Fi, double TK);
00037 double tokJ1(double Fi, double TK, long ipp);
00038 void read(XFILE *in);
00039
00040
00041 double transmission_transcoeff(double trc,long ri,long ci,long nn,long bc,long ipp);
00042 double transmission_nodval(double nodval,double trc2,long ri,long ci,long nn,long bc,long ipp);
00043 double transmission_flux(double nodval,double trc2,long ri,long ci,long nn,long bc,long ipp);
00044
00045 double get_transmission_transcoeff_hh(double rh,double t,long bc,long ipp);
00046 double get_transmission_nodval_hh(double bv,double rh,double t,long bc,long ipp);
00047 double get_transmission_flux_hh(double bv,double rh,double t,long bc,long ipp);
00048
00049 double get_transmission_transcoeff_tt(double h,double t,long bc,long ipp);
00050 double get_transmission_nodval_tt(double bv,double h,double t,long bc,long ipp);
00051 double get_transmission_flux_tt(double bv,double h,double t,long bc,long ipp);
00052
00053 double get_othervalue(long compother,double rh,double t, long ipp);
00054 void print_othervalue_name(FILE *out,long compother);
00055
00056 void give_data(double rh,double Mhmc, double Smc, double Mhrh,double & moistakt);
00057
00058 double kapa_exp(double a, double b,double rh, double tk, long ipp);
00059 void CorD(int cislochar, int &kvyhl,double in, double x, double & y, double & z, double &z2);
00060 void sorption_izoterms_giva_data(int kod,double rh, double tk, double & moist, double & dmoistdrh, long ipp);
00061 double si_kk_hansen(double rh, double tk,double u, double a, double n);
00062
00063 double derivation_sorption_izoterm_data(double x1, double x2, double x3);
00064 void sorption_izoterms_values(int kod, long ipp, double x1,double xpv, double ineq1, double & w, double & dwdf);
00065 void aux_values (long ipp,double *in,double *inp, double *ineq,double *out);
00066 void save_values (long ipp,double *out);
00067 void give_values (long ipp,double *av,double *inp, double *ineq);
00068 void initvalues (long ipp,long ido);
00069
00070 void kapa_values (int kod, long ipp,double x1, double xpv, double ineq1, double &kapa);
00071
00072 private:
00073 double J1;
00074 double J2;
00075 double J3;
00076 double J4;
00077
00078 int madripom;
00079 int kd;
00080 double a1,a2,a3;
00081
00082
00083
00084
00085 int MatChar [20];
00086 double MatConst [20];
00087 double MatData [20][3][150];
00088 double MatFunce [20][5];
00089
00090
00091
00092 void aux_values (long ipp);
00093
00094 double rho_m,rho_w,moist,dmoistdrh;
00095 };
00096
00097 #endif