00001 #ifndef __ESG__
00002 #define __ESG__
00003
00004 #include "iwave.h"
00005 #include "except.hh"
00006
00007 int esg_modelinit(PARARRAY pars,
00008 FILE *stream,
00009 IMODEL & model);
00010
00011 void esg_modeldest(void ** specs);
00012
00013 int esg_timegrid(PARARRAY * pars,
00014 FILE * stream,
00015 grid const & g,
00016 float & dt,
00017 float & rhs);
00018
00019 void esg_timestep(std::vector<RDOM *> dom,
00020 bool fwd,
00021 int iv,
00022 void* fdpars);
00023
00024 int esg_create_sten(void *,
00025 FILE *,
00026 int,
00027 IPNT[RDOM_MAX_NARR],
00028 STENCIL *);
00029
00030 void esg_check(RDOM * dom,
00031 void * specs,
00032 FILE * stream);
00033
00034 typedef struct s_esg_ts_pars {
00035
00036 ireal cp;
00037 ireal cs;
00038 int k;
00039 int ndim;
00040 ireal dt;
00041 IPNT lbc;
00042 IPNT rbc;
00043 ireal ** coeffs;
00044 int eflag;
00045 int effective_media;
00046 ireal CellSize;
00047 ireal h;
00048
00049 } ESG_TS_PARS;
00050
00051
00052 #define CFL_DEF 0.95
00053
00054 #endif
00055