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

EB level specialized for reading checkpoint EB data. More...

#include <AMReX_EB2_Level_chkpt_file.H>

Inheritance diagram for amrex::EB2::ChkptFileLevel:
amrex::EB2::GShopLevel< ChkptFile > amrex::EB2::Level

Public Member Functions

 ChkptFileLevel (IndexSpace const *is, ChkptFile const &chkpt_file, const Geometry &geom, int max_grid_size, int ngrow, bool extend_domain_face)
 Construct a level from the provided checkpoint file data.
 ChkptFileLevel (IndexSpace const *is, int ilev, int max_grid_size, int ngrow, const Geometry &geom, ChkptFileLevel &fineLevel)
 Coarsening constructor used to build levels below an already loaded one.
void define_fine_chkpt_file (ChkptFile const &chkpt_file, Geometry const &geom, int max_grid_size, int ngrow, bool extend_domain_face)
 Fill fine-level checkpoint buffers for CUDA execution.
void finalize_cell_flags ()
 Finalize EBCellFlag connectivity adjustments after loading from disk.
Public Member Functions inherited from amrex::EB2::GShopLevel< ChkptFile >
 GShopLevel (IndexSpace const *is, ChkptFile const &gshop, const Geometry &geom, int max_grid_size, int ngrow, bool extend_domain_face, int num_crse_opt)
 Build a level directly from a GeometryShop object.
void define_fine (ChkptFile const &gshop, const Geometry &geom, int max_grid_size, int ngrow, bool extend_domain_face, int num_crse_opt)
 Define data for the finest level using the supplied GeometryShop.
void define_fine_mvmc (GS const &gshop, const Geometry &geom, int max_grid_size, int ngrow, bool extend_domain_face, int num_crse_opt)
 Define a fine level for multi-valued multi-cut STL geometries (3-D only).
void buildFCData (ChkptFile const &gshop, int face_dir, int max_grid_size)
 Build face-centered EB data for face_dir. Builds refined CC transiently.
Public Member Functions inherited from amrex::EB2::Level
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 &centroid, const Geometry &geom) const
 Populate cut-cell centroids into a MultiCutFab.
void fillCentroid (MultiFab &centroid, 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 &centroid, int face_dir, const Geometry &geom) const
 Fill face-centered centroids for face_dir.
void fillCentroidFC (MultiCutFab &centroid, 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 buildCellFlagFC (int face_dir)
 Build the face-centered EBCellFlag connectivity for face_dir from its area fractions.
void buildCutCellMask (Level const &fine_level)
 Build the cut-cell mask by coarsening from fine_level.

Additional Inherited Members

Static Public Member Functions inherited from amrex::EB2::GShopLevel< ChkptFile >
static GShopLevel< ChkptFile > makeAllRegular (IndexSpace const *is, const Geometry &geom)
 Build a regular (no EB) level.
Static Public Member Functions inherited from amrex::EB2::Level
static IntVect fcEdgeType (int idim, int face_dir) noexcept
 Index type of the face-centered edge centroids for edge direction idim.
Protected Attributes inherited from amrex::EB2::Level
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.

Detailed Description

EB level specialized for reading checkpoint EB data.

Constructor & Destructor Documentation

◆ ChkptFileLevel() [1/2]

amrex::EB2::ChkptFileLevel::ChkptFileLevel ( IndexSpace const * is,
ChkptFile const & chkpt_file,
const Geometry & geom,
int max_grid_size,
int ngrow,
bool extend_domain_face )

Construct a level from the provided checkpoint file data.

◆ ChkptFileLevel() [2/2]

amrex::EB2::ChkptFileLevel::ChkptFileLevel ( IndexSpace const * is,
int ilev,
int max_grid_size,
int ngrow,
const Geometry & geom,
ChkptFileLevel & fineLevel )

Coarsening constructor used to build levels below an already loaded one.

Member Function Documentation

◆ define_fine_chkpt_file()

void amrex::EB2::ChkptFileLevel::define_fine_chkpt_file ( ChkptFile const & chkpt_file,
Geometry const & geom,
int max_grid_size,
int ngrow,
bool extend_domain_face )

Fill fine-level checkpoint buffers for CUDA execution.

◆ finalize_cell_flags()

void amrex::EB2::ChkptFileLevel::finalize_cell_flags ( )

Finalize EBCellFlag connectivity adjustments after loading from disk.


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