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