00001 #ifndef GENERAL3MAT_H
00002 #define GENERAL3MAT_H
00003
00004 #include <stdio.h>
00005 #include "genfile.h"
00006
00007 class general3mat
00008 {
00009 public:
00010 general3mat (void);
00011 ~general3mat (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 (FILE *in);
00021
00022 double k11 (double x1,double x2,double x3);
00023 double k12 (double x1,double x2,double x3);
00024 double k13 (double x1,double x2,double x3);
00025
00026 double k21 (double x1,double x2,double x3);
00027 double k22 (double x1,double x2,double x3);
00028 double k23 (double x1,double x2,double x3);
00029
00030 double k31 (double x1,double x2,double x3);
00031 double k32 (double x1,double x2,double x3);
00032 double k33 (double x1,double x2,double x3);
00033
00034 double c11 (double x1,double x2,double x3);
00035 double c12 (double x1,double x2,double x3);
00036 double c13 (double x1,double x2,double x3);
00037
00038 double c21 (double x1,double x2,double x3);
00039 double c22 (double x1,double x2,double x3);
00040 double c23 (double x1,double x2,double x3);
00041
00042 double c31 (double x1,double x2,double x3);
00043 double c32 (double x1,double x2,double x3);
00044 double c33 (double x1,double x2,double x3);
00045
00046 void auxiliarydata (double x1,double x2,double x3);
00047
00048 double transmission_transcoeff(double trc,long ri,long ci,long nn,long bc,long ipp);
00049 double transmission_nodval(double nodval,long ri,long ci,long nn,long bc,long ipp);
00050 double transmission_flux(double nodval,long ri,long ci,long nn,long bc,long ipp);
00051
00052 double get_transmission_nodval_11(double bv,double x1,double x2,double x3,long bc,long ipp);
00053 double get_transmission_transcoeff_11(double x1,double x2,double x3,long bc,long ipp);
00054 double get_transmission_flux_11(double bv,double x1,double x2,double x3,long bc,long ipp);
00055
00056
00057 double get_othervalue(long compother,long ipp, double x1,double x2,double x3);
00058 void print_othervalue_name(FILE *out,long compother);
00059
00060 private:
00061
00062 };
00063
00064 #endif
00065