00001 #ifndef ELEMMAT_H
00002 #define ELEMMAT_H
00003
00004 #include "matrix.h"
00005 #include "vector.h"
00006 #include "gtopology.h"
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 class elemmat
00017 {
00018 public:
00019 elemmat (void);
00020 ~elemmat (void);
00021
00022 void alloc (gtopology *top);
00023 double** status ();
00024 long decomp ();
00025 void changedecomp ();
00026 void nullmat ();
00027 void localize (matrix &b,long *cn,long eid);
00028 void localized (double *b,long *cn,long eid,long m);
00029 void initiate (gtopology *top,long ndof,long mespr);
00030 void mxv_em (double *b,double *c);
00031 void addmat_em (double c,elemmat &dm);
00032 void scalmat_em (double c);
00033 void printmat (FILE *out);
00034 void cg (double *x,double *y,
00035 long ni,double err,long &ani,double &ares,double zero,long iv);
00036
00037
00038 long n;
00039
00040 long ne;
00041
00042 long mem;
00043
00044 long maxarr;
00045
00046 long *andofe;
00047
00048 long *neme;
00049
00050 double **a;
00051
00052 long **acn;
00053
00054 long decompid;
00055
00056 };
00057
00058 #endif