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

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

#include <AMReX_MFInterpolater.H>

Inheritance diagram for amrex::MFCellConsLinMinmaxLimitInterp:
amrex::MFInterpolater amrex::InterpBase

Public Member Functions

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)
 

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. This version also ensures no new min/max are created by limiting the slope vector.

Member Function Documentation

◆ CoarseBox() [1/2]

Box amrex::MFCellConsLinMinmaxLimitInterp::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::MFCellConsLinMinmaxLimitInterp::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::MFCellConsLinMinmaxLimitInterp::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.


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