#include <AMReX_YAFluxRegister.H>
Public Types | |
| enum | CellType : int { crse_cell = 0, crse_fine_boundary_cell, fine_cell } |
Public Member Functions | |
| YAFluxRegister ()=default | |
| YAFluxRegister (const BoxArray &fba, const BoxArray &cba, const DistributionMapping &fdm, const DistributionMapping &cdm, const Geometry &fgeom, const Geometry &cgeom, const IntVect &ref_ratio, int fine_lev, int nvar) | |
| void | define (const BoxArray &fba, const BoxArray &cba, const DistributionMapping &fdm, const DistributionMapping &cdm, const Geometry &fgeom, const Geometry &cgeom, const IntVect &ref_ratio, int fine_lev, int nvar) |
| void | reset () |
| void | CrseAdd (const MFIter &mfi, const std::array< FArrayBox const *, AMREX_SPACEDIM > &flux, const Real *dx, Real dt, RunOn gpu_or_cpu) noexcept |
| void | FineAdd (const MFIter &mfi, const std::array< FArrayBox const *, AMREX_SPACEDIM > &flux, const Real *dx, Real dt, RunOn gpu_or_cpu) noexcept |
| void | Reflux (MultiFab &state, int dc=0) |
| bool | CrseHasWork (const MFIter &mfi) const noexcept |
| bool | FineHasWork (const MFIter &mfi) const noexcept |
| MultiFab & | getFineData () |
| MultiFab & | getCrseData () |
Protected Attributes | |
| MultiFab | m_crse_data |
| iMultiFab | m_crse_flag |
| Vector< int > | m_crse_fab_flag |
| MultiFab | m_cfpatch |
| This is built on crse/fine patches. More... | |
| MultiFab | m_cfp_mask |
| Vector< Vector< FArrayBox * > > | m_cfp_fab |
| The size of this is (# of local fine grids (# of crse/fine patches for that grid)) More... | |
| Vector< int > | m_cfp_localindex |
| Geometry | m_fine_geom |
| Geometry | m_crse_geom |
| IntVect | m_ratio |
| int | m_fine_level |
| int | m_ncomp |
YAFluxRegister is yet another Flux Register for refluxing.
At the beginning of a coarse step, reset() is called. In MFIter for the coarse level advance, CrseAdd is called with coarse flux. The flux is not scaled. In MFIter for the fine level advance, FineAdd is called. After the fine level finished its time steps, Reflux is called to update the coarse cells next to the coarse/fine boundary.
|
default |
| amrex::YAFluxRegister::YAFluxRegister | ( | const BoxArray & | fba, |
| const BoxArray & | cba, | ||
| const DistributionMapping & | fdm, | ||
| const DistributionMapping & | cdm, | ||
| const Geometry & | fgeom, | ||
| const Geometry & | cgeom, | ||
| const IntVect & | ref_ratio, | ||
| int | fine_lev, | ||
| int | nvar | ||
| ) |
|
noexcept |
|
inlinenoexcept |
| void amrex::YAFluxRegister::define | ( | const BoxArray & | fba, |
| const BoxArray & | cba, | ||
| const DistributionMapping & | fdm, | ||
| const DistributionMapping & | cdm, | ||
| const Geometry & | fgeom, | ||
| const Geometry & | cgeom, | ||
| const IntVect & | ref_ratio, | ||
| int | fine_lev, | ||
| int | nvar | ||
| ) |
|
noexcept |
|
inlinenoexcept |
| MultiFab & amrex::YAFluxRegister::getCrseData | ( | ) |
| MultiFab & amrex::YAFluxRegister::getFineData | ( | ) |
| void amrex::YAFluxRegister::reset | ( | ) |
The size of this is (# of local fine grids (# of crse/fine patches for that grid))
|
protected |
|
protected |
This is built on crse/fine patches.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |