Finite Volume Solver  prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
Public Member Functions | Private Attributes | List of all members
fub::amrex::cutcell::PatchHierarchy Class Reference

#include <PatchHierarchy.hpp>

Public Member Functions

template<typename Equation >
 PatchHierarchy (const Equation &equation, const CartesianGridGeometry &geometry, const PatchHierarchyOptions &options)
 Constructs a PatchHierarchy object which is capable of holding data described by the secified data description on given geometry extents. More...
 
 PatchHierarchy (DataDescription description, const CartesianGridGeometry &geometry, const PatchHierarchyOptions &options)
 Constructs a PatchHierarchy object which is capable of holding data described by the secified data description on given geometry extents. More...
 
Member Acccess
const DataDescriptionGetDataDescription () const noexcept
 Return some additional patch hierarchy options. More...
 
const PatchHierarchyOptionsGetOptions () const noexcept
 Return some additional patch hierarchy options. More...
 
const CartesianGridGeometryGetGridGeometry () const noexcept
 Returns the Grid Geometry which was used to create the hierarchy with. More...
 
const std::shared_ptr< CounterRegistry > & GetCounterRegistry () const noexcept
 Return some additional patch hierarchy options. More...
 
void SetCounterRegistry (std::shared_ptr< CounterRegistry > registry)
 Return some additional patch hierarchy options. More...
 
Observers
int GetNumberOfLevels () const noexcept
 
int GetMaxNumberOfLevels () const noexcept
 
Level specific Access
std::ptrdiff_t GetCycles (int level=0) const
 Returns the number of cycles done for a specific level. More...
 
Duration GetTimePoint (int level=0) const
 Returns the time point of a specified level number. More...
 
int GetRatioToCoarserLevel (int level, Direction dir) const
 Returns the ratio from fine to coarse for specified fine level number and direction. More...
 
::amrex::IntVect GetRatioToCoarserLevel (int level) const
 Returns the number of cycles done for a specific level. More...
 
const ::amrex::GeometryGetGeometry (int level) const
 Returns the number of cycles done for a specific level. More...
 
PatchLevelGetPatchLevel (int level)
 Returns the number of cycles done for a specific level. More...
 
const PatchLevelGetPatchLevel (int level) const
 Returns the number of cycles done for a specific level. More...
 
const std::shared_ptr<::amrex::EBFArrayBoxFactory > & GetEmbeddedBoundary (int level) const
 Returns the number of cycles done for a specific level. More...
 
CutCellData< AMREX_SPACEDIM > GetCutCellData (int level, const ::amrex::MFIter &mfi) const
 Returns the number of cycles done for a specific level. More...
 
const std::shared_ptr< DebugStorage > & GetDebugStorage () const noexcept
 Returns a shared pointer to the debug storage. More...
 

Private Attributes

DataDescription description_
 
CartesianGridGeometry grid_geometry_
 
PatchHierarchyOptions options_
 
std::vector< PatchLevelpatch_level_
 
std::vector<::amrex::Geometrypatch_level_geometry_
 
std::shared_ptr< CounterRegistry > registry_
 
std::shared_ptr< DebugStoragedebug_storage_
 

Constructor & Destructor Documentation

◆ PatchHierarchy() [1/2]

template<typename Equation >
fub::amrex::cutcell::PatchHierarchy::PatchHierarchy ( const Equation &  equation,
const CartesianGridGeometry geometry,
const PatchHierarchyOptions options 
)

Constructs a PatchHierarchy object which is capable of holding data described by the secified data description on given geometry extents.

◆ PatchHierarchy() [2/2]

fub::amrex::cutcell::PatchHierarchy::PatchHierarchy ( DataDescription  description,
const CartesianGridGeometry geometry,
const PatchHierarchyOptions options 
)

Constructs a PatchHierarchy object which is capable of holding data described by the secified data description on given geometry extents.

Member Function Documentation

◆ GetCounterRegistry()

const std::shared_ptr<CounterRegistry>& fub::amrex::cutcell::PatchHierarchy::GetCounterRegistry ( ) const
noexcept

Return some additional patch hierarchy options.

◆ GetCutCellData()

CutCellData<AMREX_SPACEDIM> fub::amrex::cutcell::PatchHierarchy::GetCutCellData ( int  level,
const ::amrex::MFIter &  mfi 
) const

Returns the number of cycles done for a specific level.

Parameters
[in]levelthe refinement level number

◆ GetCycles()

std::ptrdiff_t fub::amrex::cutcell::PatchHierarchy::GetCycles ( int  level = 0) const

Returns the number of cycles done for a specific level.

Parameters
[in]levelthe refinement level number

◆ GetDataDescription()

const DataDescription& fub::amrex::cutcell::PatchHierarchy::GetDataDescription ( ) const
noexcept

Return some additional patch hierarchy options.

◆ GetDebugStorage()

const std::shared_ptr<DebugStorage>& fub::amrex::cutcell::PatchHierarchy::GetDebugStorage ( ) const
noexcept

Returns a shared pointer to the debug storage.

◆ GetEmbeddedBoundary()

const std::shared_ptr<::amrex::EBFArrayBoxFactory>& fub::amrex::cutcell::PatchHierarchy::GetEmbeddedBoundary ( int  level) const

Returns the number of cycles done for a specific level.

Parameters
[in]levelthe refinement level number

◆ GetGeometry()

const ::amrex::Geometry& fub::amrex::cutcell::PatchHierarchy::GetGeometry ( int  level) const

Returns the number of cycles done for a specific level.

Parameters
[in]levelthe refinement level number

◆ GetGridGeometry()

const CartesianGridGeometry& fub::amrex::cutcell::PatchHierarchy::GetGridGeometry ( ) const
noexcept

Returns the Grid Geometry which was used to create the hierarchy with.

◆ GetMaxNumberOfLevels()

int fub::amrex::cutcell::PatchHierarchy::GetMaxNumberOfLevels ( ) const
noexcept

◆ GetNumberOfLevels()

int fub::amrex::cutcell::PatchHierarchy::GetNumberOfLevels ( ) const
noexcept

◆ GetOptions()

const PatchHierarchyOptions& fub::amrex::cutcell::PatchHierarchy::GetOptions ( ) const
noexcept

Return some additional patch hierarchy options.

◆ GetPatchLevel() [1/2]

PatchLevel& fub::amrex::cutcell::PatchHierarchy::GetPatchLevel ( int  level)

Returns the number of cycles done for a specific level.

Parameters
[in]levelthe refinement level number

◆ GetPatchLevel() [2/2]

const PatchLevel& fub::amrex::cutcell::PatchHierarchy::GetPatchLevel ( int  level) const

Returns the number of cycles done for a specific level.

Parameters
[in]levelthe refinement level number

◆ GetRatioToCoarserLevel() [1/2]

::amrex::IntVect fub::amrex::cutcell::PatchHierarchy::GetRatioToCoarserLevel ( int  level) const

Returns the number of cycles done for a specific level.

Parameters
[in]levelthe refinement level number

◆ GetRatioToCoarserLevel() [2/2]

int fub::amrex::cutcell::PatchHierarchy::GetRatioToCoarserLevel ( int  level,
Direction  dir 
) const

Returns the ratio from fine to coarse for specified fine level number and direction.

Parameters
[in]levelthe fine refinement level number
[in]dirthe direction

◆ GetTimePoint()

Duration fub::amrex::cutcell::PatchHierarchy::GetTimePoint ( int  level = 0) const

Returns the time point of a specified level number.

Parameters
[in]levelthe refinement level number

◆ SetCounterRegistry()

void fub::amrex::cutcell::PatchHierarchy::SetCounterRegistry ( std::shared_ptr< CounterRegistry >  registry)

Return some additional patch hierarchy options.

Member Data Documentation

◆ debug_storage_

std::shared_ptr<DebugStorage> fub::amrex::cutcell::PatchHierarchy::debug_storage_
private

◆ description_

DataDescription fub::amrex::cutcell::PatchHierarchy::description_
private

◆ grid_geometry_

CartesianGridGeometry fub::amrex::cutcell::PatchHierarchy::grid_geometry_
private

◆ options_

PatchHierarchyOptions fub::amrex::cutcell::PatchHierarchy::options_
private

◆ patch_level_

std::vector<PatchLevel> fub::amrex::cutcell::PatchHierarchy::patch_level_
private

◆ patch_level_geometry_

std::vector<::amrex::Geometry> fub::amrex::cutcell::PatchHierarchy::patch_level_geometry_
private

◆ registry_

std::shared_ptr<CounterRegistry> fub::amrex::cutcell::PatchHierarchy::registry_
private

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