00001 #ifndef SEISMTOOL_H 00002 #define SEISMTOOL_H 00003 00004 #include "iotools.h" 00005 #include "alias.h" 00006 #include "genfile.h" 00007 00008 /** 00009 class seismtool contains tools used in seismic analysis 00010 00011 JK, 21.8.2005 00012 */ 00013 00014 class seismtool 00015 { 00016 public: 00017 seismtool (void); 00018 ~seismtool (void); 00019 00020 void read (XFILE *in); 00021 00022 void seisminit (double *seism); 00023 void assemble (double *rhs,double time); 00024 void assemble (double *v,double *w); 00025 00026 00027 /// number of seismic acceleration components 00028 long nsac; 00029 00030 /// directions of seismic loads 00031 dirdynload *direction; 00032 00033 /// array containing components of right hand side 00034 double *seism; 00035 00036 /// amplitude function or response spectrum 00037 /// gf describes amplitude functions depending on time in case of step-by-step integration methods 00038 /// gf describes response spectrum depending on periods of structure in case of response spectrum analysis 00039 gfunct *gf; 00040 00041 }; 00042 00043 #endif