Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::CellConservativeLinear Class Reference

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

#include <AMReX_Interpolater.H>

Inheritance diagram for amrex::CellConservativeLinear:
amrex::Interpolater amrex::InterpBase amrex::CellConservativeProtected amrex::EBCellConservativeLinear

Public Member Functions

 CellConservativeLinear (bool do_linear_limiting_=true)
 The constructor.
 
Box CoarseBox (const Box &fine, int ratio) override
 Returns coarsened box given fine box and refinement ratio.
 
Box CoarseBox (const Box &fine, const IntVect &ratio) override
 Returns coarsened box given fine box and refinement ratio.
 
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, int, RunOn runon) override
 Coarse to fine interpolation in space.
 
- Public Member Functions inherited from amrex::Interpolater
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 for face-based data (optional override).
 
virtual void interp_arr (Array< FArrayBox *, 3 > const &, const int, Array< FArrayBox *, 3 > const &, const int, const int, const Box &, const IntVect &, Array< IArrayBox *, 3 > const &, const Geometry &, const Geometry &, Vector< Array< BCRec, 3 > > const &, const int, const int, const RunOn)
 Interpolate arrays of face-centered FABs simultaneously (optional override).
 
virtual void protect (const FArrayBox &, int, FArrayBox &, int, FArrayBox &, int, int, const Box &, const IntVect &, const Geometry &, const Geometry &, Vector< BCRec > &, RunOn)
 Optional limiter hook that reprojects fine data to avoid undershoot/overshoot.
 
- 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)
 Convenience helper that returns a BoxConverter bound to this interpolater.
 

Protected Attributes

bool do_linear_limiting
 

Additional Inherited Members

- Static Public Member Functions inherited from amrex::InterpBase
static Vector< intGetBCArray (const Vector< BCRec > &bcr)
 Convert BCRec entries to an integer array that interpolaters can consume.
 

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; //!< e.g.,

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

◆ CellConservativeLinear()

amrex::CellConservativeLinear::CellConservativeLinear ( bool  do_linear_limiting_ = true)
explicit

The constructor.

Parameters
do_linear_limiting_

Member Function Documentation

◆ CoarseBox() [1/2]

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

Returns coarsened box given fine box and refinement ratio.

Parameters
fine
ratio

Implements amrex::InterpBase.

◆ CoarseBox() [2/2]

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

Returns coarsened box given fine box and refinement ratio.

Parameters
fine
ratio

Implements amrex::InterpBase.

◆ interp()

void amrex::CellConservativeLinear::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  ,
int  ,
RunOn  runon 
)
overridevirtual

Coarse to fine interpolation in space.

Implements amrex::Interpolater.

Reimplemented in amrex::EBCellConservativeLinear.

Member Data Documentation

◆ do_linear_limiting

bool amrex::CellConservativeLinear::do_linear_limiting
protected

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