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

EB2 level that samples geometry from STL files. More...

#include <AMReX_EB2_Level_STL.H>

Inheritance diagram for amrex::EB2::STLLevel:
amrex::EB2::GShopLevel< STLtools > amrex::EB2::Level

Public Member Functions

 STLLevel (IndexSpace const *is, STLtools const &stl_tools, const Geometry &geom, int max_grid_size, int ngrow, bool extend_domain_face, int num_crse_opt, bool support_mvmc)
 Construct a level from the triangulation stored in stl_tools.
 
 STLLevel (IndexSpace const *is, int ilev, int max_grid_size, int ngrow, const Geometry &geom, STLLevel &fineLevel)
 Coarsen from an existing fine-level STL description.
 
- Public Member Functions inherited from amrex::EB2::GShopLevel< STLtools >
 GShopLevel (IndexSpace const *is, STLtools 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.
 
 GShopLevel (IndexSpace const *is, int ilev, int max_grid_size, int ngrow, const Geometry &geom, GShopLevel< STLtools > &fineLevel)
 Construct a coarse level by coarsening fineLevel.
 
 GShopLevel (IndexSpace const *is, const Geometry &geom)
 Construct an empty level (usually regular) bound to geom.
 
void define_fine (STLtools 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).
 
- 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 BoxArrayboxArray () const noexcept
 
const DistributionMappingDistributionMap () 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 GeometryGeom () 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).
 
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.
 

Additional Inherited Members

- Static Public Member Functions inherited from amrex::EB2::GShopLevel< STLtools >
static GShopLevel< STLtoolsmakeAllRegular (IndexSpace const *is, const Geometry &geom)
 Build a regular (no EB) level.
 
- 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< EBCellFlagFabm_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
 

Detailed Description

EB2 level that samples geometry from STL files.

Constructor & Destructor Documentation

◆ STLLevel() [1/2]

amrex::EB2::STLLevel::STLLevel ( IndexSpace const *  is,
STLtools const &  stl_tools,
const Geometry geom,
int  max_grid_size,
int  ngrow,
bool  extend_domain_face,
int  num_crse_opt,
bool  support_mvmc 
)

Construct a level from the triangulation stored in stl_tools.

◆ STLLevel() [2/2]

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

Coarsen from an existing fine-level STL description.


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