Block-Structured AMR Software Framework
amrex::InterpFaceRegister Class Reference

InterpFaceRegister is a coarse/fine boundary register for interpolation of face data at the coarse/fine boundary. More...

#include <AMReX_InterpFaceRegister.H>

Public Member Functions

 InterpFaceRegister ()=default
 
 InterpFaceRegister (BoxArray const &fba, DistributionMapping const &fdm, Geometry const &fgeom, IntVect const &ref_ratio)
 InterpFaceRegister Constructor. More...
 
void define (BoxArray const &fba, DistributionMapping const &fdm, Geometry const &fgeom, IntVect const &ref_ratio)
 Defines an InterpFaceRegister object. More...
 
iMultiFab const & mask (Orientation face) const
 Returns a coarse/fine boundary mask for a given face. More...
 
void interp (Array< MultiFab *, AMREX_SPACEDIM > const &fine, Array< MultiFab const *, AMREX_SPACEDIM > const &crse, int scomp, int ncomp)
 Interpolates from coarse to fine data at coarse/fine boundaries. More...
 

Private Attributes

BoxArray m_fine_ba
 
DistributionMapping m_fine_dm
 
Geometry m_fine_geom
 
IntVect m_ref_ratio
 
Geometry m_crse_geom
 
Array< BoxArray, 2 *AMREX_SPACEDIM > m_fine_face_ba
 
Array< BoxArray, 2 *AMREX_SPACEDIM > m_crse_face_ba
 
Array< iMultiFab, 2 *AMREX_SPACEDIM > m_face_mask
 

Detailed Description

InterpFaceRegister is a coarse/fine boundary register for interpolation of face data at the coarse/fine boundary.

Constructor & Destructor Documentation

◆ InterpFaceRegister() [1/2]

amrex::InterpFaceRegister::InterpFaceRegister ( )
default

◆ InterpFaceRegister() [2/2]

amrex::InterpFaceRegister::InterpFaceRegister ( BoxArray const &  fba,
DistributionMapping const &  fdm,
Geometry const &  fgeom,
IntVect const &  ref_ratio 
)

InterpFaceRegister Constructor.

Parameters
fbaThe fine level BoxArray
fdmThe fine level DistributionMapping
fgeomThe fine level Geometry
ref_ratioThe refinement ratio

Member Function Documentation

◆ define()

void amrex::InterpFaceRegister::define ( BoxArray const &  fba,
DistributionMapping const &  fdm,
Geometry const &  fgeom,
IntVect const &  ref_ratio 
)

Defines an InterpFaceRegister object.

Parameters
fbaThe fine level BoxArray
fdmThe fine level DistributionMapping
fgeomThe fine level Geometry
ref_ratioThe refinement ratio

◆ interp()

void amrex::InterpFaceRegister::interp ( Array< MultiFab *, AMREX_SPACEDIM > const &  fine,
Array< MultiFab const *, AMREX_SPACEDIM > const &  crse,
int  scomp,
int  ncomp 
)

Interpolates from coarse to fine data at coarse/fine boundaries.

Parameters
fineArray of pointers to the fine data.
crseArray of const pointers to the coarse data.
scompStarting component
ncompNumber of components

◆ mask()

iMultiFab const & amrex::InterpFaceRegister::mask ( Orientation  face) const

Returns a coarse/fine boundary mask for a given face.

This returns an iMultiFab at the coarse/fine boundary of a given face. The data are only defined on one face of each box in the fine level BoxArray passed to the InterpFaceRegister constructor. It has two possible values: 1 for coarse/fine boundary and 0 for fine/fine boundary including non-periodic physical domain face.

Parameters
faceThe face

Member Data Documentation

◆ m_crse_face_ba

Array<BoxArray, 2*AMREX_SPACEDIM> amrex::InterpFaceRegister::m_crse_face_ba
private

◆ m_crse_geom

Geometry amrex::InterpFaceRegister::m_crse_geom
private

◆ m_face_mask

Array<iMultiFab,2*AMREX_SPACEDIM> amrex::InterpFaceRegister::m_face_mask
private

◆ m_fine_ba

BoxArray amrex::InterpFaceRegister::m_fine_ba
private

◆ m_fine_dm

DistributionMapping amrex::InterpFaceRegister::m_fine_dm
private

◆ m_fine_face_ba

Array<BoxArray, 2*AMREX_SPACEDIM> amrex::InterpFaceRegister::m_fine_face_ba
private

◆ m_fine_geom

Geometry amrex::InterpFaceRegister::m_fine_geom
private

◆ m_ref_ratio

IntVect amrex::InterpFaceRegister::m_ref_ratio
private

The documentation for this class was generated from the following files: