|
REMORA
Regional Modeling of Oceans Refined Adaptively
|
#include <REMORA_FillPatcher.H>

Public Member Functions | |
| REMORAFillPatcher (amrex::BoxArray const &fba, amrex::DistributionMapping const &fdm, amrex::Geometry const &fgeom, amrex::BoxArray const &cba, amrex::DistributionMapping const &cdm, amrex::Geometry const &cgeom, int nghost, int nghost_set, int ncomp, amrex::InterpBase *interp) | |
| Fill valid and ghost data with the "state data" at the given time. | |
| void | Define (amrex::BoxArray const &fba, amrex::DistributionMapping const &fdm, amrex::Geometry const &fgeom, amrex::BoxArray const &cba, amrex::DistributionMapping const &cdm, amrex::Geometry const &cgeom, int nghost, int nghost_set, int ncomp, amrex::InterpBase *interp) |
| Redefine the coarse and fine patch MultiFabs. | |
| void | BuildMask (amrex::BoxArray const &fba, int nghost, int nghost_set) |
| Generate masking array. | |
| void | RegisterCoarseData (amrex::Vector< amrex::MultiFab const * > const &crse_data, amrex::Vector< amrex::Real > const &crse_time) |
| Register the coarse data to be used by the REMORAFillPatcher. | |
| void | InterpFace (amrex::MultiFab &fine, amrex::MultiFab const &crse, int mask_val) |
| Interpolate to cell faces. | |
| void | InterpCell (amrex::MultiFab &fine, amrex::MultiFab const &crse, amrex::Vector< amrex::BCRec > const &bcr, int mask_val) |
| Interpolate to cell centers. | |
| int | GetSetMaskVal () |
| int | GetRelaxMaskVal () |
| amrex::iMultiFab * | GetMask () |
| template<typename BC > | |
| void | FillSet (amrex::MultiFab &mf, amrex::Real time, BC &cbc, amrex::Vector< amrex::BCRec > const &bcs) |
| Fill fine data in the set region. | |
| template<typename BC > | |
| void | FillRelax (amrex::MultiFab &mf, amrex::Real time, BC &cbc, amrex::Vector< amrex::BCRec > const &bcs) |
| Fill fine data in the relax region. | |
| template<typename BC > | |
| void | Fill (amrex::MultiFab &mf, amrex::Real time, BC &cbc, amrex::Vector< amrex::BCRec > const &bcs, int mask_val) |
| Fill fine data in the relax region. | |
Private Attributes | |
| amrex::BoxArray | m_fba |
| amrex::BoxArray | m_cba |
| amrex::DistributionMapping | m_fdm |
| amrex::DistributionMapping | m_cdm |
| amrex::Geometry | m_fgeom |
| amrex::Geometry | m_cgeom |
| int | m_nghost |
| int | m_nghost_subset |
| int | m_ncomp |
| amrex::InterpBase * | m_interp |
| amrex::IntVect | m_ratio |
| std::unique_ptr< amrex::MultiFab > | m_cf_crse_data_old |
| std::unique_ptr< amrex::MultiFab > | m_cf_crse_data_new |
| std::unique_ptr< amrex::iMultiFab > | m_cf_mask |
| amrex::Vector< amrex::Real > | m_crse_times |
| amrex::Real | m_dt_crse |
| int | m_set_mask {2} |
| int | m_relax_mask {1} |
Definition at line 8 of file REMORA_FillPatcher.H.
| REMORAFillPatcher::REMORAFillPatcher | ( | amrex::BoxArray const & | fba, |
| amrex::DistributionMapping const & | fdm, | ||
| amrex::Geometry const & | fgeom, | ||
| amrex::BoxArray const & | cba, | ||
| amrex::DistributionMapping const & | cdm, | ||
| amrex::Geometry const & | cgeom, | ||
| int | nghost, | ||
| int | nghost_set, | ||
| int | ncomp, | ||
| amrex::InterpBase * | interp | ||
| ) |
Fill valid and ghost data with the "state data" at the given time.
| [in] | fba | BoxArray of data to be filled at fine level |
| [in] | fdm | DistributionMapping of data to be filled at fine level |
| [in] | fgeom | container of geometry information at fine level |
| [in] | cba | BoxArray of data to be filled at coarse level |
| [in] | cdm | DistributionMapping of data to be filled at coarse level |
| [in] | cgeom | container of geometry information at coarse level |
| [in] | nghost | number of ghost cells to be filled |
| [in] | ncomp | number of components to be filled |
| [in] | interp | interpolation operator to be used |
Definition at line 19 of file REMORA_FillPatcher.cpp.

| void REMORAFillPatcher::BuildMask | ( | amrex::BoxArray const & | fba, |
| int | nghost, | ||
| int | nghost_set | ||
| ) |
Generate masking array.
Definition at line 115 of file REMORA_FillPatcher.cpp.
Referenced by Define().

| void REMORAFillPatcher::Define | ( | amrex::BoxArray const & | fba, |
| amrex::DistributionMapping const & | fdm, | ||
| amrex::Geometry const & | fgeom, | ||
| amrex::BoxArray const & | cba, | ||
| amrex::DistributionMapping const & | cdm, | ||
| amrex::Geometry const & | cgeom, | ||
| int | nghost, | ||
| int | nghost_set, | ||
| int | ncomp, | ||
| amrex::InterpBase * | interp | ||
| ) |
Redefine the coarse and fine patch MultiFabs.
| [in] | fba | BoxArray of data to be filled at fine level |
| [in] | fdm | DistributionMapping of data to be filled at fine level |
| [in] | fgeom | container of geometry information at fine level |
| [in] | cba | BoxArray of data to be filled at coarse level |
| [in] | cdm | DistributionMapping of data to be filled at coarse level |
| [in] | cgeom | container of geometry information at coarse level |
| [in] | nghost | number of ghost cells to be filled |
| [in] | ncomp | number of components to be filled |
| [in] | interp | interpolation operator to be used |
Definition at line 53 of file REMORA_FillPatcher.cpp.
Referenced by REMORAFillPatcher().


| void REMORAFillPatcher::Fill | ( | amrex::MultiFab & | mf, |
| amrex::Real | time, | ||
| BC & | cbc, | ||
| amrex::Vector< amrex::BCRec > const & | bcs, | ||
| int | mask_val | ||
| ) |
Fill fine data in the relax region.
| [out] | mf | MultiFab to be filled |
| [in] | time | Time at which to fill data |
| [in] | cbc | Coarse boundary condition |
| [in] | bcs | Vector of boundary conditions |
| [in] | mask_val | Value to assign mask array |
Definition at line 124 of file REMORA_FillPatcher.H.
Referenced by FillRelax(), and FillSet().


| void REMORAFillPatcher::FillRelax | ( | amrex::MultiFab & | mf, |
| amrex::Real | time, | ||
| BC & | cbc, | ||
| amrex::Vector< amrex::BCRec > const & | bcs | ||
| ) |
Fill fine data in the relax region.
| [out] | mf | MultiFab to be filled |
| [in] | time | Time at which to fill data |
| [in] | cbc | Coarse boundary condition |
| [in] | bcs | Vector of boundary conditions |
Definition at line 109 of file REMORA_FillPatcher.H.

| void REMORAFillPatcher::FillSet | ( | amrex::MultiFab & | mf, |
| amrex::Real | time, | ||
| BC & | cbc, | ||
| amrex::Vector< amrex::BCRec > const & | bcs | ||
| ) |
Fill fine data in the set region.
| [out] | mf | MultiFab to be filled |
| [in] | time | Time at which to fill data |
| [in] | cbc | Coarse boundary condition |
| [in] | bcs | Vector of boundary conditions |
Definition at line 95 of file REMORA_FillPatcher.H.

|
inline |
Definition at line 49 of file REMORA_FillPatcher.H.
|
inline |
Definition at line 47 of file REMORA_FillPatcher.H.
|
inline |
Definition at line 45 of file REMORA_FillPatcher.H.
| void REMORAFillPatcher::InterpCell | ( | amrex::MultiFab & | fine, |
| amrex::MultiFab const & | crse, | ||
| amrex::Vector< amrex::BCRec > const & | bcr, | ||
| int | mask_val | ||
| ) |
Interpolate to cell centers.
| [in,out] | fine | fine level data |
| [in] | crse | coarse level data |
| [in] | bcr | boundary condition type |
| [in] | mask_val | masked value |
Definition at line 333 of file REMORA_FillPatcher.cpp.
Referenced by Fill().

| void REMORAFillPatcher::InterpFace | ( | amrex::MultiFab & | fine, |
| amrex::MultiFab const & | crse, | ||
| int | mask_val | ||
| ) |
Interpolate to cell faces.
| [in,out] | fine | fine level data |
| [in] | crse | coarse level data |
| [in] | mask_val | masked value |
Definition at line 209 of file REMORA_FillPatcher.cpp.
Referenced by Fill().

| void REMORAFillPatcher::RegisterCoarseData | ( | amrex::Vector< amrex::MultiFab const * > const & | crse_data, |
| amrex::Vector< amrex::Real > const & | crse_time | ||
| ) |
Register the coarse data to be used by the REMORAFillPatcher.
Definition at line 180 of file REMORA_FillPatcher.cpp.
|
private |
Definition at line 68 of file REMORA_FillPatcher.H.
Referenced by Define().
|
private |
Definition at line 70 of file REMORA_FillPatcher.H.
Referenced by Define().
|
private |
Definition at line 79 of file REMORA_FillPatcher.H.
Referenced by Define(), Fill(), and RegisterCoarseData().
|
private |
Definition at line 78 of file REMORA_FillPatcher.H.
Referenced by Define(), Fill(), and RegisterCoarseData().
|
private |
Definition at line 80 of file REMORA_FillPatcher.H.
Referenced by BuildMask(), Define(), GetMask(), InterpCell(), and InterpFace().
|
private |
Definition at line 72 of file REMORA_FillPatcher.H.
Referenced by Define(), InterpCell(), InterpFace(), and RegisterCoarseData().
|
private |
Definition at line 81 of file REMORA_FillPatcher.H.
Referenced by Fill(), RegisterCoarseData(), and REMORAFillPatcher().
|
private |
Definition at line 82 of file REMORA_FillPatcher.H.
Referenced by Fill(), and RegisterCoarseData().
|
private |
Definition at line 67 of file REMORA_FillPatcher.H.
Referenced by Define().
|
private |
Definition at line 69 of file REMORA_FillPatcher.H.
Referenced by Define().
|
private |
Definition at line 71 of file REMORA_FillPatcher.H.
Referenced by Define(), and InterpCell().
|
private |
Definition at line 76 of file REMORA_FillPatcher.H.
Referenced by Define(), and InterpCell().
|
private |
Definition at line 75 of file REMORA_FillPatcher.H.
Referenced by Define(), Fill(), InterpCell(), InterpFace(), and RegisterCoarseData().
|
private |
Definition at line 73 of file REMORA_FillPatcher.H.
Referenced by Define().
|
private |
Definition at line 74 of file REMORA_FillPatcher.H.
Referenced by Define().
|
private |
Definition at line 77 of file REMORA_FillPatcher.H.
Referenced by Define(), InterpCell(), and InterpFace().
|
private |
Definition at line 84 of file REMORA_FillPatcher.H.
Referenced by Define(), FillRelax(), and GetRelaxMaskVal().
|
private |
Definition at line 83 of file REMORA_FillPatcher.H.
Referenced by Define(), FillSet(), and GetSetMaskVal().