|
Peano
|
A singleton repository to manage and provide access to grid cell and face data. More...
#include <DataRepository.h>

Data Structures | |
| struct | DepthLevel |
| struct | Indexing |
| Provides helper functions for calculating linearized array indices from geometric cell positions. More... | |
Public Member Functions | |
| DataRepository (const DataRepository &)=delete | |
| DataRepository & | operator= (const DataRepository &)=delete |
| DataRepository (DataRepository &&)=delete | |
| DataRepository & | operator= (DataRepository &&)=delete |
| ~DataRepository ()=default | |
| double * | getCellQ (const tarch::la::Vector< DIMENSIONS, double > &cellCentre, const tarch::la::Vector< DIMENSIONS, double > &cellSize) |
| double * | getCellQReconstructed (const tarch::la::Vector< DIMENSIONS, double > &cellCentre, const tarch::la::Vector< DIMENSIONS, double > &cellSize) |
| double * | getFaceQNew (int index, int depth, int axis) |
| double * | getFaceQNew (const tarch::la::Vector< DIMENSIONS, double > &cellCentre, const tarch::la::Vector< DIMENSIONS, double > &cellSize, int axis) |
| int | getFaceCardinality () const |
| int | getCellQCardinality () const |
| int | getCellQReconstructedCardinality () const |
| std::size_t | getMemoryUsageInBytes () const |
Static Public Member Functions | |
| static DataRepository & | getInstance () |
Private Types | |
| using | CellQ = std::array<double, celldata::FVSolverQ::Cardinality> |
| using | CellQReconstructed = std::array<double, celldata::FVSolverQReconstructed::Cardinality> |
| using | FaceQNew = std::array<double, facedata::FVSolverQNew::Cardinality> |
Private Member Functions | |
| DataRepository () | |
Private Attributes | |
| std::vector< DepthLevel > | _depthLevels |
A singleton repository to manage and provide access to grid cell and face data.
This class holds the memory for all cell-local and face-local data arrays (Q, QReconstructed, etc.) for the entire grid. It uses a keying system based on cell position and refinement depth to uniquely identify and retrieve data for any given cell.
Definition at line 27 of file DataRepository.h.
|
private |
Definition at line 104 of file DataRepository.h.
|
private |
Definition at line 105 of file DataRepository.h.
|
private |
Definition at line 106 of file DataRepository.h.
|
delete |
|
delete |
|
default |
|
private |
Definition at line 72 of file DataRepository.cpp.
References _depthLevels.
| double * benchmarks::exahype2::kernelbenchmarks::DataRepository::getCellQ | ( | const tarch::la::Vector< DIMENSIONS, double > & | cellCentre, |
| const tarch::la::Vector< DIMENSIONS, double > & | cellSize ) |
Definition at line 120 of file DataRepository.cpp.
References _depthLevels, and cellSize.
Referenced by applyInitialConditions(), benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::buildFromBookmarks(), plotGrid(), benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncCellsDeviceToHost(), and benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncCellsHostToDevice().

| int benchmarks::exahype2::kernelbenchmarks::DataRepository::getCellQCardinality | ( | ) | const |
Definition at line 101 of file DataRepository.cpp.
Referenced by benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::buildFromBookmarks(), benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncCellsDeviceToHost(), and benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncCellsHostToDevice().

| double * benchmarks::exahype2::kernelbenchmarks::DataRepository::getCellQReconstructed | ( | const tarch::la::Vector< DIMENSIONS, double > & | cellCentre, |
| const tarch::la::Vector< DIMENSIONS, double > & | cellSize ) |
Definition at line 134 of file DataRepository.cpp.
References _depthLevels, and cellSize.
Referenced by benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::buildFromBookmarks().

| int benchmarks::exahype2::kernelbenchmarks::DataRepository::getCellQReconstructedCardinality | ( | ) | const |
Definition at line 103 of file DataRepository.cpp.
Referenced by benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::buildFromBookmarks().

| int benchmarks::exahype2::kernelbenchmarks::DataRepository::getFaceCardinality | ( | ) | const |
Definition at line 99 of file DataRepository.cpp.
Referenced by benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::buildFromBookmarks(), benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncFacesDeviceToHost(), and benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncFacesHostToDevice().

| double * benchmarks::exahype2::kernelbenchmarks::DataRepository::getFaceQNew | ( | const tarch::la::Vector< DIMENSIONS, double > & | cellCentre, |
| const tarch::la::Vector< DIMENSIONS, double > & | cellSize, | ||
| int | axis ) |
Definition at line 159 of file DataRepository.cpp.
References _depthLevels, cellSize, and benchmarks::exahype2::kernelbenchmarks::DataRepository::Indexing::getFaceIndex().

| double * benchmarks::exahype2::kernelbenchmarks::DataRepository::getFaceQNew | ( | int | index, |
| int | depth, | ||
| int | axis ) |
Definition at line 148 of file DataRepository.cpp.
References _depthLevels.
Referenced by benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::buildFromBookmarks(), interpolateBetweenAMRBorder(), benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncFacesDeviceToHost(), and benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncFacesHostToDevice().

|
static |
Definition at line 94 of file DataRepository.cpp.
Referenced by applyInitialConditions(), benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::buildFromBookmarks(), interpolateBetweenAMRBorder(), main(), plotGrid(), benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncCellsDeviceToHost(), benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncCellsHostToDevice(), benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncFacesDeviceToHost(), and benchmarks::exahype2::kernelbenchmarks::EnclaveDataRepository::syncFacesHostToDevice().

| std::size_t benchmarks::exahype2::kernelbenchmarks::DataRepository::getMemoryUsageInBytes | ( | ) | const |
Definition at line 105 of file DataRepository.cpp.
Referenced by main().

|
delete |
|
delete |
|
private |
Definition at line 116 of file DataRepository.h.
Referenced by DataRepository(), getCellQ(), getCellQReconstructed(), getFaceQNew(), and getFaceQNew().