Block-Structured AMR Software Framework
amrex::Interpolater Class Referenceabstract

Virtual base class for interpolaters. More...

#include <AMReX_Interpolater.H>

Inheritance diagram for amrex::Interpolater:
amrex::InterpBase amrex::CellBilinear amrex::CellConservativeLinear amrex::CellConservativeQuartic amrex::CellQuadratic amrex::CellQuartic amrex::FaceConservativeLinear amrex::FaceDivFree amrex::FaceLinear amrex::NodeBilinear amrex::PCInterp

Public Member Functions

virtual void interp (const FArrayBox &crse, int crse_comp, FArrayBox &fine, int fine_comp, int ncomp, const Box &fine_region, const IntVect &ratio, const Geometry &crse_geom, const Geometry &fine_geom, Vector< BCRec > const &bcr, int actual_comp, int actual_state, RunOn runon)=0
 Coarse to fine interpolation in space. This is a pure virtual function and hence MUST be implemented by derived classes. More...
 
virtual void interp_face (const FArrayBox &, const int, FArrayBox &, const int, const int, const Box &, const IntVect &, const IArrayBox &, const Geometry &, const Geometry &, Vector< BCRec > const &, const int, RunOn)
 Coarse to fine interpolation in space for face-based data. More...
 
virtual void interp_arr (Array< FArrayBox *, AMREX_SPACEDIM > const &, const int, Array< FArrayBox *, AMREX_SPACEDIM > const &, const int, const int, const Box &, const IntVect &, Array< IArrayBox *, AMREX_SPACEDIM > const &, const Geometry &, const Geometry &, Vector< Array< BCRec, AMREX_SPACEDIM > > const &, const int, const int, const RunOn)
 Coarse to fine interpolation in space. Takes an Array of FArrayBox*s. More...
 
virtual void protect (const FArrayBox &, int, FArrayBox &, int, FArrayBox &, int, int, const Box &, const IntVect &, const Geometry &, const Geometry &, Vector< BCRec > &, RunOn)
 Re-visit the interpolation to protect against under- or overshoots. More...
 
- 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
 
virtual Box CoarseBox (const Box &fine, int ratio)=0
 Returns coarsened box given fine box and refinement ratio. This is a pure virtual function and hence MUST be implemented by derived classes. More...
 
virtual Box CoarseBox (const Box &fine, const IntVect &ratio)=0
 Returns coarsened box given fine box and refinement ratio. This is a pure virtual function and hence MUST be implemented by derived classes. More...
 
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

Virtual base class for interpolaters.

Specifies interpolater interface for coarse-to-fine interpolation in space.

Member Function Documentation

◆ interp()

virtual void amrex::Interpolater::interp ( const FArrayBox crse,
int  crse_comp,
FArrayBox fine,
int  fine_comp,
int  ncomp,
const Box fine_region,
const IntVect ratio,
const Geometry crse_geom,
const Geometry fine_geom,
Vector< BCRec > const &  bcr,
int  actual_comp,
int  actual_state,
RunOn  runon 
)
pure virtual

Coarse to fine interpolation in space. This is a pure virtual function and hence MUST be implemented by derived classes.

Parameters
crse
crse_comp
fine
fine_comp
ncomp
fine_region
ratio
crse_geom
fine_geom
bcr
actual_comp
actual_state

Implemented in amrex::CellConservativeLinear, amrex::EBCellConservativeLinear, amrex::CellQuartic, amrex::FaceConservativeLinear, amrex::FaceLinear, amrex::FaceDivFree, amrex::CellConservativeQuartic, amrex::PCInterp, amrex::CellQuadratic, amrex::CellBilinear, and amrex::NodeBilinear.

◆ interp_arr()

virtual void amrex::Interpolater::interp_arr ( Array< FArrayBox *, AMREX_SPACEDIM > const &  ,
const int  ,
Array< FArrayBox *, AMREX_SPACEDIM > const &  ,
const int  ,
const int  ,
const Box ,
const IntVect ,
Array< IArrayBox *, AMREX_SPACEDIM > const &  ,
const Geometry ,
const Geometry ,
Vector< Array< BCRec, AMREX_SPACEDIM > > const &  ,
const int  ,
const int  ,
const  RunOn 
)
inlinevirtual

Coarse to fine interpolation in space. Takes an Array of FArrayBox*s.

Parameters
crse
crse_comp
fine
fine_comp
ncomp
fine_region
fine_values
fine_known
ratio
crse_geom
fine_geom
bcr
actual_comp
actual_state

Reimplemented in amrex::FaceDivFree, amrex::FaceConservativeLinear, and amrex::FaceLinear.

◆ interp_face()

virtual void amrex::Interpolater::interp_face ( const FArrayBox ,
const int  ,
FArrayBox ,
const int  ,
const int  ,
const Box ,
const IntVect ,
const IArrayBox ,
const Geometry ,
const Geometry ,
Vector< BCRec > const &  ,
const int  ,
RunOn   
)
inlinevirtual

Coarse to fine interpolation in space for face-based data.

Parameters
crse
crse_comp
fine
fine_comp
ncomp
fine_region
fine_values
fine_known
ratio
crse_geom
fine_geom
bcr
bccomp
runon

Reimplemented in amrex::FaceConservativeLinear, and amrex::FaceLinear.

◆ protect()

virtual void amrex::Interpolater::protect ( const FArrayBox ,
int  ,
FArrayBox ,
int  ,
FArrayBox ,
int  ,
int  ,
const Box ,
const IntVect ,
const Geometry ,
const Geometry ,
Vector< BCRec > &  ,
RunOn   
)
inlinevirtual

Re-visit the interpolation to protect against under- or overshoots.

Parameters
crse
crse_comp
fine
fine_comp
fine_state
state_comp
ncomp
fine_region
ratio
crse_geom
fine_geom
bcr

Reimplemented in amrex::CellConservativeProtected.


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