00001 #ifndef MILLYMAT_H
00002 #define MILLYMAT_H
00003
00004 #include <stdio.h>
00005 #include "genfile.h"
00006
00007 class millymat
00008 {
00009 public:
00010 millymat (void);
00011 ~millymat (void);
00012
00013 void matcond (matrix &d,long ri,long ci,long ipp);
00014 void matcap (double &c,long ri,long ci,long ipp);
00015
00016 void matcond1d (matrix &d,long ri,long ci,long ipp);
00017 void matcond2d (matrix &d,long ri,long ci,long ipp);
00018 void matcond3d (matrix &d,long ri,long ci,long ipp);
00019
00020 void read (XFILE *in);
00021
00022 double k11 (double x1,double x2,long ipp);
00023 double k12 (double x1,double x2,long ipp);
00024
00025 double k21 (double x1,double x2,long ipp);
00026 double k22 (double x1,double x2,long ipp);
00027
00028 double c11 (double x1,double x2,long ipp);
00029 double c12 (double x1,double x2,long ipp);
00030
00031 double c21 (double x1,double x2,long ipp);
00032 double c22 (double x1,double x2,long ipp);
00033
00034 void auxiliarydata (double x1,double x2);
00035
00036 double transmission_transcoeff(double trc,long ri,long ci,long nn,long bc,long ipp);
00037 double transmission_nodval(double nodval,long ri,long ci,long nn,long bc,long ipp);
00038 double transmission_flux(double nodval,long ri,long ci,long nn,long bc,long ipp);
00039
00040 double get_transmission_nodval_11(double bv,double x1,double x2,long bc,long ipp);
00041 double get_transmission_transcoeff_11(double x1,double x2,long bc,long ipp);
00042 double get_transmission_flux_11(double bv,double x1,double x2,long bc,long ipp);
00043
00044 void values_correction (vector &nv);
00045 double get_othervalue(long compother,long ipp, double x1,double x2);
00046 void print_othervalue_name(FILE *out,long compother);
00047 double saturation_water_vapour_pressure(double x1, double x2);
00048 double derivation_saturation_water_vapour_pressure_temperature(double x1, double x2);
00049 double relative_volume_ration_a(double x1, double x2, double ul);
00050 double relative_humidity_pc(double x1, double x2);
00051 double relative_humidity_psi(double x1, double x2);
00052 double coeef_zaporneA (double x1, double x2, long ipp);
00053 double coeef_B (double x1, double x2, long ipp);
00054 double coeef_C (double x1, double x2, long ipp);
00055 double diffusion_coefficient_of_water_vapor_in_air(double x1, double x2);
00056 double partial_water_vapour_pressure_function(double x1, double x2, long ipp);
00057 double coeff_Kv (double x1, double x2, long ipp);
00058 double coeff_Dtv (double x1, double x2, long ipp);
00059 double gaseous_moisture_content_by_mass (double x1, double x2, long ipp);
00060 double specific_enthalpy_of_porous_matrix (double x1, double x2);
00061 double specific_enthalpy_of_liquid_phase (double x1, double x2);
00062 double specific_enthalpy_of_gaseous_phase (double x1, double x2);
00063 double latent_heat_of_evaporation_of_water(double x1, double x2);
00064 double derivation_water_retention_curve_by_pressure_head (double x1, double x2);
00065 double derivation_water_retention_curve_by_temperature (double x1, double x2);
00066 double give_ul (double x1, double x2, double &fi,double &dmoistdrh);
00067 double give_ul_sorption_izothemrs (double x1, double x2,double rh, double &dmoistdrh );
00068 double give_ul_retention_curve (double x1, double x2, double rh, double &dmoistdrh );
00069 double capilar_pressure (double x1, double x2);
00070 double ul_to_w (double ul);
00071 double derivation_sorption_izoterm_data(double x1, double x2, int kod);
00072 double DerivativeOfTheSorptionIsotherm(double x1, double x2,double rh,double &moistakt1);
00073 void CorD(int cislochar, int &kvyhl,double in,int rhw, double x, double & y, double & z, double &z2);
00074 void initvalues (long ipp,long ido);
00075 void save_values (long ipp,double *out);
00076 void give_values (long ipp,double *av, double *pv, double *eq);
00077 void aux_values (long ipp,double *in,double *inp, double *ineq,double *out);
00078
00079
00080 private:
00081
00082 int MatChar [20];
00083 double MatConst [20];
00084 double MatData [20][3][150];
00085 double MatFunce [20][5];
00086
00087 int madripom;
00088 int kd;
00089 double a1,a2,a3;
00090
00091
00092 };
00093
00094 #endif
00095