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