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

Linear conservative interpolation on cell centered data. More...

#include <AMReX_MFInterpolater.H>

Inheritance diagram for amrex::MFCellConsLinInterp:
amrex::MFInterpolater amrex::InterpBase amrex::EBMFCellConsLinInterp

Public Member Functions

 MFCellConsLinInterp (bool do_linear_limiting_)
 
Box CoarseBox (Box const &fine, int ratio) override
 Returns coarsened box given fine box and refinement ratio. This is a pure virtual function and hence MUST be implemented by derived classes. More...
 
Box CoarseBox (Box const &fine, IntVect const &ratio) override
 Returns coarsened box given fine box and refinement ratio. This is a pure virtual function and hence MUST be implemented by derived classes. More...
 
void interp (MultiFab const &crsemf, int ccomp, MultiFab &finemf, int fcomp, int ncomp, IntVect const &ng, Geometry const &cgeom, Geometry const &fgeom, Box const &dest_domain, IntVect const &ratio, Vector< BCRec > const &bcs, int bcomp) override
 
- Public Member Functions inherited from amrex::InterpBase
 InterpBase ()=default
 
virtual ~InterpBase ()=default
 
 InterpBase (InterpBase const &) noexcept=default
 
 InterpBase (InterpBase &&) noexcept=default
 
InterpBaseoperator= (InterpBase const &) noexcept=default
 
InterpBaseoperator= (InterpBase &&) noexcept=default
 
InterpolaterBoxCoarsener BoxCoarsener (const IntVect &ratio)
 

Protected Attributes

bool do_linear_limiting = true
 

Additional Inherited Members

- Static Public Member Functions inherited from amrex::InterpBase
static Vector< intGetBCArray (const Vector< BCRec > &bcr)
 

Detailed Description

Linear conservative interpolation on cell centered data.

Linear conservative interpolation on cell centered data, i.e, conservative interpolation with a limiting scheme that preserves the value of any linear combination of the fab components. If sum_ivar a(ic,jc,ivar)*fab(ic,jc,ivar) = 0, then sum_ivar a(ic,jc,ivar)*fab(if,jf,ivar) = 0 is satisfied in all fine cells if,jf covering coarse cell ic,jc.

Constructor & Destructor Documentation

◆ MFCellConsLinInterp()

amrex::MFCellConsLinInterp::MFCellConsLinInterp ( bool  do_linear_limiting_)
inlineexplicit

Member Function Documentation

◆ CoarseBox() [1/2]

Box amrex::MFCellConsLinInterp::CoarseBox ( Box const &  fine,
int  ratio 
)
overridevirtual

Returns coarsened box given fine box and refinement ratio. This is a pure virtual function and hence MUST be implemented by derived classes.

Parameters
fine
ratio

Implements amrex::InterpBase.

◆ CoarseBox() [2/2]

Box amrex::MFCellConsLinInterp::CoarseBox ( Box const &  fine,
IntVect const &  ratio 
)
overridevirtual

Returns coarsened box given fine box and refinement ratio. This is a pure virtual function and hence MUST be implemented by derived classes.

Parameters
fine
ratio

Implements amrex::InterpBase.

◆ interp()

void amrex::MFCellConsLinInterp::interp ( MultiFab const &  crsemf,
int  ccomp,
MultiFab finemf,
int  fcomp,
int  ncomp,
IntVect const &  ng,
Geometry const &  cgeom,
Geometry const &  fgeom,
Box const &  dest_domain,
IntVect const &  ratio,
Vector< BCRec > const &  bcs,
int  bcomp 
)
overridevirtual

Implements amrex::MFInterpolater.

Reimplemented in amrex::EBMFCellConsLinInterp.

Member Data Documentation

◆ do_linear_limiting

bool amrex::MFCellConsLinInterp::do_linear_limiting = true
protected

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