![]() |
Block-Structured AMR Software Framework
|
#include <AMReX_EBFabFactory.H>
Public Member Functions | |
| EBFArrayBoxFactory (const EB2::Level &a_level, const Geometry &a_geom, const BoxArray &a_ba, const DistributionMapping &a_dm, const Vector< int > &a_ngrow, EBSupport a_support) | |
| Build an EB-aware factory backed by EB2 level data. | |
| EBFArrayBoxFactory (const EB2::Level &a_level, const Geometry &a_geom, const BoxArray &a_ba, const DistributionMapping &a_dm, const Vector< int > &a_ngrow, EBSupport a_support, int face_dir) | |
| Build an EB factory for face-centered grids. | |
| ~EBFArrayBoxFactory () override=default | |
| EBFArrayBoxFactory (const EBFArrayBoxFactory &)=default | |
| EBFArrayBoxFactory (EBFArrayBoxFactory &&) noexcept=default | |
| EBFArrayBoxFactory ()=delete | |
| EBFArrayBoxFactory & | operator= (const EBFArrayBoxFactory &)=delete |
| EBFArrayBoxFactory & | operator= (EBFArrayBoxFactory &&)=delete |
| FArrayBox * | create (const Box &box, int ncomps, const FabInfo &info, int box_index) const final |
| Allocate an EB-aware FAB for box with ncomps components. | |
| FArrayBox * | create_alias (FArrayBox const &rhs, int scomp, int ncomp) const final |
| Create an alias view into an existing EB-aware FAB. | |
| void | destroy (FArrayBox *fab) const final |
| Destroy a FAB produced by this factory. | |
| EBFArrayBoxFactory * | clone () const final |
| Produce a deep copy of this factory (excluding EB level ownership). | |
| const FabArray< EBCellFlagFab > & | getMultiEBCellFlagFab () const noexcept |
| EB cell flags for all boxes. | |
| const MultiFab & | getLevelSet () const |
| Level set field. Not available for a face-centered factory. | |
| const MultiFab & | getVolFrac () const noexcept |
| Volume fraction. | |
| const MultiCutFab & | getCentroid () const noexcept |
| Cell centroid. | |
| const MultiCutFab & | getBndryCent () const noexcept |
| Boundary centroid. | |
| const MultiCutFab & | getBndryNormal () const noexcept |
| Boundary normal: unit vector in physical space pointing toward the covered part. | |
| const MultiCutFab & | getBndryArea () const noexcept |
| Boundary area. | |
| Array< const MultiCutFab *, 3 > | getAreaFrac () const noexcept |
| Area fractions along each axis. | |
| Array< const MultiCutFab *, 3 > | getFaceCent () const noexcept |
| Array< const MultiCutFab *, 3 > | getEdgeCent () const noexcept |
| Edge centroids, normalized by the edge length. | |
| bool | isAllRegular () const noexcept |
| EB2::Level const * | getEBLevel () const noexcept |
| EB2::IndexSpace const * | getEBIndexSpace () const noexcept |
| int | maxCoarseningLevel () const noexcept |
| Maximum coarse level supported by the EB hierarchy. | |
| const DistributionMapping & | DistributionMap () const noexcept |
| Distribution mapping describing the FABs this factory allocates. | |
| const BoxArray & | boxArray () const noexcept |
| BoxArray describing the FAB layout. | |
| const Geometry & | Geom () const noexcept |
| Geometry inherited from the EB level. | |
| int | faceDir () const noexcept |
| Face direction if this is an FC factory (-1 for CC mode). | |
| bool | hasEBInfo () const noexcept |
| True if EB geometric data beyond flags is available. | |
| iMultiFab const * | getCutCellMask () const noexcept |
| EBData | getEBData (MFIter const &mfi) const noexcept |
Convenience wrapper returning EBData views for the FAB referenced by mfi. | |
| EBDataArrays | getEBDataArrays () const noexcept |
| Return GPU-accessible array views for all FABs owned by this factory. | |
| Public Member Functions inherited from amrex::FabFactory< FArrayBox > | |
| FabFactory () noexcept=default | |
| FabFactory & | operator= (FabFactory const &) noexcept=default |
| virtual | ~FabFactory () noexcept=default |
| virtual Long | nBytes (const Box &box, int ncomps, int) const |
Return the storage size for ncomps components in box, or -1 if unavailable. | |
FabFactory specialization that exposes EB geometry alongside state FABs.
| amrex::EBFArrayBoxFactory::EBFArrayBoxFactory | ( | const EB2::Level & | a_level, |
| const Geometry & | a_geom, | ||
| const BoxArray & | a_ba, | ||
| const DistributionMapping & | a_dm, | ||
| const Vector< int > & | a_ngrow, | ||
| EBSupport | a_support ) |
| amrex::EBFArrayBoxFactory::EBFArrayBoxFactory | ( | const EB2::Level & | a_level, |
| const Geometry & | a_geom, | ||
| const BoxArray & | a_ba, | ||
| const DistributionMapping & | a_dm, | ||
| const Vector< int > & | a_ngrow, | ||
| EBSupport | a_support, | ||
| int | face_dir ) |
Build an EB factory for face-centered grids.
| a_level | EB level to sample. |
| a_geom | Geometry describing the level. |
| a_ba | Grid layout. |
| a_dm | Distribution mapping for FAB ownership. |
| a_ngrow | Grow-cell requirements (basic/volume/full). |
| a_support | Requested EB support level. |
| face_dir | Face direction (0=x, 1=y, 2=z). |
|
overridedefault |
|
default |
|
defaultnoexcept |
|
delete |
|
nodiscardnoexcept |
BoxArray describing the FAB layout.
|
nodiscardfinalvirtual |
Produce a deep copy of this factory (excluding EB level ownership).
Implements amrex::FabFactory< FArrayBox >.
|
nodiscardfinalvirtual |
Allocate an EB-aware FAB for box with ncomps components.
Implements amrex::FabFactory< FArrayBox >.
|
nodiscardfinalvirtual |
Create an alias view into an existing EB-aware FAB.
Reimplemented from amrex::FabFactory< FArrayBox >.
|
finalvirtual |
Destroy a FAB produced by this factory.
Implements amrex::FabFactory< FArrayBox >.
|
nodiscardnoexcept |
Distribution mapping describing the FABs this factory allocates.
|
inlinenodiscardnoexcept |
Face direction if this is an FC factory (-1 for CC mode).
|
inlinenodiscardnoexcept |
Geometry inherited from the EB level.
|
inlinenodiscardnoexcept |
Area fractions along each axis.
|
inlinenodiscardnoexcept |
Boundary area.
|
inlinenodiscardnoexcept |
Boundary centroid.
|
inlinenodiscardnoexcept |
Boundary normal: unit vector in physical space pointing toward the covered part.
|
inlinenodiscardnoexcept |
Cell centroid.
|
inlinenodiscardnoexcept |
Returns nullptr unless this level is built by EB2::addRegularCoarseLevels. One should use getMultiEBCellFlagFab for normal levels.
Convenience wrapper returning EBData views for the FAB referenced by mfi.
|
nodiscardnoexcept |
Return GPU-accessible array views for all FABs owned by this factory.
|
nodiscardnoexcept |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
Edge centroids, normalized by the edge length.
A cut edge stores the centroid of its fluid part, in [-0.5,0.5]; its fluid length fraction is 1-2|c|. An uncut edge stores 1 if it is fluid and -1 if it is covered. Check for these values before using the centroid.
|
inlinenodiscardnoexcept |
Face centroids along each axis. For y-face-centroid, the two components are for x and then z-directions, respectively.
|
inlinenodiscard |
Level set field. Not available for a face-centered factory.
|
inlinenodiscardnoexcept |
EB cell flags for all boxes.
|
inlinenodiscardnoexcept |
Volume fraction.
|
nodiscardnoexcept |
True if EB geometric data beyond flags is available.
|
nodiscardnoexcept |
|
nodiscardnoexcept |
Maximum coarse level supported by the EB hierarchy.
|
delete |
|
delete |