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);
110 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
113 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
117 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
120 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
121 int srccomp,
int destcomp,
int numcomp,
RunOn runon);
137 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
140 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
145 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
148 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
150 int srccomp,
int destcomp,
int numcomp,
RunOn runon);
153 const std::array<FArrayBox const*, AMREX_SPACEDIM>& flux,
156 const std::array<FArrayBox const*, AMREX_SPACEDIM>& areafrac,
157 int srccomp,
int destcomp,
int numcomp,
RunOn runon);
172 int srccomp,
int destcomp,
int numcomp);
175 int srccomp,
int destcomp,
int numcomp);
void amrex_eb_disable_reredistribution()
amrex::Real amrex_eb_get_reredistribution_threshold()
Yet-another flux register for refluxing.
A collection of Boxes stored in an Array.
Definition AMReX_BoxArray.H:568
Calculates the distribution of FABs to MPI processes.
Definition AMReX_DistributionMapping.H:43
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:289
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:76
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:136
const IArrayBox * getCrseFlag(const MFIter &mfi) const
Flag FAB describing which coarse cells are covered/boundary/genuine.
Definition AMReX_EBFluxRegister.H:183
FArrayBox * getCrseData(const MFIter &mfi)
Access coarse accumulation buffer for the tile referenced by mfi.
Definition AMReX_EBFluxRegister.H:178
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:231
Rectangular problem domain geometry.
Definition AMReX_Geometry.H:74
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:479
iMultiFab m_crse_flag
Definition AMReX_YAFluxRegister.H:173
MF m_crse_data
Definition AMReX_YAFluxRegister.H:172
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:421
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:49
RunOn
Definition AMReX_GpuControl.H:69