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::samrai::PatchHierarchy Class Reference

#include <PatchHierarchy.hpp>

Public Member Functions

template<typename Equation >
 PatchHierarchy (const Equation &eq, std::shared_ptr< SAMRAI::geom::CartesianGridGeometry > geom, PatchHierarchyOptions hier_opts)
 Constructs a PatchHierarchy object which is capable of holding data described by the secified data description on given geometry extents. More...
 
 PatchHierarchy (DataDescription dd, std::shared_ptr< SAMRAI::geom::CartesianGridGeometry > geom, PatchHierarchyOptions hier_opts)
 
 PatchHierarchy (PatchHierarchy &&ph)=default
 
PatchHierarchyoperator= (PatchHierarchy &&ph)=default
 
 PatchHierarchy (const PatchHierarchy &ph)
 
PatchHierarchyoperator= (const PatchHierarchy &ph)
 
const PatchHierarchyOptionsGetOptions () const noexcept
 Return some additional patch hierarchy options. More...
 
int GetMaxNumberOfLevels () const noexcept
 
int GetNumberOfLevels () const noexcept
 
const DataDescriptionGetDataDescription () const noexcept
 
const std::shared_ptr< SAMRAI::hier::PatchHierarchy > & GetNative () const noexcept
 
const SAMRAI::geom::CartesianGridGeometry & GetGeometry (int level) const noexcept
 
span< const int > GetDataIds () const noexcept
 
std::shared_ptr< SAMRAI::hier::PatchLevel > GetPatchLevel (int level) const
 
const std::shared_ptr< CounterRegistry > & GetCounterRegistry () const noexcept
 
std::ptrdiff_t GetCycles (int level=0) const
 
Duration GetTimePoint (int level=0) const
 
void SetCycles (std::ptrdiff_t cycles, int level)
 
void SetTimePoint (Duration time_point, int level)
 

Private Attributes

std::shared_ptr< SAMRAI::hier::PatchHierarchy > hierarchy_
 
DataDescription data_desc_
 
PatchHierarchyOptions options_
 
std::vector< std::ptrdiff_t > cycles_
 
std::vector< Durationtime_points_
 
std::shared_ptr< CounterRegistry > counter_registry_
 

Constructor & Destructor Documentation

◆ PatchHierarchy() [1/4]

template<typename Equation >
fub::samrai::PatchHierarchy::PatchHierarchy ( const Equation &  eq,
std::shared_ptr< SAMRAI::geom::CartesianGridGeometry >  geom,
PatchHierarchyOptions  hier_opts 
)

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

◆ PatchHierarchy() [2/4]

fub::samrai::PatchHierarchy::PatchHierarchy ( DataDescription  dd,
std::shared_ptr< SAMRAI::geom::CartesianGridGeometry >  geom,
PatchHierarchyOptions  hier_opts 
)

◆ PatchHierarchy() [3/4]

fub::samrai::PatchHierarchy::PatchHierarchy ( PatchHierarchy &&  ph)
default

◆ PatchHierarchy() [4/4]

fub::samrai::PatchHierarchy::PatchHierarchy ( const PatchHierarchy ph)

Member Function Documentation

◆ GetCounterRegistry()

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

◆ GetCycles()

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

◆ GetDataDescription()

const DataDescription& fub::samrai::PatchHierarchy::GetDataDescription ( ) const
noexcept

◆ GetDataIds()

span<const int> fub::samrai::PatchHierarchy::GetDataIds ( ) const
noexcept

◆ GetGeometry()

const SAMRAI::geom::CartesianGridGeometry& fub::samrai::PatchHierarchy::GetGeometry ( int  level) const
noexcept

◆ GetMaxNumberOfLevels()

int fub::samrai::PatchHierarchy::GetMaxNumberOfLevels ( ) const
noexcept

◆ GetNative()

const std::shared_ptr<SAMRAI::hier::PatchHierarchy>& fub::samrai::PatchHierarchy::GetNative ( ) const
noexcept

◆ GetNumberOfLevels()

int fub::samrai::PatchHierarchy::GetNumberOfLevels ( ) const
noexcept

◆ GetOptions()

const PatchHierarchyOptions& fub::samrai::PatchHierarchy::GetOptions ( ) const
noexcept

Return some additional patch hierarchy options.

◆ GetPatchLevel()

std::shared_ptr<SAMRAI::hier::PatchLevel> fub::samrai::PatchHierarchy::GetPatchLevel ( int  level) const

◆ GetTimePoint()

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

◆ operator=() [1/2]

PatchHierarchy& fub::samrai::PatchHierarchy::operator= ( const PatchHierarchy ph)
inline

◆ operator=() [2/2]

PatchHierarchy& fub::samrai::PatchHierarchy::operator= ( PatchHierarchy &&  ph)
default

◆ SetCycles()

void fub::samrai::PatchHierarchy::SetCycles ( std::ptrdiff_t  cycles,
int  level 
)

◆ SetTimePoint()

void fub::samrai::PatchHierarchy::SetTimePoint ( Duration  time_point,
int  level 
)

Member Data Documentation

◆ counter_registry_

std::shared_ptr<CounterRegistry> fub::samrai::PatchHierarchy::counter_registry_
private

◆ cycles_

std::vector<std::ptrdiff_t> fub::samrai::PatchHierarchy::cycles_
private

◆ data_desc_

DataDescription fub::samrai::PatchHierarchy::data_desc_
private

◆ hierarchy_

std::shared_ptr<SAMRAI::hier::PatchHierarchy> fub::samrai::PatchHierarchy::hierarchy_
private

◆ options_

PatchHierarchyOptions fub::samrai::PatchHierarchy::options_
private

◆ time_points_

std::vector<Duration> fub::samrai::PatchHierarchy::time_points_
private

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