diff --git a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp index 2440da272891552f57ecfe6804c6252ee423eb5f..f30ebe3836984330abe1a153cc160222d90a309a 100644 --- a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp +++ b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.cpp @@ -1,20 +1,18 @@ #include "NodeIndicesMultiGPU.h" -NodeIndicesMultiGPU::NodeIndicesMultiGPU(SPtr<MultipleGridBuilder> gridBuilder) +NodeIndicesMultiGPU::NodeIndicesMultiGPU(const std::vector<uint> *geoFluidSizes, + const std::vector<const std::vector<uint> *> *geoFluidNodesIndices) { - std::vector<std::shared_ptr<Grid>> grids = gridBuilder->getGrids(); - for (uint i = 0; i < grids.size(); i++) { - geoFluidSize.push_back(grids[i]->getGeoFluidSize()); - geoFluidNodeIndices.push_back(grids[i]->getGeoFluidNodes()); - } + this->geoFluidSizes = geoFluidSizes; + this->geoFluidNodeIndices = geoFluidNodesIndices; } uint NodeIndicesMultiGPU::getGeoFluidSize(uint gridNumber) { - return this->geoFluidSize[gridNumber]; + return (*this->geoFluidSizes)[gridNumber]; } const std::vector<uint>* NodeIndicesMultiGPU::getGeoFluidNodeIndices(uint gridNumber) { - return this->geoFluidNodeIndices[gridNumber]; + return (*this->geoFluidNodeIndices)[gridNumber]; } diff --git a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h index abe44273e13396e0d103fdf65d55b964f2f7eaea..4544864a3eb5d644d874e1c0f75afa6f557764c9 100644 --- a/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h +++ b/src/gpu/VirtualFluids_GPU/Parameter/NodeIndicesMultiGPU.h @@ -1,15 +1,14 @@ #include <vector> #include <memory> - -#include "GridGenerator/grid/GridBuilder/MultipleGridBuilder.h" +#include "basics/Core/DataTypes.h" class NodeIndicesMultiGPU { - std::vector<uint> geoFluidSize; - std::vector<const std::vector<uint>*> geoFluidNodeIndices; + const std::vector<uint> *geoFluidSizes; + const std::vector<const std::vector<uint>*> *geoFluidNodeIndices; public: - NodeIndicesMultiGPU(SPtr<MultipleGridBuilder> gridBuilder); + NodeIndicesMultiGPU(const std::vector<uint> *geoFluidSizes, const std::vector<const std::vector<uint> *> * geoFluidNodes); uint getGeoFluidSize(uint gridNumber); const std::vector<uint>* getGeoFluidNodeIndices(uint gridNumber);