1#ifndef AMREX_EBFLUXREGISTER_H_
2#define AMREX_EBFLUXREGISTER_H_
3#include <AMReX_Config.H>
85 const IntVect& ref_ratio,
int fine_lev,
int nvar);
95 const IntVect& ref_ratio,
int fine_lev,
int nvar);
113 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
116 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
120 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
123 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
124 int srccomp,
int destcomp,
int numcomp,
RunOn runon);
140 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
143 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
148 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
151 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
153 int srccomp,
int destcomp,
int numcomp,
RunOn runon);
156 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
159 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
160 int srccomp,
int destcomp,
int numcomp,
RunOn runon);
175 int srccomp,
int destcomp,
int numcomp);
178 int srccomp,
int destcomp,
int numcomp);
void amrex_eb_disable_reredistribution()
amrex::Real amrex_eb_get_reredistribution_threshold()
Yet-another flux register for refluxing.
Reference-counted collection of Boxes.
Definition AMReX_BoxArray.H:676
Calculates the distribution of FABs to MPI processes.
Definition AMReX_DistributionMapping.H:51
Definition AMReX_EBFluxRegister.H:64
void Reflux(MultiFab &crse_state, const amrex::MultiFab &crse_vfrac, MultiFab &fine_state, const amrex::MultiFab &fine_vfrac)
Perform reflux and re-redistribution using accumulated data.
Definition AMReX_EBFluxRegister.cpp:296
void CrseAdd(const MFIter &mfi, const std::array< FArrayBox const *, 3 > &flux, const Real *dx, Real dt, const FArrayBox &volfrac, const std::array< FArrayBox const *, 3 > &areafrac, RunOn runon)
Add coarse fluxes for tiles containing cut cells (all components).
Definition AMReX_EBFluxRegister.cpp:83
void defineExtra(const BoxArray &fba, const DistributionMapping &fdm)
Allocate auxiliary masks/data structures required on GPUs.
Definition AMReX_EBFluxRegister.cpp:44
void FineAdd(const MFIter &mfi, const std::array< FArrayBox const *, 3 > &flux, const Real *dx, Real dt, const FArrayBox &volfrac, const std::array< FArrayBox const *, 3 > &areafrac, const FArrayBox &dm, RunOn runon)
Add fine-level fluxes for tiles with cut cells.
Definition AMReX_EBFluxRegister.cpp:143
void clear()
Deallocate all data and reset to default-constructed state.
Definition AMReX_EBFluxRegister.cpp:76
const IArrayBox * getCrseFlag(const MFIter &mfi) const
Flag FAB describing which coarse cells are covered/boundary/genuine.
Definition AMReX_EBFluxRegister.H:186
FArrayBox * getCrseData(const MFIter &mfi)
Access coarse accumulation buffer for the tile referenced by mfi.
Definition AMReX_EBFluxRegister.H:181
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)
Define the register geometry and allocate storage.
Definition AMReX_EBFluxRegister.cpp:33
A Fortran Array of REALs.
Definition AMReX_FArrayBox.H:237
Rectangular problem domain geometry.
Definition AMReX_Geometry.H:75
A Fortran Array of ints.
Definition AMReX_IArrayBox.H:49
Iterator for looping ever tiles and boxes of amrex::FabArray based containers.
Definition AMReX_MFIter.H:88
A collection (stored as an array) of FArrayBox objects.
Definition AMReX_MultiFab.H:40
Definition AMReX_YAFluxRegister.H:33
void FineAdd(const MFIter &mfi, const std::array< FAB const *, 3 > &flux, const Real *dx, Real dt, RunOn runon) noexcept
Add fine-level fluxes for the tile identified by mfi.
Definition AMReX_YAFluxRegister.H:509
iMultiFab m_crse_flag
Definition AMReX_YAFluxRegister.H:176
MF m_crse_data
Definition AMReX_YAFluxRegister.H:175
void CrseAdd(const MFIter &mfi, const std::array< FAB const *, 3 > &flux, const Real *dx, Real dt, RunOn runon) noexcept
Add coarse-level fluxes for the tile indicated by mfi.
Definition AMReX_YAFluxRegister.H:451
A Collection of IArrayBoxes.
Definition AMReX_iMultiFab.H:34
amrex_real Real
Floating Point Type for Fields.
Definition AMReX_REAL.H:79
Definition AMReX_Amr.cpp:50
RunOn
Definition AMReX_GpuControl.H:65