00001 #ifndef MTGLVEC_H 00002 #define MTGLVEC_H 00003 00004 struct mt_glob_vec 00005 { 00006 /// step id 00007 long istep; 00008 00009 00010 // Following pointers are not allocated, 00011 // they are used as references to arrays allocated somewhere else 00012 00013 /// vector of nodal displacements 00014 double *r; 00015 /// vector of nodal prescribed forces 00016 double *f; 00017 00018 // Following pointers to arrays are allocated 00019 // allocation of vectors 00020 00021 /// vector of increments of nodal displacements 00022 double *dr; 00023 /// vector of prescribed forces from the previous step 00024 double *fp; 00025 /// vector of prescribed force loads, it does not contain forces caused by temperature, etc. 00026 double *fl; 00027 /// vector of internal forces 00028 double *fi; 00029 /// auxiliary force vector 00030 double *fb; 00031 /// backup of the nodal displacements 00032 double *lhsb; 00033 00034 /// Default constructor 00035 mt_glob_vec(); 00036 /// function allocates vectors dr, fp, fl, fi, fb and lhsb 00037 void alloc(long n); 00038 /// function deallocates vectors dr, fp, fl, fi, fb and lhsb 00039 void dealloc(); 00040 /// Destructor deallocates vectors dr, fp, fl, fi, fb and lhsb 00041 ~mt_glob_vec(); 00042 }; 00043 00044 #endif