Public Methods |
| | CCProjector () |
| | CCProjector (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_crseGridsPtr, const Box &a_domain, const Real a_dx, CCProjector *a_finerProj, CCProjector *a_crseProj, int a_nRefCrse, int a_level, const PhysBCUtil &a_physBC) |
| | full constructor
|
| | CCProjector (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_crseGridsPtr, const ProblemDomain &a_domain, const Real a_dx, CCProjector *a_finerProj, CCProjector *a_crseProj, int a_nRefCrse, int a_level, const PhysBCUtil &a_physBC) |
| | full constructor
|
| | ~CCProjector () |
| | destructor
|
| void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_crseGridsPtr, const Box &a_domain, const Real a_dx, CCProjector *a_finerProj, CCProjector *a_crseProj, int a_nRefCrse, int a_level, const PhysBCUtil &a_physBC) |
| | define function
|
| void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_crseGridsPtr, const ProblemDomain &a_domain, const Real a_dx, CCProjector *a_finerProj, CCProjector *a_crseProj, int a_nRefCrse, int a_level, const PhysBCUtil &a_physBC) |
| | define function
|
| void | init (const CCProjector &a_oldProj) |
| | initialize new projection with data from old projection
|
| void | variableSetUp () |
| | define static parts
|
| void | setCrseProj (CCProjector *a_crseProj, int nRefCrse) |
| void | setFineProj (CCProjector *a_fineProj) |
| void | limitSolverCoarsening (bool a_limitSolverCoarsening) |
| | set solver parameter
|
| void | writeCheckpointHeader (HDF5Handle &a_handle) const |
| | write checkpoint header
|
| void | writeCheckpointLevel (HDF5Handle &a_handle) const |
| | write this class to a checkpoint file for later restart
|
| void | readCheckpointHeader (HDF5Handle &a_handle) |
| | read the checkpoint header
|
| void | readCheckpointLevel (HDF5Handle &a_handle) |
| | read this class from a checkpoint file
|
| void | levelMacProject (LevelData< FluxBox > &uEdge, Real a_oldTime, Real a_dt) |
| void | LevelProject (LevelData< FArrayBox > &a_velocity, LevelData< FArrayBox > *a_crseVelPtr, const Real a_newTime, const Real a_dt) |
| void | doSyncOperations (Vector< LevelData< FArrayBox > * > &a_velocity, Vector< LevelData< FArrayBox > * > &a_lambda, const Real a_newTime, const Real a_dtSync) |
| void | initialLevelProject (LevelData< FArrayBox > &a_velocity, LevelData< FArrayBox > *a_crseVelPtr, const Real a_oldTime, const Real a_newTime) |
| void | doInitialSyncOperations (Vector< LevelData< FArrayBox > * > &a_vel, Vector< LevelData< FArrayBox > * > &a_lambda, const Real a_newTime, const Real a_dtSync) |
| void | initialVelocityProject (Vector< LevelData< FArrayBox > * > &a_velocity, bool a_homogeneousCFBC=true) |
| void | initialVelocityProject (Vector< LevelData< FArrayBox > * > &a_velocity, AMRSolver &a_solver, bool a_homogeneousCFBC=true) |
| void | doPostRegridOps (Vector< LevelData< FArrayBox > * > &a_velocity, Vector< LevelData< FArrayBox > * > &a_lambda, const Real a_dt, const Real a_time) |
| int | getLevel () const |
| | access functions
|
| const ProblemDomain & | dProblem () const |
| const DisjointBoxLayout & | getBoxes () const |
| int | nRefCrse () const |
| Real | dx () const |
| Real | etaLambda () const |
| | returns coefficient for volume-discrepancy solve.
|
| CCProjector * | fineProjPtr () const |
| CCProjector * | crseProjPtr () const |
| LevelData< FArrayBox > & | phi () |
| | returns MAC correction
|
| const LevelData< FArrayBox > & | phi () const |
| | const version of accessor
|
| void | gradPhi (LevelData< FArrayBox > &a_gradPhi, int a_dir) const |
| | returns edge-centered grad(phi) in direction dir
|
| void | gradPhi (LevelData< FluxBox > &a_gradPhi) const |
| | returns all components of grad(phi) (gradPhi should be correct size)
|
| LevelData< FArrayBox > & | Pi () |
| | returns level-projection pressure
|
| void | gradPi (LevelData< FArrayBox > &a_gradPi, int a_dir) const |
| | returns grad(pi) in direction dir
|
| void | gradPi (LevelData< FArrayBox > &a_gradPi) const |
| LevelData< FArrayBox > & | eSync () |
| | returns synchronization correction
|
| const LevelData< FArrayBox > & | eSync () const |
| | returns synchronization correction (const version)
|
| void | grad_eSync (LevelData< FArrayBox > &a_grad_eSync, int a_dir) const |
| | returns cell-centered grad(eSync) (composite gradient)
|
| void | grad_eSync (LevelData< FArrayBox > &a_grad_eSync) const |
| | returns cell-centered G^{comp}(eSync)
|
| LevelData< FArrayBox > & | eLambda () |
| | returns volume-discrepancy correction
|
| const LevelData< FArrayBox > & | eLambda () const |
| | returns volume-discrepancy correction (const version)
|
| void | grad_eLambda (LevelData< FArrayBox > &a_grad_eLambda, int a_dir) const |
| | returns edge-centered grad(eLambda) in direction dir
|
| LevelData< FluxBox > & | grad_eLambda () |
| const LevelData< FluxBox > & | grad_eLambda () const |
| bool | doSyncProjection () const |
| | do sync projection?
|
| bool | doMacSync () const |
| | do volume discrepancy correction?
|
| bool | isInitialized () const |
| | has this object been completely initialized?
|
| bool | doQuadInterp () const |
| | use quadratic interpolation (instead of extrap) for c/f bc
|
| QuadCFInterp & | quadCFInterpolator () |
| | returns predefined quadratic coarse-fine interpolation object
|
| bool | isFinestLevel () const |
| | is this the finest level?
|
| void | isFinestLevel (bool a_finest_level) |
| | set whether this is the finest level
|
| void | verbosity (int a_verbosity) |
| | set verbosity
|
| int | verbosity () const |
| | returns verbosity
|
| void | setPhysBC (const PhysBCUtil &a_bc) |
| | sets physBCs
|
| PhysBCUtil * | getPhysBCPtr () const |
Protected Methods |
| void | applyMacCorrection (LevelData< FluxBox > &a_uEdge, Real CFscale) |
| | returns uEdge - G(phi_mac); C/F BC is CFscale*Pi(crse)
|
| void | correctCCVelocities (LevelData< FArrayBox > &a_velocity, const Real scale) const |
| | vel := vel - scale*G_CC(pi)
|
| void | doSyncProjection (Vector< LevelData< FArrayBox > * > &a_velocity, const Real a_newTime, const Real a_dtSync, AMRSolver &solver) |
| void | initialSyncProjection (Vector< LevelData< FArrayBox > * > &a_velocity, const Real a_newTime, const Real a_dtSync, AMRSolver &a_solver) |
| | perform initial sync projection
|
| void | computeVDCorrection (Vector< LevelData< FArrayBox > * > &a_lambda, const Real a_newTime, const Real a_dtSync, AMRSolver &solver) |
| void | applySyncCorrection (Vector< LevelData< FArrayBox > * > &a_velocity, const Real scale, LevelData< FArrayBox > *crseCorr) |
| void | computeGrad_eLambda () |
| | compute composite gradient of eLambda -- does this recursively
|
| void | rescaleGrad_eLambda (Real a_dx_lbase) |
| | rescales composite gradient of eLambda, recursively all finer levels
|
| void | defineSolver (AMRSolver &a_solver, const Vector< LevelData< FArrayBox > * > &a_vel, bool a_freestreamSolver) |
| void | postRestart () |
| | takes care of setting ghost cell values after restarting
|
this class performs the various cell-centered projections required by the IAMR algorithm. These include the single-level operators levelMac and levelProject, as well as the multilevel sync projection and volume discrepancy solves.