|
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 () | |
| double * | getCellQ (int index) |
| double * | getCellQ (const tarch::la::Vector< DIMENSIONS, double > &cellCentre, const tarch::la::Vector< DIMENSIONS, double > &cellSize) |
| double * | getFaceQNew (int index, int axis) |
| double * | getFaceQNew (const tarch::la::Vector< DIMENSIONS, double > &cellCentre, const tarch::la::Vector< DIMENSIONS, double > &cellSize, int axis) |
| double * | getFaceQNewDevice (const tarch::la::Vector< DIMENSIONS, double > &cellCentre, const tarch::la::Vector< DIMENSIONS, double > &cellSize, int axis) |
| void | copyFacesToDevice () |
| void | copyFacesFromDevice () |
| int | getFaceCardinality () |
| int | getCellQReconstructedCardinality () |
| int | getCellQCardinality () |
Static Public Member Functions | |
| static DataRepository & | getInstance () |
Private Types | |
| using | CellQ = std::array<double, celldata::FVSolverQ::Cardinality> |
| using | FaceQNew = std::array<double, facedata::FVSolverQNew::Cardinality> |
Private Member Functions | |
| DataRepository () | |
Private Attributes | |
| DepthLevel | _depthLevel |
Friends | |
| struct | celldata::FVSolverQ |
| struct | celldata::FVSolverQReconstructed |
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 26 of file DataRepository.h.
|
private |
Definition at line 108 of file DataRepository.h.
|
private |
Definition at line 109 of file DataRepository.h.
|
delete |
References DataRepository().
Referenced by DataRepository(), DataRepository(), getInstance(), operator=(), and operator=().


|
delete |
| benchmarks::exahype2::kernelbenchmarks::DataRepository::~DataRepository | ( | ) |
Definition at line 85 of file DataRepository.cpp.
References _depthLevel.
|
private |
Definition at line 72 of file DataRepository.cpp.
References _depthLevel, and getFaceCardinality().

| void benchmarks::exahype2::kernelbenchmarks::DataRepository::copyFacesFromDevice | ( | ) |
Definition at line 157 of file DataRepository.cpp.
References _depthLevel, and getFaceCardinality().

| void benchmarks::exahype2::kernelbenchmarks::DataRepository::copyFacesToDevice | ( | ) |
Definition at line 145 of file DataRepository.cpp.
References _depthLevel, and getFaceCardinality().

| double * benchmarks::exahype2::kernelbenchmarks::DataRepository::getCellQ | ( | const tarch::la::Vector< DIMENSIONS, double > & | cellCentre, |
| const tarch::la::Vector< DIMENSIONS, double > & | cellSize ) |
Definition at line 104 of file DataRepository.cpp.
References cellSize, and getCellQ().

| double * benchmarks::exahype2::kernelbenchmarks::DataRepository::getCellQ | ( | int | index | ) |
Definition at line 102 of file DataRepository.cpp.
References _depthLevel.
Referenced by applyInitialConditions(), getCellQ(), plotGrid(), and projectPatchOntoFaces().

| int benchmarks::exahype2::kernelbenchmarks::DataRepository::getCellQCardinality | ( | ) |
Definition at line 98 of file DataRepository.cpp.
| int benchmarks::exahype2::kernelbenchmarks::DataRepository::getCellQReconstructedCardinality | ( | ) |
Definition at line 100 of file DataRepository.cpp.
| int benchmarks::exahype2::kernelbenchmarks::DataRepository::getFaceCardinality | ( | ) |
Definition at line 96 of file DataRepository.cpp.
Referenced by copyFacesFromDevice(), copyFacesToDevice(), DataRepository(), and getFaceQNewDevice().

| 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 127 of file DataRepository.cpp.
References _depthLevel, cellSize, and benchmarks::exahype2::kernelbenchmarks::DataRepository::Indexing::getFaceIndex().

| double * benchmarks::exahype2::kernelbenchmarks::DataRepository::getFaceQNew | ( | int | index, |
| int | axis ) |
Definition at line 116 of file DataRepository.cpp.
References _depthLevel.
Referenced by applyBoundaryConditionsToAxis(), and projectPatchOntoFaces().

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

|
static |
Definition at line 91 of file DataRepository.cpp.
References DataRepository().
Referenced by applyBoundaryConditionsToAxis(), applyInitialConditions(), main(), plotGrid(), and projectPatchOntoFaces().


|
delete |
|
delete |
|
friend |
Definition at line 105 of file DataRepository.h.
References celldata::FVSolverQ.
Referenced by celldata::FVSolverQ.
|
friend |
Definition at line 106 of file DataRepository.h.
References celldata::FVSolverQReconstructed.
Referenced by celldata::FVSolverQReconstructed.
|
private |
Definition at line 121 of file DataRepository.h.
Referenced by copyFacesFromDevice(), copyFacesToDevice(), DataRepository(), getCellQ(), getFaceQNew(), getFaceQNew(), getFaceQNewDevice(), and ~DataRepository().