// // Software License for AMDiS // // Copyright (c) 2010 Dresden University of Technology // All rights reserved. // Authors: Simon Vey, Thomas Witkowski et al. // // This file is part of AMDiS // // See also license.opensource.txt in the distribution. #include "parallel/MeshLevelData.h" #include "Global.h" namespace AMDiS { using namespace std; void MeshLevelData::init(std::set &neighbourRanks) { levelRanks.resize(1); levelRanks[0].insert(-1); nLevel = 1; levelNeighbour.resize(1); levelNeighbour[0] = neighbourRanks; } void MeshLevelData::addLevel(std::set &ranksInDomain) { FUNCNAME("MeshLevelData()::addLevel()"); TEST_EXIT(nLevel >= 1)("Mesh level structure is not initialized()"); TEST_EXIT(nLevel == 1)("Only 2 level are supported yet!\n"); levelRanks.insert(levelRanks.begin(), ranksInDomain); nLevel++; levelNeighbour.resize(2); levelNeighbour[1] = levelNeighbour[0]; levelNeighbour[0].clear(); for (std::set::iterator it = levelNeighbour[1].begin(); it != levelNeighbour[1].end(); ++it) if (levelRanks[0].count(*it) == 0) levelNeighbour[0].insert(*it); } void MeshLevelData::serialize(ostream &out) { } void MeshLevelData::deserialize(istream &in) { } }