//---------------------------------------------------------------------- // // AMR Driver for the Transport Application // //---------------------------------------------------------------------- #define DIM 2 #define GFTYPE DOUBLE INTEGER const REGRID_EVERY = 4; INTEGER const BUFFER_WIDTH = 1; INTEGER const BLOCK_WIDTH = 3; DOUBLE const MIN_EFFICIENCY = 0.5; GFTYPE const THRESH = 0.075; void bno_RecursiveIntegrate( GridHierarchy &GH, INTEGER const Level, GridFunction(DIM) &A, GridFunction(DIM) &B, GridFunction(DIM) &C, GridFunction(DIM) &phi, GridFunction(DIM) &temp, DOUBLE &dt, DOUBLE &h, DOUBLE const &cfl); void bno_UpdateLevelFromChildren(GridFunction(DIM) &u, INTEGER const IDENT, GridHierarchy &GH, INTEGER const Level); void bno_RegridSystemAbove(GridHierarchy &GH, GridFunction(DIM) &errgf, INTEGER const Level, GFTYPE const thresh); void SyncNext(INTEGER const IDENT, GridFunction(DIM) &gf, GridFunction(DIM) &temp, INTEGER const t, INTEGER const l, INTEGER const idt); void SyncPrev(INTEGER const IDENT, GridFunction(DIM) &gf, GridFunction(DIM) &temp, INTEGER const t, INTEGER const l, INTEGER const idt); void MoveStencilUp(INTEGER const IDENT, GridFunction(DIM) &gf, INTEGER const t, INTEGER const l, INTEGER const idt); void writeslice(INTEGER const IDENT, char const *fname, GridHierarchy &GH, GridFunction(DIM) &gf, INTEGER const t, INTEGER const l, INTEGER const viz_server); void writeslicehdf(INTEGER const IDENT, char const *fname, GridHierarchy &GH, GridFunction(DIM) &gf, INTEGER const t, INTEGER const l, INTEGER const viz_server); void initial_step(INTEGER const IDENT, GridHierarchy &GH, GridFunction(DIM) &A, GridFunction(DIM) &B, GridFunction(DIM) &C, GridFunction(DIM) &phi, DOUBLE h, DOUBLE dt, const DOUBLE stp, const INTEGER maxsteps, const INTEGER Level); void PlotBBox(INTEGER const IDENT, GridFunction(DIM) &gf, INTEGER const t, INTEGER const l, BBoxList &bbl, char const *fname, INTEGER const viz_server); void truncation_est(GridHierarchy &GH, INTEGER const t, INTEGER const l, GridFunction(DIM) &maingf, GridFunction(DIM) &shadowgf, GridFunction(DIM) &truncgf); void wave_trunc_est(GridHierarchy &GH, INTEGER const t, INTEGER const l, GridFunction(DIM) &A, GridFunction(DIM) &B, GridFunction(DIM) &C, GridFunction(DIM) &trunc_err); void TakeTwoSteps( GridHierarchy &GH, GridFunction(DIM) &A, GridFunction(DIM) &B, GridFunction(DIM) &C, GridFunction(DIM) &phi, const DOUBLE cfl , const INTEGER Level);