00001 #ifndef SALTMAT2_H
00002 #define SALTMAT2_H
00003
00004 #include <stdio.h>
00005 #include "genfile.h"
00006
00007 class saltmat2
00008 {
00009 public:
00010 saltmat2 (void);
00011 ~saltmat2 (void);
00012
00013 void matcond (matrix &d,long ri,long ci,long ipp);
00014 void matcond2 (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 void matcond2d2 (matrix &d,long ri,long ci,long ipp);
00021
00022 void read (XFILE *in);
00023
00024 double k11 (double x1,double x2,double x3);
00025 double k12 (double x1,double x2,double x3);
00026 double k13 (double x1,double x2,double x3);
00027
00028 double k21 (double x1,double x2,double x3);
00029 double k22 (double x1,double x2,double x3);
00030 double k23 (double x1,double x2,double x3);
00031
00032 double k31 (double x1,double x2,double x3);
00033 double k32 (double x1,double x2,double x3);
00034 double k33 (double x1,double x2,double x3);
00035
00036 double c11 (double x1,double x2,double x3);
00037 double c12 (double x1,double x2,double x3);
00038 double c13 (double x1,double x2,double x3);
00039
00040 double c21 (double x1,double x2,double x3);
00041 double c22 (double x1,double x2,double x3);
00042 double c23 (double x1,double x2,double x3);
00043
00044 double c31 (double x1,double x2,double x3);
00045 double c32 (double x1,double x2,double x3);
00046 double c33 (double x1,double x2,double x3);
00047
00048 void auxiliarydata (double x1,double x2,double x3);
00049
00050 double transmission_transcoeff(double trc,long ri,long ci,long nn,long bc,long ipp);
00051 double transmission_nodval(double nodval,long ri,long ci,long nn,long bc,long ipp);
00052 double transmission_flux(double nodval,long ri,long ci,long nn,long bc,long ipp);
00053
00054 double get_transmission_nodval_11(double bv,double x1,double x2,double x3,long bc,long ipp);
00055 double get_transmission_transcoeff_11(double x1,double x2,double x3,long bc,long ipp);
00056 double get_transmission_flux_11(double bv,double x1,double x2,double x3,long bc,long ipp);
00057
00058
00059 double get_othervalue(long compother,long ipp, double x1,double x2,double x3);
00060 void print_othervalue_name(FILE *out,long compother);
00061 double pgws(double t);
00062 double permeabilitavodnipary(double t, double p);
00063 void inverze_sorption_izoterm_data(double x1, double &fi, double &dfi);
00064 void sisotherm(int kod, double x1,double &fiw, double &dfdw);
00065 double linear_data(int kod, double x1,double x2, double x3);
00066 double kapa(int kod, double x1,double x2, double x3);
00067 double diffcoefiont(int kod, double x1,double x2, double x3);
00068 double mw, ma, gasr;
00069 void values_correction (vector & nv);
00070 void Cf_check(double cf, double w, long ipp);
00071 void binding_izoterm_derivation(double x2, double & derbi);
00072 private:
00073 int kd;
00074 double a1,a2,a3;
00075 int MatChar [20];
00076 double MatConst [20];
00077 double MatData [20][3][150];
00078 double MatFunce [20][5];
00079 void CorD(int cislochar, int &kvyhl,double in, double x, double & y, double & z, double &z2);
00080
00081
00082 };
00083
00084 #endif
00085