![]() |
Block-Structured AMR Software Framework
|
#include <AMReX_EB2_Level.H>
Classes | |
| struct | FCData |
| Face-centered EB data storage structure. More... | |
Public Member Functions | |
| bool | isAllRegular () const noexcept |
| bool | isOK () const noexcept |
| void | fillEBCellFlag (FabArray< EBCellFlagFab > &cellflag, const Geometry &geom) const |
Fill cellflag with EBCellFlag data using geometry geom. | |
| void | fillVolFrac (MultiFab &vfrac, const Geometry &geom) const |
Populate volume fractions into vfrac using geom. | |
| void | fillCentroid (MultiCutFab ¢roid, const Geometry &geom) const |
| Populate cut-cell centroids into a MultiCutFab. | |
| void | fillCentroid (MultiFab ¢roid, const Geometry &geom) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | fillBndryArea (MultiCutFab &bndryarea, const Geometry &geom) const |
Populate boundary-face areas into bndryarea. | |
| void | fillBndryArea (MultiFab &bndryarea, const Geometry &geom) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | fillBndryCent (MultiCutFab &bndrycent, const Geometry &geom) const |
Populate boundary centroids into bndrycent. | |
| void | fillBndryCent (MultiFab &bndrycent, const Geometry &geom) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | fillBndryNorm (MultiCutFab &bndrynorm, const Geometry &geom) const |
Populate boundary normals into bndrynorm. | |
| void | fillBndryNorm (MultiFab &bndrynorm, const Geometry &geom) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | fillAreaFrac (Array< MultiCutFab *, 3 > const &areafrac, const Geometry &geom) const |
| Populate face area fractions for each direction. | |
| void | fillAreaFrac (Array< MultiFab *, 3 > const &areafrac, const Geometry &geom) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | fillFaceCent (Array< MultiCutFab *, 3 > const &facecent, const Geometry &geom) const |
| Populate face centroids for each direction. | |
| void | fillFaceCent (Array< MultiFab *, 3 > const &facecent, const Geometry &geom) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | fillEdgeCent (Array< MultiCutFab *, 3 > const &edgecent, const Geometry &geom) const |
| Populate edge centroids for each direction. | |
| void | fillEdgeCent (Array< MultiFab *, 3 > const &edgecent, const Geometry &geom) const |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| void | fillLevelSet (MultiFab &levelset, const Geometry &geom) const |
Write the implicit function values into levelset. | |
| const BoxArray & | boxArray () const noexcept |
| const DistributionMapping & | DistributionMap () const noexcept |
| Level (IndexSpace const *is, const Geometry &geom) | |
Construct a Level bound to EB index space is and Geometry geom. | |
| void | prepareForCoarsening (const Level &rhs, int max_grid_size, IntVect const &ngrow) |
Prepare for coarsening by copying from rhs, respecting max grid size and grow vector. | |
| const Geometry & | Geom () const noexcept |
| IndexSpace const * | getEBIndexSpace () const noexcept |
| IntVect const & | nGrowVect () const noexcept |
| void | write_to_chkpt_file (const std::string &fname, bool extend_domain_face, int max_grid_size) const |
Write this level’s EB data to a checkpoint file fname. | |
| bool | hasEBInfo () const noexcept |
| void | fillCutCellMask (iMultiFab &cutcellmask, const Geometry &geom) const |
Populate the cut-cell mask into cutcellmask. | |
| void | setShift (int direction, int ncells) |
Shift this level by ncells cells along direction direction (for periodic tiling). | |
| bool | hasFCData (int face_dir) const noexcept |
| Check if face-centered data is available for face_dir (0=x, 1=y, 2=z). | |
| const FCData & | getFCData (int face_dir) const |
| Get reference to face-centered data for face_dir (0=x, 1=y, 2=z). | |
| void | fillVolFracFC (MultiFab &vfrac, int face_dir, const Geometry &geom) const |
| Fill face-centered volume fractions for face_dir. | |
| void | fillAreaFracFC (Array< MultiFab *, 3 > const &areafrac, int face_dir, const Geometry &geom) const |
| Fill face-centered area fractions for face_dir. | |
| void | fillAreaFracFC (Array< MultiCutFab *, 3 > const &areafrac, int face_dir, const Geometry &geom) const |
| void | fillCentroidFC (MultiFab ¢roid, int face_dir, const Geometry &geom) const |
| Fill face-centered centroids for face_dir. | |
| void | fillCentroidFC (MultiCutFab ¢roid, int face_dir, const Geometry &geom) const |
| void | fillBndryAreaFC (MultiFab &bndryarea, int face_dir, const Geometry &geom) const |
| Fill face-centered boundary areas for face_dir. | |
| void | fillBndryAreaFC (MultiCutFab &bndryarea, int face_dir, const Geometry &geom) const |
| void | fillBndryCentFC (MultiFab &bndrycent, int face_dir, const Geometry &geom) const |
| Fill face-centered boundary centroids for face_dir. | |
| void | fillBndryCentFC (MultiCutFab &bndrycent, int face_dir, const Geometry &geom) const |
| void | fillBndryNormFC (MultiFab &bndrynorm, int face_dir, const Geometry &geom) const |
| Fill face-centered boundary normals for face_dir. | |
| void | fillBndryNormFC (MultiCutFab &bndrynorm, int face_dir, const Geometry &geom) const |
| void | fillEBCellFlagFC (FabArray< EBCellFlagFab > &cellflag, int face_dir, const Geometry &geom) const |
| Fill face-centered EBCellFlags for face_dir. | |
| void | fillFaceCentFC (Array< MultiFab *, 3 > const &facecent, int face_dir, const Geometry &geom) const |
| Fill face-centered face centroids for face_dir. | |
| void | fillFaceCentFC (Array< MultiCutFab *, 3 > const &facecent, int face_dir, const Geometry &geom) const |
| void | fillEdgeCentFC (Array< MultiFab *, 3 > const &edgecent, int face_dir, const Geometry &geom) const |
| Fill face-centered edge centroids for face_dir. | |
| void | fillEdgeCentFC (Array< MultiCutFab *, 3 > const &edgecent, int face_dir, const Geometry &geom) const |
| int | coarsenFromFine (Level &fineLevel, bool fill_boundary) |
Coarsen EB data from fineLevel into this level. | |
| void | buildCellFlag () |
| Build EBCellFlag data from the current implicit function field. | |
| void | buildCutCellMask (Level const &fine_level) |
Build the cut-cell mask by coarsening from fine_level. | |
Static Public Member Functions | |
| static IntVect | fcEdgeType (int idim, int face_dir) noexcept |
Index type of the face-centered edge centroids for edge direction idim. | |
Protected Attributes | |
| Geometry | m_geom |
| IntVect | m_ngrow |
| BoxArray | m_grids |
| BoxArray | m_covered_grids |
| DistributionMapping | m_dmap |
| MultiFab | m_sdf |
| std::map< int, std::unique_ptr< MC::MCFab > > | m_marching_cubes |
| MultiGFab | m_mgf |
| MultiFab | m_levelset |
| FabArray< EBCellFlagFab > | m_cellflag |
| MultiFab | m_volfrac |
| MultiFab | m_centroid |
| MultiFab | m_bndryarea |
| MultiFab | m_bndrycent |
| MultiFab | m_bndrynorm |
| Array< MultiFab, 3 > | m_areafrac |
| Array< MultiFab, 3 > | m_facecent |
| Array< MultiFab, 3 > | m_edgecent |
| iMultiFab | m_cutcellmask |
| bool | m_allregular = false |
| bool | m_ok = false |
| bool | m_has_eb_info = true |
| IntVect | m_shift {0} |
| IndexSpace const * | m_parent |
| Array< std::unique_ptr< FCData >, 3 > | m_fc_data |
| Face-centered data storage: [0]=x-face, [1]=y-face, [2]=z-face. | |
Friends | |
| template<typename G > | |
| class | GShopLevel |
|
inline |
|
inlinenoexcept |
| void amrex::EB2::Level::buildCellFlag | ( | ) |
Build EBCellFlag data from the current implicit function field.
| void amrex::EB2::Level::buildCutCellMask | ( | Level const & | fine_level | ) |
Build the cut-cell mask by coarsening from fine_level.
Coarsen EB data from fineLevel into this level.
| fineLevel | Source level. |
| fill_boundary | Whether to fill boundary data after coarsening. |
|
inlinenoexcept |
Index type of the face-centered edge centroids for edge direction idim.
The edge is cell-typed in the direction it runs along and nodal in the others, as in the cell-centered path, except that face_dir is always nodal: that is how a box spans the staggered cells it owns. Used for both the level's data and the factory's, which have to agree - fillEdgeCentFC copies one into the other.
| void amrex::EB2::Level::fillAreaFrac | ( | Array< MultiCutFab *, 3 > const & | areafrac, |
| const Geometry & | geom | ||
| ) | const |
Populate face area fractions for each direction.
| void amrex::EB2::Level::fillAreaFrac | ( | Array< MultiFab *, 3 > const & | areafrac, |
| const Geometry & | geom | ||
| ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| void amrex::EB2::Level::fillAreaFracFC | ( | Array< MultiCutFab *, 3 > const & | areafrac, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
| void amrex::EB2::Level::fillAreaFracFC | ( | Array< MultiFab *, 3 > const & | areafrac, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
Fill face-centered area fractions for face_dir.
| void amrex::EB2::Level::fillBndryArea | ( | MultiCutFab & | bndryarea, |
| const Geometry & | geom | ||
| ) | const |
Populate boundary-face areas into bndryarea.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| void amrex::EB2::Level::fillBndryAreaFC | ( | MultiCutFab & | bndryarea, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
| void amrex::EB2::Level::fillBndryAreaFC | ( | MultiFab & | bndryarea, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
Fill face-centered boundary areas for face_dir.
| void amrex::EB2::Level::fillBndryCent | ( | MultiCutFab & | bndrycent, |
| const Geometry & | geom | ||
| ) | const |
Populate boundary centroids into bndrycent.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| void amrex::EB2::Level::fillBndryCentFC | ( | MultiCutFab & | bndrycent, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
| void amrex::EB2::Level::fillBndryCentFC | ( | MultiFab & | bndrycent, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
Fill face-centered boundary centroids for face_dir.
| void amrex::EB2::Level::fillBndryNorm | ( | MultiCutFab & | bndrynorm, |
| const Geometry & | geom | ||
| ) | const |
Populate boundary normals into bndrynorm.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| void amrex::EB2::Level::fillBndryNormFC | ( | MultiCutFab & | bndrynorm, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
| void amrex::EB2::Level::fillBndryNormFC | ( | MultiFab & | bndrynorm, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
Fill face-centered boundary normals for face_dir.
| void amrex::EB2::Level::fillCentroid | ( | MultiCutFab & | centroid, |
| const Geometry & | geom | ||
| ) | const |
Populate cut-cell centroids into a MultiCutFab.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| void amrex::EB2::Level::fillCentroidFC | ( | MultiCutFab & | centroid, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
| void amrex::EB2::Level::fillCentroidFC | ( | MultiFab & | centroid, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
Fill face-centered centroids for face_dir.
Populate the cut-cell mask into cutcellmask.
| void amrex::EB2::Level::fillEBCellFlag | ( | FabArray< EBCellFlagFab > & | cellflag, |
| const Geometry & | geom | ||
| ) | const |
Fill cellflag with EBCellFlag data using geometry geom.
| cellflag | Destination flag array. |
| geom | Geometry describing the sampling box. |
| void amrex::EB2::Level::fillEBCellFlagFC | ( | FabArray< EBCellFlagFab > & | cellflag, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
Fill face-centered EBCellFlags for face_dir.
| void amrex::EB2::Level::fillEdgeCent | ( | Array< MultiCutFab *, 3 > const & | edgecent, |
| const Geometry & | geom | ||
| ) | const |
Populate edge centroids for each direction.
| void amrex::EB2::Level::fillEdgeCent | ( | Array< MultiFab *, 3 > const & | edgecent, |
| const Geometry & | geom | ||
| ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| void amrex::EB2::Level::fillEdgeCentFC | ( | Array< MultiCutFab *, 3 > const & | edgecent, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
| void amrex::EB2::Level::fillEdgeCentFC | ( | Array< MultiFab *, 3 > const & | edgecent, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
Fill face-centered edge centroids for face_dir.
| void amrex::EB2::Level::fillFaceCent | ( | Array< MultiCutFab *, 3 > const & | facecent, |
| const Geometry & | geom | ||
| ) | const |
Populate face centroids for each direction.
| void amrex::EB2::Level::fillFaceCent | ( | Array< MultiFab *, 3 > const & | facecent, |
| const Geometry & | geom | ||
| ) | const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| void amrex::EB2::Level::fillFaceCentFC | ( | Array< MultiCutFab *, 3 > const & | facecent, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
| void amrex::EB2::Level::fillFaceCentFC | ( | Array< MultiFab *, 3 > const & | facecent, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
Fill face-centered face centroids for face_dir.
Write the implicit function values into levelset.
Populate volume fractions into vfrac using geom.
| void amrex::EB2::Level::fillVolFracFC | ( | MultiFab & | vfrac, |
| int | face_dir, | ||
| const Geometry & | geom | ||
| ) | const |
Fill face-centered volume fractions for face_dir.
|
inlinenoexcept |
|
inlinenoexcept |
Get reference to face-centered data for face_dir (0=x, 1=y, 2=z).
|
inlinenoexcept |
|
inlinenoexcept |
Check if face-centered data is available for face_dir (0=x, 1=y, 2=z).
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
| void amrex::EB2::Level::prepareForCoarsening | ( | const Level & | rhs, |
| int | max_grid_size, | ||
| IntVect const & | ngrow | ||
| ) |
Prepare for coarsening by copying from rhs, respecting max grid size and grow vector.
Shift this level by ncells cells along direction direction (for periodic tiling).
| void amrex::EB2::Level::write_to_chkpt_file | ( | const std::string & | fname, |
| bool | extend_domain_face, | ||
| int | max_grid_size | ||
| ) | const |
Write this level’s EB data to a checkpoint file fname.
| fname | Target checkpoint file name. |
| extend_domain_face | Whether domain faces were extended. |
| max_grid_size | Grid blocking factor used during build. |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Face-centered data storage: [0]=x-face, [1]=y-face, [2]=z-face.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |