asg.hh

Go to the documentation of this file.
00001 #ifndef __ASG__
00002 #define __ASG__
00003 
00004 #include "iwave.h"
00005 #include "except.hh"
00006 
00007 int asg_modelinit(PARARRAY pars,
00008           FILE *stream,
00009           IMODEL & model);
00010 
00011 void asg_modeldest(void ** specs);
00012 
00013 int asg_timegrid(PARARRAY * pars, 
00014          FILE * stream, 
00015          grid const & g, 
00016          float & dt,
00017          float & rhs);
00018 
00019 void asg_timestep(std::vector<RDOM *> dom, 
00020           bool fwd, 
00021           int iv, 
00022           void* fdpars);
00023 
00024 int asg_create_sten(void *, 
00025             FILE *, 
00026             int, 
00027             IPNT[RDOM_MAX_NARR], 
00028             STENCIL *);
00029 
00030 void asg_check(RDOM * dom,
00031            void * specs,
00032            FILE * stream);
00033 
00034 void asg_loop_refine(int const * gmin, int const * gmax,
00035              float tmax, int input,
00036              FILE * stream, void * specs);
00037 
00038 typedef struct s_asg_ts_pars {
00039   float dt;      /* time step - copied from IMODEL.tsinfo */
00040   RPNT lam;      /* courant params */
00041   int k;         /* scheme order */
00042   int ndim;      /* dimension, copied from IMODEL.grid */
00043   IPNT lbc;      /* flag left boundary conditions */
00044   IPNT rbc;      /* flag right boundary conditions */
00045   IPNT nls;      /* number points left pml zone */
00046   IPNT nrs;      /* number points right pml zone */
00047   int extd;      /* extended coeff array flag */
00048   FILE * stream; /* convenience for parallel debugging */
00049   // FD coeffs
00050   float ** coeffs;//[RARR_MAX_NDIM];
00051   // test params
00052   float cmax;
00053   float cmin;
00054   // PML quantities
00055   float amp;
00056   float * ep[RARR_MAX_NDIM];     /* precomputed pml arrays */
00057   float * epp[RARR_MAX_NDIM];    /* p = (1-eta*dt^2) */
00058   float * ev[RARR_MAX_NDIM];     /* pp = p/(1+eta*dt^2) */
00059   float * evp[RARR_MAX_NDIM];
00060 } ASG_TS_PARS;  
00061 
00062 /* default fraction of max time step */
00063 #define CFL_DEF 0.95
00064 
00065 #endif
00066 
00067 

Generated on 5 Jan 2017 for IWAVEASG by  doxygen 1.4.7