00001 #ifndef QUADHEXT_H
00002 #define QUADHEXT_H
00003
00004 #include "genfile.h"
00005
00006 class quadhext
00007 {
00008 public:
00009 quadhext (void);
00010 ~quadhext (void);
00011 void codnum (long *cn,long ri);
00012 double approx (double xi,double eta,double zeta, vector &nodval);
00013 void intpointval (long eid);
00014 void intpointgrad (long eid);
00015 void intpointother (long eid);
00016
00017 void bf_matrix (matrix &n,double xi,double eta,double zeta);
00018 void grad_matrix (matrix &gm,vector &x,vector &y,vector &z,double xi,double eta,double zeta,double &jac);
00019 void conductivity_matrix (long lcid,long eid,long ri,long ci,matrix &km);
00020 void capacity_matrix (long eid,long ri,long ci,matrix &cm);
00021 void quantity_source_vector (vector &sv,vector &nodval,long eid,long ri,long ci);
00022 void internal_fluxes (long lcid,long eid,vector &ifl);
00023
00024 void res_conductivity_matrix (long eid,long lcid,matrix &km);
00025 void res_capacity_matrix (long eid,matrix &cm);
00026 void res_convection_vector (vector &f,long lcid,long eid,long leid);
00027 void res_transmission_vector (vector &f,long lcid,long eid,long leid);
00028 void res_quantity_source_vector (vector &sv,vector &nodval,long lcid,long eid);
00029 void res_internal_fluxes (long eid,vector &elemif);
00030 double total_integral (long eid,vector &nodval);
00031 void res_boundary_flux (vector &f,long lcid,long eid,long leid);
00032 void nod_others (long lcid,long eid,long ri,long ci);
00033
00034
00035 void convection_vector (vector &v,long lcid,long eid,long leid,long ri,long ci);
00036 void transmission_matrix (long lcid,long eid,long ri,long ci,matrix &km);
00037 void transmission_vector (vector &v,long lcid,long eid,long leid,long ri,long ci);
00038 void boundary_flux (vector &v,long lcid,long eid,long leid,long ri,long ci);
00039 void surface_integral (long surf,vector &x,vector &y,vector &z,long intord,vector &gp,vector &w,
00040 vector &coef,matrix &km);
00041 void transf_flux (long surf,vector &coeff,vector &list,vector &trc,vector &trr,long eid,long ri,long ci,long ipp,bocontypet *bc);
00042 void transf_coeff (long surf,vector &coeff,vector &list,long eid,long ri,long ci,long ipp,bocontypet *bc);
00043 void transf_val (long surf,vector &nodval,vector &list,vector &trc,vector &trr,long eid,long ri,long ci,long ipp,bocontypet *bc);
00044 void surfnodeval (long surf,vector &nodval,vector &list);
00045
00046
00047
00048 long ntm;
00049
00050 long ndofe;
00051
00052 long **dofe;
00053
00054 long nne;
00055
00056 long ned;
00057
00058 long nned;
00059
00060 long nsurf;
00061
00062 long nnsurf;
00063
00064 long napfun;
00065
00066 long ncomp;
00067
00068 long **nip;
00069
00070 long **ordering;
00071
00072 long **intordkm;
00073
00074 long **intordcm;
00075 };
00076
00077 #endif