diff --git a/AMDiS/src/SolutionDataStorage.h b/AMDiS/src/SolutionDataStorage.h index 8d64cc98c4b5a2e7718b888985fad8ebda269d51..15319ac1a13c54f635284ea8d809cc43d3a808fb 100644 --- a/AMDiS/src/SolutionDataStorage.h +++ b/AMDiS/src/SolutionDataStorage.h @@ -88,6 +88,22 @@ namespace AMDiS { feSpaces.empty(); } + int addMemoryUsage(FiniteElemSpace* feSpace) { + memoryUsage += feSpace->getMesh()->calcMemoryUsage(); + } + + int addMemoryUsage(std::vector<FiniteElemSpace*> feSpaces) { + // Is used to determine equal meshes for different components. + std::vector<Mesh*> meshes; + + for (int i = 0; i < static_cast<int>(feSpaces.size()); i++) { + if (find(meshes.begin(), meshes.end(), feSpaces[i]->getMesh()) != meshes.end()) { + memoryUsage += feSpaces[i]->getMesh()->calcMemoryUsage(); + meshes.push_back(feSpaces[i]->getMesh()); + } + } + } + /** \brief * Deletes all pointers and empties all internal vectors. */ diff --git a/AMDiS/src/SolutionDataStorage.hh b/AMDiS/src/SolutionDataStorage.hh index a725e2bfab416d87b013b2426cd6d2c8e10e63ca..62e810f1481433b37f4682dd24c08b662a70e9a7 100644 --- a/AMDiS/src/SolutionDataStorage.hh +++ b/AMDiS/src/SolutionDataStorage.hh @@ -36,8 +36,7 @@ namespace AMDiS { fixedFESpace = true; feSpaces.push_back(feSpace); - std::cout << "MESH = " << static_cast<double>(feSpace[0]->getMesh()->calcMemoryUsage()) / (1024.0 * 1024.0) << std::endl; - WAIT_REALLY; + addMemoryUsage(feSpace); } template<typename T>