00001 #ifndef HOMOGMAT_H
00002 #define HOMOGMAT_H
00003
00004 #include <stdio.h>
00005 #include "genfile.h"
00006 #include "aliast.h"
00007 struct vector;
00008
00009 class homogmat
00010 {
00011 public:
00012 homogmat (void);
00013 ~homogmat (void);
00014
00015 void matcond (matrix &d,long ri,long ci,long ipp);
00016 void matcap (double &c,long ri,long ci,long ipp);
00017
00018 void matcond1d (matrix &d,long ri,long ci,long ipp);
00019 void matcond2d (matrix &d,long ri,long ci,long ipp);
00020 void matcond3d (matrix &d,long ri,long ci,long ipp);
00021
00022 void assemble_matrices (double *d,long ntm,long dim);
00023 double transmission_transcoeff(double trc,long ri,long ci,long nn,long bc,long ipp);
00024 double transmission_nodval(double nodval,double trc2,long ri,long ci,long nn,long bc,long ipp);
00025 double transmission_flux(double nodval,double trc2,long ri,long ci,long nn,long bc,long ipp);
00026
00027 double get_transmission_transcoeff_ww(double w,double t,long bc,long ipp);
00028 double get_transmission_nodval_ww(double bv,double w,double t,long bc,long ipp);
00029 double get_transmission_flux_ww(double bv,double w,double t,long bc,long ipp);
00030
00031 double get_transmission_transcoeff_tt(double w,double t,long bc,long ipp);
00032 double get_transmission_nodval_tt(double bv,double w,double t,long bc,long ipp);
00033 double get_transmission_flux_tt(double bv,double w,double t,long bc,long ipp);
00034
00035 double get_othervalue(long compother,double rh,double t,long ipp);
00036 void print_othervalue_name(FILE *out,long compother);
00037
00038 void give_dof_names(namevart *dofname, long ntm);
00039
00040 matrix dd;
00041 matrix cc;
00042 };
00043
00044 #endif