Finite Volume Solver
prototype
A framework to build finite volume solvers for the AG Klein at the Freie Universität Berlin.
|
The PatchHierarchy holds simulation data on multiple refinement levels. More...
#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... | |
const DataDescription & | GetDataDescription () const noexcept |
const PatchHierarchyOptions & | GetOptions () const noexcept |
Return some additional patch hierarchy options. More... | |
const CartesianGridGeometry & | GetGridGeometry () const noexcept |
Returns the Grid Geometry which was used to create the hierarchy with. More... | |
std::ptrdiff_t | GetCycles (int level=0) const |
Duration | GetTimePoint (int level=0) const |
int | GetNumberOfLevels () const noexcept |
int | GetMaxNumberOfLevels () const noexcept |
int | GetRatioToCoarserLevel (int level, Direction dir) const noexcept |
::amrex::IntVect | GetRatioToCoarserLevel (int level) const noexcept |
PatchLevel & | GetPatchLevel (int level) |
const PatchLevel & | GetPatchLevel (int level) const |
const ::amrex::Geometry & | GetGeometry (int level) const |
Returns a Geometry object for a specified level. More... | |
const ::amrex::Vector<::amrex::Geometry > | GetGeometries () const |
Returns the hierarchy of Geometry objects. More... | |
const ::amrex::Vector<::amrex::BoxArray > | GetBoxArrays () const |
Returns the hierarchy of BoxArray objects. More... | |
const ::amrex::Vector<::amrex::DistributionMapping > | GetDistributionMappings () const |
Returns the hierarchy of DistributionMapping objects. More... | |
const ::amrex::Vector< const ::amrex::MultiFab * > | GetData () const |
Returns the hierarchy of MultiFabs representing the data. More... | |
void | PushBack (const PatchLevel &level) |
void | PushBack (PatchLevel &&level) |
void | PopBack () |
span< const ::amrex::EB2::IndexSpace * > | GetIndexSpaces () noexcept |
const std::shared_ptr< CounterRegistry > & | GetCounterRegistry () const noexcept |
Returns a shared pointer to the counter registry. More... | |
const std::shared_ptr< DebugStorage > & | GetDebugStorage () const noexcept |
Returns a shared pointer to the debug storage. More... | |
void | SetCounterRegistry (std::shared_ptr< CounterRegistry > registry) |
Private Attributes | |
DataDescription | description_ |
CartesianGridGeometry | grid_geometry_ |
PatchHierarchyOptions | options_ |
std::vector< PatchLevel > | patch_level_ |
std::vector<::amrex::Geometry > | patch_level_geometry_ |
std::vector< const ::amrex::EB2::IndexSpace * > | index_spaces_ |
std::shared_ptr< CounterRegistry > | registry_ |
std::shared_ptr< DebugStorage > | debug_storage_ |
The PatchHierarchy holds simulation data on multiple refinement levels.
It also holds a time stamp for each level.
fub::amrex::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.
fub::amrex::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.
const ::amrex::Vector<::amrex::BoxArray> fub::amrex::PatchHierarchy::GetBoxArrays | ( | ) | const |
Returns the hierarchy of BoxArray objects.
|
noexcept |
Returns a shared pointer to the counter registry.
std::ptrdiff_t fub::amrex::PatchHierarchy::GetCycles | ( | int | level = 0 | ) | const |
const ::amrex::Vector<const ::amrex::MultiFab*> fub::amrex::PatchHierarchy::GetData | ( | ) | const |
Returns the hierarchy of MultiFabs representing the data.
|
noexcept |
|
noexcept |
Returns a shared pointer to the debug storage.
const ::amrex::Vector<::amrex::DistributionMapping> fub::amrex::PatchHierarchy::GetDistributionMappings | ( | ) | const |
Returns the hierarchy of DistributionMapping objects.
const ::amrex::Vector<::amrex::Geometry> fub::amrex::PatchHierarchy::GetGeometries | ( | ) | const |
Returns the hierarchy of Geometry objects.
const ::amrex::Geometry& fub::amrex::PatchHierarchy::GetGeometry | ( | int | level | ) | const |
Returns a Geometry object for a specified level.
[in] | The | refinement level number for this geometry obejct. |
|
noexcept |
Returns the Grid Geometry which was used to create the hierarchy with.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Return some additional patch hierarchy options.
PatchLevel& fub::amrex::PatchHierarchy::GetPatchLevel | ( | int | level | ) |
const PatchLevel& fub::amrex::PatchHierarchy::GetPatchLevel | ( | int | level | ) | const |
|
noexcept |
|
noexcept |
Duration fub::amrex::PatchHierarchy::GetTimePoint | ( | int | level = 0 | ) | const |
void fub::amrex::PatchHierarchy::PopBack | ( | ) |
void fub::amrex::PatchHierarchy::PushBack | ( | const PatchLevel & | level | ) |
void fub::amrex::PatchHierarchy::PushBack | ( | PatchLevel && | level | ) |
void fub::amrex::PatchHierarchy::SetCounterRegistry | ( | std::shared_ptr< CounterRegistry > | registry | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |