100 inType* QIn_[2 * DIMENSIONS],
101 const tarch::la::Vector<DIMENSIONS, double>& cellCentre_,
102 const tarch::la::Vector<DIMENSIONS, double>& cellSize_,
105 outType* QOut_[2 * DIMENSIONS],
106 tarch::MemoryLocation memoryLocation_,
121 CellFaceData(
int numberOfCells_, tarch::MemoryLocation memoryLocation_,
int targetDevice_):
126 QIn =
reinterpret_cast<inType* (*)[2 * DIMENSIONS]
>(tarch::accelerator::MemoryManager::getInstance().allocate<inType*>(
127 2 * DIMENSIONS * numberOfCells_,
131 cellCentre = tarch::accelerator::MemoryManager::getInstance().allocate<tarch::la::Vector<DIMENSIONS, double>>(
136 cellSize = tarch::accelerator::MemoryManager::getInstance().allocate<tarch::la::Vector<DIMENSIONS, double>>(
141 t = tarch::accelerator::MemoryManager::getInstance().allocate<
double>(numberOfCells_, memoryLocation_, targetDevice_);
142 dt = tarch::accelerator::MemoryManager::getInstance().allocate<
double>(
147 id = tarch::accelerator::MemoryManager::getInstance().allocate<
int>(numberOfCells_, memoryLocation_, targetDevice_);
148 QOut =
reinterpret_cast<inType* (*)[2 * DIMENSIONS]
>(tarch::accelerator::MemoryManager::getInstance().allocate<outType*>(
149 2 * DIMENSIONS * numberOfCells_,
164 tarch::accelerator::MemoryManager::getInstance().free(
QIn,
targetDevice);
167 tarch::accelerator::MemoryManager::getInstance().free(
t,
targetDevice);
168 tarch::accelerator::MemoryManager::getInstance().free(
dt,
targetDevice);
170 tarch::accelerator::MemoryManager::getInstance().free(
id,
targetDevice);
CellFaceData(inType *QIn_[2 *DIMENSIONS], const tarch::la::Vector< DIMENSIONS, double > &cellCentre_, const tarch::la::Vector< DIMENSIONS, double > &cellSize_, double t_, double dt_, outType *QOut_[2 *DIMENSIONS], tarch::MemoryLocation memoryLocation_=tarch::MemoryLocation::Heap, int targetDevice_=tarch::accelerator::Device::DefaultDevice)
Construct patch data object for one single cell.