00001 #ifndef __IWAVE_ACD_INFO
00002 #define __IWAVE_ACD_INFO
00003
00004
00005 #include "iwave.h"
00006 #include "except.hh"
00007 #include "acd_gfdm.h"
00008 #include "acd_gfdm2.h"
00009
00010 #define OLD
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 int acd_modelinit(PARARRAY pars,
00021 FILE *stream,
00022 IMODEL & model);
00023
00024 void acd_modeldest(void ** specs);
00025
00026 int acd_timegrid(PARARRAY * pars,
00027 FILE * stream,
00028 grid const & g,
00029 ireal & dt,
00030 ireal & rhs);
00031
00032 void acd_timestep(std::vector<RDOM *> dom,
00033 bool fwd,
00034 int iv,
00035 void* fdpars);
00036
00037 int acd_create_sten(void *,
00038 FILE *,
00039 int,
00040 IPNT[RDOM_MAX_NARR],
00041 STENCIL *);
00042
00043 void acd_check(RDOM * dom,
00044 void * specs,
00045 FILE * stream);
00046
00047 void acd_loop_refine(int const * gmin, int const * gmax,
00048 float tmax, int input,
00049 FILE * stream, void * specs);
00050
00051 typedef struct {
00052 ireal dt;
00053 RPNT lam;
00054 int k;
00055 int ndim;
00056 IPNT lbc;
00057 IPNT rbc;
00058
00059 ireal c0;
00060 RPNT c1;
00061 RPNT c2;
00062 RPNT c3;
00063 RPNT c4;
00064
00065 ireal ** c;
00066
00067 ireal * lap;
00068 ireal * lap1;
00069 ireal * lap2;
00070 ireal * lap3;
00071
00072 IPNT n;
00073
00074 IPNT z;
00075
00076 RPNT dx;
00077
00078 int next;
00079
00080 int pbg;
00081
00082 ireal cmax;
00083 ireal cmin;
00084
00085 float looprad;
00086 IPNT rs;
00087 IPNT re;
00088 IPNT ss;
00089 IPNT se;
00090 IPNT dyns;
00091 IPNT dyne;
00092 } ACD_TS_PARS;
00093
00094
00095
00096
00097
00098
00099
00100 #define D_UC 1
00101 #define D_UP 2
00102 #define D_CSQ 0
00103
00104
00105 #define CFL_DEF 0.95
00106
00107 #endif
00108
00109