00001 #ifndef NODET_H
00002 #define NODET_H
00003
00004 #include <stdio.h>
00005 #include "iotools.h"
00006 #include "aliast.h"
00007 #include "vector.h"
00008
00009
00010
00011
00012
00013
00014 class nodet
00015 {
00016 public:
00017 nodet (void);
00018 ~nodet (void);
00019 void read (XFILE *in,long ndof);
00020 void print (FILE *out);
00021
00022 void alloc_grad (long ncomp);
00023 void alloc_flux (long ncomp);
00024 void alloc_other (long ncomp0);
00025 void alloc_eqother (long ncomp0);
00026 void alloc_nodval ();
00027 void alloc_nodvali ();
00028 void alloc_nodvalp ();
00029 void alloc_nodvalt ();
00030
00031 void nullgrad ();
00032 void nullflux ();
00033 void nullother ();
00034 void nulleqother ();
00035 void nullnodval ();
00036 void nullnodvalp ();
00037 void nullnodvali ();
00038 void nullnodvalt ();
00039
00040 void storegrad (long fi,vector &gradv);
00041 void storegrad (long lcid,double vol,vector &fluxv);
00042 void storeflux (long fi,vector &fluxv);
00043 void storeflux (long lcid,double vol,vector &fluxv);
00044 void storeother (long ncomp,double otherv);
00045 void storeeqother (long ncomp,double eqotherv);
00046
00047 void grad_averageval ();
00048 void flux_averageval ();
00049 void other_averageval ();
00050 void eqother_averageval ();
00051
00052 void save_nodval (double *nv);
00053 void give_values (double *in, double *inp, double *ineq );
00054 void save_values (double *out);
00055 void actual_previous_change ();
00056
00057 void give_flux (long lcid,double *nv);
00058
00059
00060 long ndofn;
00061
00062 long ncompgrad;
00063
00064 long ncompother;
00065
00066 long ncompeqother;
00067
00068
00069 crsectypet crst;
00070
00071 long idcs;
00072
00073
00074 long *ncontr_grad;
00075 long *vol_grad;
00076
00077 long *ncontr_flux;
00078 long *vol_flux;
00079
00080 long *ncontr_other;
00081 long *vol_other;
00082
00083 long *ncontr_eqother;
00084 long *vol_eqother;
00085
00086
00087 double **gradient;
00088
00089
00090 double **flux;
00091
00092 double *other;
00093
00094 double *eqother;
00095
00096
00097 double *nodval;
00098
00099 double *nodvalp;
00100
00101 double *nodvali;
00102
00103 double *nodvalt;
00104
00105 };
00106
00107 #endif