00001 #ifndef LINBART_H
00002 #define LINBART_H
00003
00004 #include "genfile.h"
00005 #include "aliast.h"
00006
00007
00008
00009
00010 class linbart
00011 {
00012 public:
00013 linbart (void);
00014 ~linbart (void);
00015
00016 void codnum (long *cn,long ri);
00017 double approx (double xi,vector &nodval);
00018 void intpointval (long eid);
00019 void intpointval (long eid,vector &nodval,vector &ipval);
00020 void intpointgrad (long eid);
00021 void intpointother (long eid);
00022
00023 void bf_matrix (matrix &n,double xi);
00024 void grad_matrix (matrix &gm,vector &x,double xi,double &jac);
00025 void conductivity_matrix (long lcid,long eid,long ri,long ci,matrix &km);
00026 void capacity_matrix (long eid,long ri,long ci,matrix &cm);
00027 void quantity_source_vector (vector &sv,vector &nodval,long eid,long ri,long ci);
00028 void transmission_matrix (long lcid,long eid,long ri,long ci,matrix &km);
00029 void transmission_vector (vector &tmv,long lcid,long eid,long leid,long cid);
00030 void convection_vector (vector &f,long lcid,long eid,long leid,long ri,long ci);
00031 void internal_fluxes (long lcid,long eid,vector &ifl);
00032
00033 void res_conductivity_matrix (long eid,long lcid,matrix &km);
00034 void volume_rhs_vector (long lcid,long eid,long ri,long ci,vector &vrhs);
00035 void res_volume_rhs_vector (vector &f,long eid,long lcid);
00036 void res_capacity_matrix (long eid,matrix &cm);
00037 void res_convection_vector (vector &f,long lcid,long eid,long leid);
00038 void res_transmission_vector (vector &f,long lcid,long eid,long leid);
00039 void res_quantity_source_vector (vector &sv,vector &nodval,long lcid,long eid);
00040 void res_internal_fluxes (long eid,vector &elemif);
00041
00042
00043
00044 double total_integral(long eid,vector &nodval);
00045
00046
00047 double total_integral_ip (long eid,long varid);
00048
00049
00050 void boundary_flux (vector &tmv,long lcid,long eid,long leid,long ri,long ci);
00051 void res_boundary_flux (vector &f,long lcid,long eid,long leid);
00052
00053 void intpointflux (long eid);
00054 void nod_grads_ip (long eid);
00055 void nod_fluxes_ip (long eid);
00056 void nod_others_comp (long lcid,long eid,long ri,long ci);
00057 void transq_nodval (long eid,vector &nodval,nonmechquant nmq);
00058 void transq_nodval_comp (long eid, vector &nodval, long ncne, long nq, nonmechquant *qt);
00059
00060
00061 long ntm;
00062
00063 long ndofe;
00064
00065 long **dofe;
00066
00067 long nne;
00068
00069 long nen;
00070
00071
00072 long ned;
00073
00074 long nned;
00075
00076
00077 long napfun;
00078
00079 long ncomp;
00080
00081 long **nip;
00082
00083 long **ordering;
00084
00085 long **intordkm;
00086
00087 long **intordcm;
00088 };
00089
00090 #endif