00001 #ifndef KUNMAT2_H
00002 #define KUNMAT2_H
00003
00004 #include "genfile.h"
00005
00006 class kunmat2
00007 {
00008 public:
00009 kunmat2();
00010 ~kunmat2();
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 &x1,double x2,long ipp);
00023
00024 double DerivaceTlakuNasycenychParNaTeplote(double x1, double x2);
00025 double PermeabilitaVodniPary( double x1, double x2, long ipp);
00026 double tokJ1(double x1, double x2, long ipp);
00027 double tokJ2(double x1, double x2, long ipp);
00028 double tokJ4(double x1, double x2, long ipp);
00029 double tokJ3(double x1, double x2, long ipp);
00030 double TlakNasycenychVodnichParNaTeplote(double x1, double x2);
00031 double LatentHeatofEvaporationOfWater(double x1, double x2);
00032 double DerivaceHustotyEntalpiePodleTeploty(double x1, double x2, long ipp);
00033 double HygroscopicMoisture(double x1, double x2);
00034 double DerivativeOfTheSorptionIsotherm(double x1, double x2);
00035 double DerivativeOfTheRetentionCurve(double x1, double x2);
00036 double DerivativeOfTheMoistureRetentionCharacteristik(double x1, double x2, long ipp);
00037 double soptionizothermDerivation(double x1, double x2);
00038 void read(XFILE *in);
00039
00040 void sorption_izoterms_values(int kod, long ipp, double x1,double xpv, double ineq1, double & w, double & dwdf);
00041 void kapa_values(int kod, long ipp,double x1, double xpv, double ineq1, double &kapa);
00042 void hystereze2 (int matchar, double x, double xpv, double ineq1,double & outvalue,double & outvalue2, long ipp);
00043
00044
00045 double transmission_transcoeff(double trc,long ri,long ci,long nn,long bc,long ipp);
00046 double transmission_nodval(double nodval,double trc2,long ri,long ci,long nn,long bc,long ipp);
00047 double transmission_flux(double nodval,double trc2,long ri,long ci,long nn,long bc,long ipp);
00048
00049 double get_transmission_transcoeff_hh(double x1,double x2,long bc,long ipp);
00050 double get_transmission_nodval_hh(double bv,double x1,double x2,long bc,long ipp);
00051 double get_transmission_flux_hh(double bv,double x1,double x2,long bc,long ipp);
00052
00053 double get_transmission_transcoeff_tt(double x1,double x2,long bc,long ipp);
00054 double get_transmission_nodval_tt(double bv,double x1,double x2,long bc,long ipp);
00055 double get_transmission_flux_tt(double bv,double x1,double x2,long bc,long ipp);
00056
00057 double get_othervalue(long compother,double x1,double x2, long ipp);
00058 void print_othervalue_name(FILE *out,long compother);
00059
00060 void give_data(double rh,double Mhmc, double Smc, double Mhrh,double & moistakt);
00061
00062 double kapa_exp(double a, double b,double x1w, double x2, long ipp);
00063 void CorD(int cislochar, int &kvyhl,double in, double x, double & y, double & z, double &z2);
00064
00065 double si_kk_hansen(double x1, double x2,double u, double a, double n);
00066
00067 double derivation_sorption_izoterm_data(double x1, double x2, double x3, long ipp);
00068 double derivation_dy_dx (int matchar, double prom, int pomk1, int pomk2);
00069 void der_value_hyst (int matchar,int kod, double pv, double & outvalue,double & outvalue2, long ipp);
00070
00071 void give_values (long ipp,double *av,double *inp, double *ineq);
00072 void aux_values (long ipp,double *in,double *inp, double *ineq,double *out);
00073 void save_values (long ipp,double *out);
00074
00075 void initvalues (long ipp,long ido);
00076
00077 private:
00078 double J1;
00079 double J2;
00080 double J3;
00081 double J4;
00082
00083 int madripom;
00084 int kd;
00085 double a1,a2,a3;
00086 double k1[20],k2[20],k3[20],k4[20],k5[20],k6[20];
00087
00088
00089
00090
00091 int MatChar [20];
00092 double MatConst [20];
00093 double MatData [20][4][150];
00094 double MatFunce [20][5];
00095 double Init[20];
00096
00097
00098
00099
00100 double rho_m,rho_w,moist,dmoistdrh;
00101 };
00102
00103 #endif