00001 #ifndef LINTETT_H
00002 #define LINTETT_H
00003
00004 #include "genfile.h"
00005
00006
00007
00008
00009
00010 class lintett
00011 {
00012 public:
00013 lintett (void);
00014 ~lintett (void);
00015 void codnum (long *cn,long ri);
00016 double approx (vector &volcoord,vector &nodval);
00017 void intpointval (long eid);
00018 void intpointval_puc (long eid);
00019 void intpointgrad (long eid);
00020 void intpointother (long eid);
00021
00022 void bf_matrix (matrix &n,vector &volcoord);
00023 void grad_matrix (matrix &gm,vector &b,vector &c,vector &d);
00024 void conductivity_matrix (long lcid,long eid,long ri,long ci,matrix &km);
00025 void l_matrix (long lcid,long eid,long ri,long ci,matrix &lm);
00026 void l_t_matrix (long lcid,long eid,long ri,long ci,matrix &lm);
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_l_matrix (long eid,long lcid,matrix &lm);
00033 void res_l_t_matrix (long eid,long lcid,matrix &lm);
00034 void averd_matrix (long eid,matrix &lm);
00035 void averc_matrix (long eid,matrix &lm);
00036 double elem_volume (long eid);
00037 void res_capacity_matrix (long eid,matrix &cm);
00038 void res_convection_vector (vector &f,long lcid,long eid,long leid);
00039 void res_transmission_vector (vector &f,long lcid,long eid,long leid);
00040 void res_quantity_source_vector (vector &sv,vector &nodval,long lcid,long eid);
00041 void res_internal_fluxes (long eid,vector &elemif);
00042 double total_integral (long eid,vector &nodval);
00043 void res_boundary_flux (vector &f,long lcid,long eid,long leid);
00044 void nod_others (long lcid,long eid,long ri,long ci);
00045
00046
00047 void convection_vector (vector &v,long lcid,long eid,long leid,long ri,long ci);
00048 void transmission_matrix (long lcid,long eid,long ri,long ci,matrix &km);
00049 void transmission_vector (vector &v,long lcid,long eid,long leid,long ci);
00050 void boundary_flux (vector &v,long lcid,long eid,long leid,long ri,long ci);
00051 void surface_integral (long surf,vector &x,vector &y,vector &z,long intord,vector &gp1,vector &gp2,vector &w,
00052 vector &coef,matrix &km);
00053 void transf_flux (long surf,vector &coeff,vector &list,vector &trc,vector &trr,long eid,long ri,long ci,long ipp,bocontypet *bc);
00054 void transf_coeff (long surf,vector &coeff,vector &list,long eid,long ri,long ci,long ipp,bocontypet *bc);
00055 void transf_val (long surf,vector &nodval,vector &list,vector &trc,vector &trr,long eid,long ri,long ci,long ipp,bocontypet *bc);
00056 void surfnodeval (long surf,vector &nodval,vector &list);
00057
00058 void higher_to_lower_level (long eid,long *counter,double *buff);
00059
00060
00061 long ntm;
00062
00063 long ndofe;
00064
00065 long **dofe;
00066
00067 long nne;
00068
00069 long ned;
00070
00071 long nned;
00072
00073 long nsurf;
00074
00075 long nnsurf;
00076
00077 long napfun;
00078
00079 long ncomp;
00080
00081 long **nip;
00082
00083 long **ordering;
00084
00085 long **intordkm;
00086
00087 long intordb;
00088
00089 long **intordcm;
00090 };
00091
00092 #endif