Liebe Gitlab-Nutzer, lieber Gitlab-Nutzer,
es ist nun möglich sich mittels des ZIH-Logins/LDAP an unserem Dienst anzumelden. Die Konten der externen Nutzer:innen sind über den Reiter "Standard" erreichbar.
Die Administratoren


Dear Gitlab user,
it is now possible to log in to our service using the ZIH login/LDAP. The accounts of external users can be accessed via the "Standard" tab.
The administrators

Commit 7bc84046 authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

Rename some object in parallel sources.

parent a1f6ce9c
......@@ -224,7 +224,7 @@ if(ENABLE_PARALLEL_DOMAIN)
SET(PARALLEL_DOMAIN_AMDIS_SRC
${SOURCE_DIR}/parallel/DofComm.cc
${SOURCE_DIR}/parallel/CheckerPartitioner.cc
${SOURCE_DIR}/parallel/ElementObjectData.cc
${SOURCE_DIR}/parallel/ElementObjectDatabase.cc
${SOURCE_DIR}/parallel/MeshDistributor.cc
${SOURCE_DIR}/parallel/MeshManipulation.cc
${SOURCE_DIR}/parallel/MeshPartitioner.cc
......
......@@ -10,14 +10,14 @@
// See also license.opensource.txt in the distribution.
#include "ElementObjectData.h"
#include "VertexVector.h"
#include "parallel/ElementObjectDatabase.h"
namespace AMDiS {
void ElementObjects::addElement(ElInfo *elInfo)
void ElementObjectDatabase::addElement(ElInfo *elInfo)
{
FUNCNAME("ElementObjects::addElement()");
FUNCNAME("ElementObjectDatabase::addElement()");
TEST_EXIT_DBG(mesh)("Mesh not set!\n");
......@@ -128,9 +128,9 @@ namespace AMDiS {
}
void ElementObjects::createPeriodicData(const FiniteElemSpace *feSpace)
void ElementObjectDatabase::createPeriodicData(const FiniteElemSpace *feSpace)
{
FUNCNAME("ElementObjects::createPeriodicData()");
FUNCNAME("ElementObjectDatabase::createPeriodicData()");
TEST_EXIT_DBG(mesh)("Mesh not set!\n");
......@@ -317,9 +317,9 @@ namespace AMDiS {
}
BoundaryType ElementObjects::getNewBoundaryType(DOFAdmin *admin)
BoundaryType ElementObjectDatabase::getNewBoundaryType(DOFAdmin *admin)
{
FUNCNAME("ElementObjects::getNewBoundaryType()");
FUNCNAME("ElementObjectDatabase::getNewBoundaryType()");
BoundaryType newPeriodicBoundaryType = 0;
for (map<BoundaryType, VertexVector*>::iterator it = mesh->getPeriodicAssociations().begin();
......@@ -336,11 +336,12 @@ namespace AMDiS {
}
BoundaryType ElementObjects::provideConnectedPeriodicBoundary(DOFAdmin *admin,
BoundaryType b0,
BoundaryType b1)
BoundaryType
ElementObjectDatabase::provideConnectedPeriodicBoundary(DOFAdmin *admin,
BoundaryType b0,
BoundaryType b1)
{
FUNCNAME("ElementObjects::provideConnectedPeriodicBoundary()");
FUNCNAME("ElementObjectDatabase::provideConnectedPeriodicBoundary()");
std::pair<BoundaryType, BoundaryType> bConn =
(b0 <= b1 ? make_pair(b0, b1) : make_pair(b1, b0));
......@@ -371,9 +372,9 @@ namespace AMDiS {
}
void ElementObjects::createRankData(map<int, int>& macroElementRankMap)
void ElementObjectDatabase::createRankData(map<int, int>& macroElementRankMap)
{
FUNCNAME("ElementObjects::createRankData()");
FUNCNAME("ElementObjectDatabase::createRankData()");
vertexOwner.clear();
vertexInRank.clear();
......@@ -424,11 +425,11 @@ namespace AMDiS {
}
void ElementObjects::createReverseModeData(const FiniteElemSpace* feSpace,
map<int, Element*> &elIndexMap,
map<int, int> &elIndexTypeMap)
void ElementObjectDatabase::createReverseModeData(const FiniteElemSpace* feSpace,
map<int, Element*> &elIndexMap,
map<int, int> &elIndexTypeMap)
{
FUNCNAME("ElementObjects::createReverseModeData()");
FUNCNAME("ElementObjectDatabase::createReverseModeData()");
// === In 2D, all reverse modes are always true! ===
......@@ -537,9 +538,9 @@ namespace AMDiS {
}
void ElementObjects::serialize(ostream &out)
void ElementObjectDatabase::serialize(ostream &out)
{
FUNCNAME("ElementObjects::serialize()");
FUNCNAME("ElementObjectDatabase::serialize()");
int nSize = vertexElements.size();
SerUtil::serialize(out, nSize);
......@@ -664,9 +665,9 @@ namespace AMDiS {
}
void ElementObjects::deserialize(istream &in)
void ElementObjectDatabase::deserialize(istream &in)
{
FUNCNAME("ElementObjects::deserialize()");
FUNCNAME("ElementObjectDatabase::deserialize()");
int nSize;
SerUtil::deserialize(in, nSize);
......@@ -821,7 +822,8 @@ namespace AMDiS {
}
void ElementObjects::serialize(ostream &out, vector<ElementObjectData>& elVec)
void ElementObjectDatabase::serialize(ostream &out,
vector<ElementObjectData>& elVec)
{
int nSize = elVec.size();
SerUtil::serialize(out, nSize);
......@@ -830,7 +832,8 @@ namespace AMDiS {
}
void ElementObjects::deserialize(istream &in, vector<ElementObjectData>& elVec)
void ElementObjectDatabase::deserialize(istream &in,
vector<ElementObjectData>& elVec)
{
int nSize;
SerUtil::deserialize(in, nSize);
......@@ -840,7 +843,8 @@ namespace AMDiS {
}
void ElementObjects::serialize(ostream &out, map<int, ElementObjectData>& data)
void ElementObjectDatabase::serialize(ostream &out,
map<int, ElementObjectData>& data)
{
int nSize = data.size();
SerUtil::serialize(out, nSize);
......@@ -852,7 +856,8 @@ namespace AMDiS {
}
void ElementObjects::deserialize(istream &in, map<int, ElementObjectData>& data)
void ElementObjectDatabase::deserialize(istream &in,
map<int, ElementObjectData>& data)
{
int nSize;
SerUtil::deserialize(in, nSize);
......
......@@ -18,10 +18,10 @@
/** \file ElementObjectData.h */
/** \file ElementObjectDatabase.h */
#ifndef AMDIS_ELEMENTOBJECTDATA_H
#define AMDIS_ELEMENTOBJECTDATA_H
#ifndef AMDIS_ELEMENT_OBJECT_DATABASE_H
#define AMDIS_ELEMENT_OBJECT_DATABASE_H
#include <map>
#include <vector>
......@@ -99,9 +99,9 @@ namespace AMDiS {
* boundaries on object level. This is required, because two elements may share
* a common vertex without beging neighbours in the definition of AMDiS.
*/
class ElementObjects {
class ElementObjectDatabase {
public:
ElementObjects()
ElementObjectDatabase()
: mesh(NULL),
iterGeoPos(CENTER)
{}
......
......@@ -156,7 +156,7 @@ namespace AMDiS {
}
} while (doNext);
elObjects.setMesh(feSpaces[0]->getMesh());
elObjDb.setMesh(feSpaces[0]->getMesh());
// If the problem has been already read from a file, we need only to set
// isRankDofs to all matrices and rhs vector and to remove periodic
......@@ -559,7 +559,7 @@ namespace AMDiS {
while (elInfo) {
for (int i = 0; i < 4; i++) {
ElementObjectData elData(elInfo->getElement()->getIndex(), i);
allEdges.insert(elObjects.getEdgeLocalMap(elData));
allEdges.insert(elObjDb.getEdgeLocalMap(elData));
}
rankMacroEls.insert(elInfo->getElement()->getIndex());
......@@ -572,7 +572,7 @@ namespace AMDiS {
bool valid3dMesh = true;
for (std::set<DofEdge>::iterator it = allEdges.begin(); it != allEdges.end(); ++it) {
vector<ElementObjectData>& edgeEls = elObjects.getElements(*it);
vector<ElementObjectData>& edgeEls = elObjDb.getElements(*it);
TEST_EXIT_DBG(edgeEls.size() > 0)
("No edge %d/%d in elObjDB!\n", it->first, it->second);
......@@ -1326,7 +1326,7 @@ namespace AMDiS {
// === Remove double DOFs. ===
MeshManipulation meshManipulation(mesh);
meshManipulation.deleteDoubleDofs(feSpaces, newMacroEl, elObjects);
meshManipulation.deleteDoubleDofs(feSpaces, newMacroEl, elObjDb);
mesh->dofCompress();
partitioner->createPartitionMap(partitionMap);
......@@ -1415,7 +1415,7 @@ namespace AMDiS {
{
FUNCNAME("MeshDistributor::updateInteriorBoundaryInfo()");
elObjects.createRankData(partitionMap);
elObjDb.createRankData(partitionMap);
createBoundaryData();
#if (DEBUG != 0)
......@@ -1443,22 +1443,22 @@ namespace AMDiS {
macroElIndexMap.insert(make_pair(el->getIndex(), el));
macroElIndexTypeMap.insert(make_pair(el->getIndex(), elInfo->getType()));
// Add all sub object of the element to the variable elObjects.
elObjects.addElement(elInfo);
// Add all sub object of the element to the variable elObjDb.
elObjDb.addElement(elInfo);
elInfo = stack.traverseNext(elInfo);
}
// Create periodic data, if there are periodic boundary conditions.
elObjects.createPeriodicData(feSpaces[0]);
elObjDb.createPeriodicData(feSpaces[0]);
// Create data about the reverse modes of neighbouring elements.
elObjects.createReverseModeData(feSpaces[0], macroElIndexMap,
macroElIndexTypeMap);
elObjDb.createReverseModeData(feSpaces[0], macroElIndexMap,
macroElIndexTypeMap);
// Create mesh element data for this rank.
elObjects.createRankData(partitionMap);
elObjDb.createRankData(partitionMap);
}
......@@ -1478,12 +1478,12 @@ namespace AMDiS {
for (int geoPos = 0; geoPos < mesh->getDim(); geoPos++) {
GeoIndex geoIndex = INDEX_OF_DIM(geoPos, mesh->getDim());
while (elObjects.iterate(geoIndex)) {
map<int, ElementObjectData>& objData = elObjects.getIterateData();
while (elObjDb.iterate(geoIndex)) {
map<int, ElementObjectData>& objData = elObjDb.getIterateData();
if (!(objData.count(mpiRank) && objData.size() > 1))
continue;
int owner = elObjects.getIterateOwner();
int owner = elObjDb.getIterateOwner();
ElementObjectData& rankBoundEl = objData[mpiRank];
AtomicBoundary bound;
......@@ -1521,10 +1521,10 @@ namespace AMDiS {
b = bound;
if (geoIndex == EDGE)
b.neighObj.reverseMode =
elObjects.getEdgeReverseMode(rankBoundEl, it2->second);
elObjDb.getEdgeReverseMode(rankBoundEl, it2->second);
if (geoIndex == FACE)
b.neighObj.reverseMode =
elObjects.getFaceReverseMode(rankBoundEl, it2->second);
elObjDb.getFaceReverseMode(rankBoundEl, it2->second);
}
} else {
......@@ -1545,10 +1545,10 @@ namespace AMDiS {
b = bound;
if (geoIndex == EDGE)
b.rankObj.reverseMode =
elObjects.getEdgeReverseMode(rankBoundEl, ownerBoundEl);
elObjDb.getEdgeReverseMode(rankBoundEl, ownerBoundEl);
if (geoIndex == FACE)
b.rankObj.reverseMode =
elObjects.getFaceReverseMode(rankBoundEl, ownerBoundEl);
elObjDb.getFaceReverseMode(rankBoundEl, ownerBoundEl);
}
}
}
......@@ -1556,16 +1556,16 @@ namespace AMDiS {
// === Create periodic boundary data structure. ===
for (PerBoundMap<DegreeOfFreedom>::iterator it = elObjects.getPeriodicVertices().begin();
it != elObjects.getPeriodicVertices().end(); ++it) {
if (elObjects.isInRank(it->first.first, mpiRank) == false)
for (PerBoundMap<DegreeOfFreedom>::iterator it = elObjDb.getPeriodicVertices().begin();
it != elObjDb.getPeriodicVertices().end(); ++it) {
if (elObjDb.isInRank(it->first.first, mpiRank) == false)
continue;
ElementObjectData& perDofEl0 =
elObjects.getElementsInRank(it->first.first)[mpiRank];
elObjDb.getElementsInRank(it->first.first)[mpiRank];
for (map<int, ElementObjectData>::iterator elIt = elObjects.getElementsInRank(it->first.second).begin();
elIt != elObjects.getElementsInRank(it->first.second).end(); ++elIt) {
for (map<int, ElementObjectData>::iterator elIt = elObjDb.getElementsInRank(it->first.second).begin();
elIt != elObjDb.getElementsInRank(it->first.second).end(); ++elIt) {
int otherElementRank = elIt->first;
ElementObjectData& perDofEl1 = elIt->second;
......@@ -1601,15 +1601,15 @@ namespace AMDiS {
}
for (PerBoundMap<DofEdge>::iterator it = elObjects.getPeriodicEdges().begin();
it != elObjects.getPeriodicEdges().end(); ++it) {
if (elObjects.isInRank(it->first.first, mpiRank) == false)
for (PerBoundMap<DofEdge>::iterator it = elObjDb.getPeriodicEdges().begin();
it != elObjDb.getPeriodicEdges().end(); ++it) {
if (elObjDb.isInRank(it->first.first, mpiRank) == false)
continue;
ElementObjectData& perEdgeEl0 = elObjects.getElementsInRank(it->first.first)[mpiRank];
ElementObjectData& perEdgeEl0 = elObjDb.getElementsInRank(it->first.first)[mpiRank];
for (map<int, ElementObjectData>::iterator elIt = elObjects.getElementsInRank(it->first.second).begin();
elIt != elObjects.getElementsInRank(it->first.second).end(); ++elIt) {
for (map<int, ElementObjectData>::iterator elIt = elObjDb.getElementsInRank(it->first.second).begin();
elIt != elObjDb.getElementsInRank(it->first.second).end(); ++elIt) {
int otherElementRank = elIt->first;
ElementObjectData& perEdgeEl1 = elIt->second;
......@@ -1633,27 +1633,29 @@ namespace AMDiS {
b = bound;
if (mpiRank > otherElementRank)
b.neighObj.reverseMode = elObjects.getEdgeReverseMode(perEdgeEl0, perEdgeEl1);
b.neighObj.reverseMode =
elObjDb.getEdgeReverseMode(perEdgeEl0, perEdgeEl1);
else
b.rankObj.reverseMode = elObjects.getEdgeReverseMode(perEdgeEl0, perEdgeEl1);
b.rankObj.reverseMode =
elObjDb.getEdgeReverseMode(perEdgeEl0, perEdgeEl1);
}
}
for (PerBoundMap<DofFace>::iterator it = elObjects.getPeriodicFaces().begin();
it != elObjects.getPeriodicFaces().end(); ++it) {
if (elObjects.isInRank(it->first.first, mpiRank) == false)
for (PerBoundMap<DofFace>::iterator it = elObjDb.getPeriodicFaces().begin();
it != elObjDb.getPeriodicFaces().end(); ++it) {
if (elObjDb.isInRank(it->first.first, mpiRank) == false)
continue;
TEST_EXIT_DBG(elObjects.getElements(it->first.first).size() == 1)
TEST_EXIT_DBG(elObjDb.getElements(it->first.first).size() == 1)
("Should not happen!\n");
TEST_EXIT_DBG(elObjects.getElements(it->first.second).size() == 1)
TEST_EXIT_DBG(elObjDb.getElements(it->first.second).size() == 1)
("Should not happen!\n");
ElementObjectData& perFaceEl0 = elObjects.getElementsInRank(it->first.first)[mpiRank];
ElementObjectData& perFaceEl0 = elObjDb.getElementsInRank(it->first.first)[mpiRank];
for (map<int, ElementObjectData>::iterator elIt = elObjects.getElementsInRank(it->first.second).begin();
elIt != elObjects.getElementsInRank(it->first.second).end(); ++elIt) {
for (map<int, ElementObjectData>::iterator elIt = elObjDb.getElementsInRank(it->first.second).begin();
elIt != elObjDb.getElementsInRank(it->first.second).end(); ++elIt) {
int otherElementRank = elIt->first;
ElementObjectData& perFaceEl1 = elIt->second;
......@@ -1678,10 +1680,10 @@ namespace AMDiS {
if (mpiRank > otherElementRank)
b.neighObj.reverseMode =
elObjects.getFaceReverseMode(perFaceEl0, perFaceEl1);
elObjDb.getFaceReverseMode(perFaceEl0, perFaceEl1);
else
b.rankObj.reverseMode =
elObjects.getFaceReverseMode(perFaceEl0, perFaceEl1);
elObjDb.getFaceReverseMode(perFaceEl0, perFaceEl1);
}
}
......@@ -2259,7 +2261,7 @@ namespace AMDiS {
SerUtil::serialize(out, elemWeights);
SerUtil::serialize(out, partitionMap);
elObjects.serialize(out);
elObjDb.serialize(out);
rankIntBoundary.serialize(out);
otherIntBoundary.serialize(out);
......@@ -2329,7 +2331,7 @@ namespace AMDiS {
}
}
elObjects.deserialize(in);
elObjDb.deserialize(in);
rankIntBoundary.deserialize(in, elIndexMap);
otherIntBoundary.deserialize(in, elIndexMap);
......
......@@ -26,7 +26,7 @@
#include <mpi.h>
#include "parallel/DofComm.h"
#include "parallel/ElementObjectData.h"
#include "parallel/ElementObjectDatabase.h"
#include "parallel/ParallelTypes.h"
#include "parallel/MeshPartitioner.h"
#include "parallel/InteriorBoundary.h"
......@@ -607,11 +607,9 @@ namespace AMDiS {
/// Mesh of the problem.
Mesh *mesh;
/** \brief
* A refinement manager that should be used on the mesh. It is used to
* refine elements at interior boundaries in order to fit together with
* elements on the other side of the interior boundary.
*/
/// A refinement manager that should be used on the mesh. It is used to
/// refine elements at interior boundaries in order to fit together with
/// elements on the other side of the interior boundary.
RefinementManager *refineManager;
/// Info level.
......@@ -625,17 +623,15 @@ namespace AMDiS {
/// this element.
map<int, double> elemWeights;
/** \brief
* Stores to every macro element index the number of the rank that owns this
* macro element.
*/
/// Stores to every macro element index the number of the rank that owns this
/// macro element.
map<int, int> partitionMap;
map<const FiniteElemSpace*, DofData> dofFeData;
/// Data structure to store all sub-objects of all elements of the
/// Database to store and query all sub-objects of all elements of the
/// macro mesh.
ElementObjects elObjects;
ElementObjectDatabase elObjDb;
/// Maps to each macro element index a pointer to the corresponding element.
map<int, Element*> macroElIndexMap;
......@@ -643,47 +639,35 @@ namespace AMDiS {
/// Maps to each macro element index the type of this element.
map<int, int> macroElIndexTypeMap;
/** \brief
* Defines the interior boundaries of the domain that result from
* partitioning the whole mesh. Contains only the boundaries, which are
* owned by the rank, i.e., the object gives for every neighbour rank i
* the boundaries this rank owns and shares with rank i.
*/
/// Defines the interior boundaries of the domain that result from
/// partitioning the whole mesh. Contains only the boundaries, which are
/// owned by the rank, i.e., the object gives for every neighbour rank i
/// the boundaries this rank owns and shares with rank i.
InteriorBoundary rankIntBoundary;
/** \brief
* Defines the interior boundaries of the domain that result from
* partitioning the whole mesh. Contains only the boundaries, which are
* not owned by the rank, i.e., the object gives for every neighbour rank
* i the boundaries that are owned by rank i and are shared with this rank.
*/
/// Defines the interior boundaries of the domain that result from
/// partitioning the whole mesh. Contains only the boundaries, which are
/// not owned by the rank, i.e., the object gives for every neighbour rank
/// i the boundaries that are owned by rank i and are shared with this rank.
InteriorBoundary otherIntBoundary;
/** \brief
* Defines the periodic boundaries with other ranks. Periodic boundaries
* have no owner, as it is the case of interior boundaries.
*/
/// Defines the periodic boundaries with other ranks. Periodic boundaries
/// have no owner, as it is the case of interior boundaries.
InteriorBoundary periodicBoundary;
/** \brief
* This map contains for each rank the list of DOFs the current rank must
* send to exchange solution DOFs at the interior boundaries.
*/
/// This map contains for each rank the list of DOFs the current rank must
/// end to exchange solution DOFs at the interior boundaries.
DofComm sendDofs;
/** \brief
* This map contains on each rank the list of DOFs from which the current
* rank will receive DOF values (i.e., this are all DOFs at an interior
* boundary). The DOF indices are given in rank's local numbering.
*/
/// This map contains on each rank the list of DOFs from which the current
/// rank will receive DOF values (i.e., this are all DOFs at an interior
/// boundary). The DOF indices are given in rank's local numbering.
DofComm recvDofs;
/** \brief
* This map contains on each rank a list of DOFs along the interior bound-
* aries to communicate with other ranks. The DOF indices are given in rank's
* local numbering. Periodic boundaries within one subdomain are not
* considered here.
*/
/// This map contains on each rank a list of DOFs along the interior bound-
/// aries to communicate with other ranks. The DOF indices are given in rank's
/// local numbering. Periodic boundaries within one subdomain are not
/// considered here.
DofComm periodicDofs;
PeriodicMap periodicMap;
......@@ -692,12 +676,10 @@ namespace AMDiS {
/// repartitioned.
vector<DOFVector<double>*> interchangeVectors;
/** \brief
* If the problem definition has been read from a serialization file, this
* variable is true, otherwise it is false. This variable is used to stop the
* initialization function, if the problem definition has already been read
* from a serialization file.
*/
/// If the problem definition has been read from a serialization file, this
/// variable is true, otherwise it is false. This variable is used to stop the
/// initialization function, if the problem definition has already been read
/// from a serialization file.
bool deserialized;
/// Denotes whether there exists a filewriter for this object.
......@@ -721,10 +703,8 @@ namespace AMDiS {
/// Directory name where all debug output files should be written to.
string debugOutputDir;
/** \brief
* Stores the mesh change index. This is used to recognize changes in the
* mesh structure (e.g. through refinement or coarsening managers).
*/
/// Stores the mesh change index. This is used to recognize changes in the
/// mesh structure (e.g. through refinement or coarsening managers).
long lastMeshChangeIndex;
/// Stores for all macro elements of the original macro mesh the
......
......@@ -43,7 +43,7 @@ namespace AMDiS {
void MeshManipulation::deleteDoubleDofs(vector<const FiniteElemSpace*>& feSpaces,
std::set<MacroElement*>& newMacroEl,
ElementObjects &objects)
ElementObjectDatabase &elObjDb)
{
FUNCNAME("MeshManipulation::deleteDoubleDofs()");
......@@ -92,7 +92,7 @@ namespace AMDiS {
for (int i = 0; i < mesh->getGeo(VERTEX); i++) {
vector<ElementObjectData> &vertexEl =
objects.getElementsVertex((*it)->getIndex(), i);
elObjDb.getElementsVertex((*it)->getIndex(), i);
for (vector<ElementObjectData>::iterator elIt = vertexEl.begin();
elIt != vertexEl.end(); ++elIt) {
......@@ -121,7 +121,7 @@ namespace AMDiS {
ElementObjectData elObj((*it)->getIndex(), i);
vector<ElementObjectData> &edgeEl =
objects.getElementsEdge((*it)->getIndex(), i);
elObjDb.getElementsEdge((*it)->getIndex(), i);
for (vector<ElementObjectData>::iterator elIt = edgeEl.begin();
elIt != edgeEl.end(); ++elIt) {
......@@ -135,7 +135,7 @@ namespace AMDiS {
Element *el0 = (*it)->getElement();
Element *el1 = macroIndexMap[elIt->elIndex]->getElement();
bool reverseMode = objects.getEdgeReverseMode(elObj, *elIt);
bool reverseMode = elObjDb.getEdgeReverseMode(elObj, *elIt);
BoundaryObject b0(el0, 0, EDGE, i, reverseMode);
BoundaryObject b1(el1, 0, EDGE, elIt->ithObject, false);
......@@ -171,7 +171,7 @@ namespace AMDiS {
ElementObjectData elObj((*it)->getIndex(), i);
vector<ElementObjectData> &faceEl =
objects.getElementsFace((*it)->getIndex(), i);
elObjDb.getElementsFace((*it)->getIndex(), i);
for (vector<ElementObjectData>::iterator elIt = faceEl.begin();
elIt != faceEl.end(); ++elIt) {
......@@ -179,12 +179,13 @@ namespace AMDiS {
continue;
if (macrosProcessed.count(elIt->elIndex) == 1) {
TEST_EXIT_DBG(macroIndexMap.count(elIt->elIndex))("Should not happen!\n");
TEST_EXIT_DBG(macroIndexMap.count(elIt->elIndex))
("Should not happen!\n");
Element *el0 = (*it)->getElement();
Element *el1 = macroIndexMap[elIt->elIndex]->getElement();
bool reverseMode = objects.getFaceReverseMode(elObj, *elIt);
bool reverseMode = elObjDb.getFaceReverseMode(elObj, *elIt);
BoundaryObject b0(el0, 0, FACE, i, reverseMode);
BoundaryObject b1(el1, 0, FACE, elIt->ithObject, false);
......