![]() |
Block-Structured AMR Software Framework
|
Divergence-preserving interpolation on face centered data. More...
#include <AMReX_Interpolater.H>
Public Member Functions | |
| 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 actual_comp, int actual_state, RunOn runon) override |
| Coarse to fine interpolation in space. | |
| void | interp_arr (Array< FArrayBox *, 3 > const &crse, int crse_comp, Array< FArrayBox *, 3 > const &fine, int fine_comp, int ncomp, const Box &fine_region, const IntVect &ratio, Array< IArrayBox *, 3 > const &solve_mask, const Geometry &crse_geom, const Geometry &fine_geom, Vector< Array< BCRec, 3 > > const &bcr, int actual_comp, int actual_state, 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 | 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 | |
| InterpBase & | operator= (InterpBase const &) noexcept=default |
| InterpBase & | operator= (InterpBase &&) noexcept=default |
| InterpolaterBoxCoarsener | BoxCoarsener (const IntVect &ratio) |
| Convenience helper that returns a BoxConverter bound to this interpolater. | |
Additional Inherited Members | |
Static Public Member Functions inherited from amrex::InterpBase | |
| static Vector< int > | GetBCArray (const Vector< BCRec > &bcr) |
| Convert BCRec entries to an integer array that interpolaters can consume. | |
Divergence-preserving interpolation on face centered data.
Divergence-preserving interpolation on face centered data, i.e., it ensures the divergence of the fine ghost cells match the value of the divergence of the underlying crse cell. All fine cells overlying a given coarse cell will have the same divergence, even when the coarse grid divergence is spatially varying. Based on Vanella et. al. (doi:10.1016/j.jcp.2010.05.003, section 3.2), but solves the interior closure problem using least squares with an initial guess equal to the average of fine face values across the cell.
Returns coarsened box given fine box and refinement ratio.
| fine | |
| ratio |
Implements amrex::InterpBase.
Returns coarsened box given fine box and refinement ratio.
| fine | |
| ratio |
Implements amrex::InterpBase.
|
overridevirtual |
Coarse to fine interpolation in space.
| crse | |
| crse_comp | |
| fine | |
| fine_comp | |
| ncomp | |
| fine_region | |
| ratio | |
| crse_geom | |
| fine_geom | |
| bcr | |
| actual_comp | |
| actual_state | |
| runon |
Implements amrex::Interpolater.
|
overridevirtual |
Coarse to fine interpolation in space.
| crse | |
| crse_comp | |
| fine | |
| fine_comp | |
| ncomp | |
| fine_region | |
| ratio | |
| solve_mask | |
| crse_geom | |
| fine_geom | |
| bcr | |
| actual_comp | |
| actual_state | |
| runon |
Reimplemented from amrex::Interpolater.