Commit 729ab8dc authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

Fixed problem with getRecoveryGradient.

parent 7ab4ab7b
...@@ -18,8 +18,8 @@ namespace AMDiS { ...@@ -18,8 +18,8 @@ namespace AMDiS {
DOFAdmin::DOFAdmin(Mesh* m) DOFAdmin::DOFAdmin(Mesh* m)
: mesh(m), : mesh(m),
nrDOF(mesh->getDim(), NO_INIT), nDof(mesh->getDim(), NO_INIT),
nr0DOF(mesh->getDim(), NO_INIT) nPreDof(mesh->getDim(), NO_INIT)
{ {
init(); init();
} }
...@@ -28,8 +28,8 @@ namespace AMDiS { ...@@ -28,8 +28,8 @@ namespace AMDiS {
DOFAdmin::DOFAdmin(Mesh* m, std::string aName) DOFAdmin::DOFAdmin(Mesh* m, std::string aName)
: name(aName), : name(aName),
mesh(m), mesh(m),
nrDOF(mesh->getDim(), NO_INIT), nDof(mesh->getDim(), NO_INIT),
nr0DOF(mesh->getDim(), NO_INIT) nPreDof(mesh->getDim(), NO_INIT)
{ {
init(); init();
} }
...@@ -62,8 +62,8 @@ namespace AMDiS { ...@@ -62,8 +62,8 @@ namespace AMDiS {
holeCount = src.holeCount; holeCount = src.holeCount;
sizeUsed = src.sizeUsed; sizeUsed = src.sizeUsed;
for (int i = 0; i <= mesh->getDim(); i++) { for (int i = 0; i <= mesh->getDim(); i++) {
nrDOF[i] = src.nrDOF[i]; nDof[i] = src.nDof[i];
nr0DOF[i] = src.nr0DOF[i]; nPreDof[i] = src.nPreDof[i];
} }
dofIndexedList = src.dofIndexedList; dofIndexedList = src.dofIndexedList;
dofContainerList = src.dofContainerList; dofContainerList = src.dofContainerList;
...@@ -142,10 +142,10 @@ namespace AMDiS { ...@@ -142,10 +142,10 @@ namespace AMDiS {
firstHole = i; firstHole = i;
} else { // if there is no hole } else { // if there is no hole
// enlarge dof-list // enlarge dof-list
enlargeDOFLists(); enlargeDofLists();
TEST_EXIT_DBG(firstHole < static_cast<int>(dofFree.size())) TEST_EXIT_DBG(firstHole < static_cast<int>(dofFree.size()))
("no free entry after enlargeDOFLists\n"); ("no free entry after enlargeDofLists\n");
TEST_EXIT_DBG(dofFree[firstHole])("no free bit at firstHole\n"); TEST_EXIT_DBG(dofFree[firstHole])("no free bit at firstHole\n");
dofFree[firstHole] = false; dofFree[firstHole] = false;
dof = firstHole; dof = firstHole;
...@@ -161,9 +161,9 @@ namespace AMDiS { ...@@ -161,9 +161,9 @@ namespace AMDiS {
} }
void DOFAdmin::enlargeDOFLists(int minsize) void DOFAdmin::enlargeDofLists(int minsize)
{ {
FUNCNAME("DOFAdmin::enlargeDOFLists()"); FUNCNAME("DOFAdmin::enlargeDofLists()");
int old = size; int old = size;
if (minsize > 0) if (minsize > 0)
...@@ -316,23 +316,23 @@ namespace AMDiS { ...@@ -316,23 +316,23 @@ namespace AMDiS {
} }
void DOFAdmin::setNumberOfDOFs(int i, int v) void DOFAdmin::setNumberOfDofs(int i, int v)
{ {
FUNCNAME("DOFAdmin::setNumberOfDOFs()"); FUNCNAME("DOFAdmin::setNumberOfDOFs()");
TEST_EXIT_DBG(0 <= i && 4 > i)("Should not happen!\n"); TEST_EXIT_DBG(0 <= i && 4 > i)("Should not happen!\n");
nrDOF[i] = v; nDof[i] = v;
} }
void DOFAdmin::setNumberOfPreDOFs(int i, int v) void DOFAdmin::setNumberOfPreDofs(int i, int v)
{ {
FUNCNAME("DOFAdmin::setNumberOfPreDOFs()"); FUNCNAME("DOFAdmin::setNumberOfPreDOFs()");
TEST_EXIT_DBG(0 <= i && 4 > i)("Should not happen!\n"); TEST_EXIT_DBG(0 <= i && 4 > i)("Should not happen!\n");
nr0DOF[i] = v; nPreDof[i] = v;
} }
...@@ -361,8 +361,8 @@ namespace AMDiS { ...@@ -361,8 +361,8 @@ namespace AMDiS {
SerUtil::serialize(out, holeCount); SerUtil::serialize(out, holeCount);
SerUtil::serialize(out, sizeUsed); SerUtil::serialize(out, sizeUsed);
nrDOF.serialize(out); nDof.serialize(out);
nr0DOF.serialize(out); nPreDof.serialize(out);
} }
...@@ -388,8 +388,8 @@ namespace AMDiS { ...@@ -388,8 +388,8 @@ namespace AMDiS {
SerUtil::deserialize(in, holeCount); SerUtil::deserialize(in, holeCount);
SerUtil::deserialize(in, sizeUsed); SerUtil::deserialize(in, sizeUsed);
nrDOF.deserialize(in); nDof.deserialize(in);
nr0DOF.deserialize(in); nPreDof.deserialize(in);
std::list<DOFIndexedBase*>::iterator di; std::list<DOFIndexedBase*>::iterator di;
std::list<DOFIndexedBase*>::iterator end = dofIndexedList.end(); std::list<DOFIndexedBase*>::iterator end = dofIndexedList.end();
......
...@@ -66,7 +66,7 @@ namespace AMDiS { ...@@ -66,7 +66,7 @@ namespace AMDiS {
* Enlarges the number of DOFs that can be managed at least to minsize by * Enlarges the number of DOFs that can be managed at least to minsize by
* a step size of \ref sizeIncrement. * a step size of \ref sizeIncrement.
*/ */
void enlargeDOFLists(int minsize = 0); void enlargeDofLists(int minsize = 0);
/// assignment operator /// assignment operator
DOFAdmin& operator=(const DOFAdmin&); DOFAdmin& operator=(const DOFAdmin&);
...@@ -77,7 +77,7 @@ namespace AMDiS { ...@@ -77,7 +77,7 @@ namespace AMDiS {
/// Compares two DOFAdmins by their names. /// Compares two DOFAdmins by their names.
inline bool operator!=(const DOFAdmin& ad) const inline bool operator!=(const DOFAdmin& ad) const
{ {
return !(ad==*this); return !(ad == *this);
} }
/** \brief /** \brief
...@@ -150,28 +150,28 @@ namespace AMDiS { ...@@ -150,28 +150,28 @@ namespace AMDiS {
return name; return name;
} }
/// Returns \ref nrDOF[i], i.e., the number of dofs for the position i. /// Returns \ref nDof[i], i.e., the number of dofs for the position i.
inline const int getNumberOfDofs(int i) const inline const int getNumberOfDofs(int i) const
{ {
return nrDOF[i]; return nDof[i];
} }
/// Returns \ref nrDOF /// Returns \ref nDof
inline const DimVec<int>& getNumberOfDofs() const inline const DimVec<int>& getNumberOfDofs() const
{ {
return nrDOF; return nDof;
} }
/// Returns \ref nr0DOF[i] /// Returns \ref nPreDof[i]
inline const int getNumberOfPreDOFs(int i) const inline const int getNumberOfPreDofs(int i) const
{ {
return nr0DOF[i]; return nPreDof[i];
} }
/// Returns \ref nr0DOF /// Returns \ref nPreDof
inline const DimVec<int>& getNumberOfPreDOFs() const inline const DimVec<int>& getNumberOfPreDofs() const
{ {
return nr0DOF; return nPreDof;
} }
/// Returns \ref mesh /// Returns \ref mesh
...@@ -181,19 +181,19 @@ namespace AMDiS { ...@@ -181,19 +181,19 @@ namespace AMDiS {
} }
/// Returns \ref dofFree, the array denoting DOFs to be either free or used. /// Returns \ref dofFree, the array denoting DOFs to be either free or used.
inline const std::vector<bool>& getDOFFree() const inline const std::vector<bool>& getDofFree() const
{ {
return dofFree; return dofFree;
} }
/// Returns if the given DOF is free. /// Returns if the given DOF is free.
inline const bool isDOFFree(int i) const inline const bool isDofFree(int i) const
{ {
return dofFree[i]; return dofFree[i];
} }
/// Sets a DOF to be free or not. /// Sets a DOF to be free or not.
inline void setDOFFree(int i, bool b) inline void setDofFree(int i, bool b)
{ {
dofFree[i] = b; dofFree[i] = b;
} }
...@@ -224,17 +224,17 @@ namespace AMDiS { ...@@ -224,17 +224,17 @@ namespace AMDiS {
* \{ * \{
*/ */
/// Sets \ref nrDOF[i] = v /// Sets \ref nDof[i] = v
void setNumberOfDOFs(int i, int v); void setNumberOfDofs(int i, int v);
/// Sets all values of \ref nrDOF /// Sets all values of \ref nDof
void setNumberOfDOFs(DimVec<int> v) void setNumberOfDofs(DimVec<int> v)
{ {
nrDOF = v; nDof = v;
} }
/// Sets \ref nr0DOF[i] = v /// Sets \ref nPreDof[i] = v
void setNumberOfPreDOFs(int i, int v); void setNumberOfPreDofs(int i, int v);
/// Sets \ref name = n /// Sets \ref name = n
inline void setName(std::string n) inline void setName(std::string n)
...@@ -300,10 +300,10 @@ namespace AMDiS { ...@@ -300,10 +300,10 @@ namespace AMDiS {
* Number of dofs for each position, i.e., vertex, edge, ..., center, * Number of dofs for each position, i.e., vertex, edge, ..., center,
* for this DOFAdmin. * for this DOFAdmin.
*/ */
DimVec<int> nrDOF; DimVec<int> nDof;
/// Dofs from previous DOFAdmins /// Dofs from previous DOFAdmins
DimVec<int> nr0DOF; DimVec<int> nPreDof;
/// List of all managed DOFIndexed objects. /// List of all managed DOFIndexed objects.
std::list<DOFIndexedBase*> dofIndexedList; std::list<DOFIndexedBase*> dofIndexedList;
......
...@@ -45,7 +45,7 @@ namespace AMDiS { ...@@ -45,7 +45,7 @@ namespace AMDiS {
return; return;
Element *el = list.getElement(0); Element *el = list.getElement(0);
int n0 = feSpace->getAdmin()->getNumberOfPreDOFs(VERTEX); int n0 = feSpace->getAdmin()->getNumberOfPreDofs(VERTEX);
DegreeOfFreedom dof0 = el->getDof(0, n0); DegreeOfFreedom dof0 = el->getDof(0, n0);
DegreeOfFreedom dof1 = el->getDof(1, n0); DegreeOfFreedom dof1 = el->getDof(1, n0);
DegreeOfFreedom dof_new = el->getChild(0)->getDof(feSpace->getMesh()->getDim(), n0); DegreeOfFreedom dof_new = el->getChild(0)->getDof(feSpace->getMesh()->getDim(), n0);
...@@ -79,8 +79,8 @@ namespace AMDiS { ...@@ -79,8 +79,8 @@ namespace AMDiS {
DOFAdmin *admin = feSpace->getAdmin(); DOFAdmin *admin = feSpace->getAdmin();
// count number of nodes and dofs per node // count number of nodes and dofs per node
std::vector<int> numNodeDOFs; std::vector<int> nNodeDOFs;
std::vector<int> numNodePreDOFs; std::vector<int> nNodePreDofs;
std::vector<DimVec<double>*> bary; std::vector<DimVec<double>*> bary;
int nNodes = 0; int nNodes = 0;
...@@ -89,12 +89,12 @@ namespace AMDiS { ...@@ -89,12 +89,12 @@ namespace AMDiS {
for (int i = 0; i < dim + 1; i++) { for (int i = 0; i < dim + 1; i++) {
GeoIndex geoIndex = INDEX_OF_DIM(i, dim); GeoIndex geoIndex = INDEX_OF_DIM(i, dim);
int nPositions = mesh->getGeo(geoIndex); int nPositions = mesh->getGeo(geoIndex);
int numPreDOFs = admin->getNumberOfPreDOFs(i); int numPreDofs = admin->getNumberOfPreDofs(i);
for (int j = 0; j < nPositions; j++) { for (int j = 0; j < nPositions; j++) {
int dofs = basFcts->getNumberOfDofs(geoIndex); int dofs = basFcts->getNumberOfDofs(geoIndex);
numNodeDOFs.push_back(dofs); nNodeDOFs.push_back(dofs);
nDofs += dofs; nDofs += dofs;
numNodePreDOFs.push_back(numPreDOFs); nNodePreDofs.push_back(numPreDofs);
} }
nNodes += nPositions; nNodes += nPositions;
} }
...@@ -120,8 +120,8 @@ namespace AMDiS { ...@@ -120,8 +120,8 @@ namespace AMDiS {
int localDOFNr = 0; int localDOFNr = 0;
for (int i = 0; i < nNodes; i++) { // for all nodes for (int i = 0; i < nNodes; i++) { // for all nodes
for (int j = 0; j < numNodeDOFs[i]; j++) { // for all dofs at this node for (int j = 0; j < nNodeDOFs[i]; j++) { // for all dofs at this node
DegreeOfFreedom dofIndex = dof[i][numNodePreDOFs[i] + j]; DegreeOfFreedom dofIndex = dof[i][nNodePreDofs[i] + j];
if (!visited[dofIndex]) { if (!visited[dofIndex]) {
basFcts->evalGrdUh(*(bary[localDOFNr]), grdLambda, basFcts->evalGrdUh(*(bary[localDOFNr]), grdLambda,
localUh, &((*result)[dofIndex])); localUh, &((*result)[dofIndex]));
...@@ -171,7 +171,7 @@ namespace AMDiS { ...@@ -171,7 +171,7 @@ namespace AMDiS {
volume.set(0.0); volume.set(0.0);
const BasisFunction *basFcts = feSpace->getBasisFcts(); const BasisFunction *basFcts = feSpace->getBasisFcts();
int nPreDOFs = feSpace->getAdmin()->getNumberOfPreDOFs(0); int nPreDofs = feSpace->getAdmin()->getNumberOfPreDofs(VERTEX);
DimVec<double> bary(dim, DEFAULT_VALUE, (1.0 / (dim + 1.0))); DimVec<double> bary(dim, DEFAULT_VALUE, (1.0 / (dim + 1.0)));
WorldVector<double> grd; WorldVector<double> grd;
...@@ -193,7 +193,7 @@ namespace AMDiS { ...@@ -193,7 +193,7 @@ namespace AMDiS {
basFcts->evalGrdUh(bary, grdLambda, localUh, &grd); basFcts->evalGrdUh(bary, grdLambda, localUh, &grd);
for (int i = 0; i < dim + 1; i++) { for (int i = 0; i < dim + 1; i++) {
DegreeOfFreedom dofIndex = dof[i][nPreDOFs]; DegreeOfFreedom dofIndex = dof[i][nPreDofs];
(*result)[dofIndex] += grd * det; (*result)[dofIndex] += grd * det;
volume[dofIndex] += det; volume[dofIndex] += det;
} }
...@@ -640,8 +640,8 @@ namespace AMDiS { ...@@ -640,8 +640,8 @@ namespace AMDiS {
} }
// count number of nodes and dofs per node // count number of nodes and dofs per node
std::vector<int> numNodeDOFs; std::vector<int> nNodeDOFs;
std::vector<int> numNodePreDOFs; std::vector<int> nNodePreDofs;
std::vector<DimVec<double>*> bary; std::vector<DimVec<double>*> bary;
int nNodes = 0; int nNodes = 0;
...@@ -650,12 +650,12 @@ namespace AMDiS { ...@@ -650,12 +650,12 @@ namespace AMDiS {
for (int i = 0; i < dim + 1; i++) { for (int i = 0; i < dim + 1; i++) {
GeoIndex geoIndex = INDEX_OF_DIM(i, dim); GeoIndex geoIndex = INDEX_OF_DIM(i, dim);
int numPositionNodes = mesh->getGeo(geoIndex); int numPositionNodes = mesh->getGeo(geoIndex);
int numPreDOFs = admin->getNumberOfPreDOFs(i); int numPreDofs = admin->getNumberOfPreDofs(i);
for (int j = 0; j < numPositionNodes; j++) { for (int j = 0; j < numPositionNodes; j++) {
int dofs = basFcts->getNumberOfDofs(geoIndex); int dofs = basFcts->getNumberOfDofs(geoIndex);
numNodeDOFs.push_back(dofs); nNodeDOFs.push_back(dofs);
nDofs += dofs; nDofs += dofs;
numNodePreDOFs.push_back(numPreDOFs); nNodePreDofs.push_back(numPreDofs);
} }
nNodes += numPositionNodes; nNodes += numPositionNodes;
} }
...@@ -681,8 +681,8 @@ namespace AMDiS { ...@@ -681,8 +681,8 @@ namespace AMDiS {
int localDOFNr = 0; int localDOFNr = 0;
for (int i = 0; i < nNodes; i++) { // for all nodes for (int i = 0; i < nNodes; i++) { // for all nodes
for (int j = 0; j < numNodeDOFs[i]; j++) { // for all dofs at this node for (int j = 0; j < nNodeDOFs[i]; j++) { // for all dofs at this node
DegreeOfFreedom dofIndex = dof[i][numNodePreDOFs[i] + j]; DegreeOfFreedom dofIndex = dof[i][nNodePreDofs[i] + j];
if (!visited[dofIndex]) { if (!visited[dofIndex]) {
basFcts->evalGrdUh(*(bary[localDOFNr]), grdLambda, localUh, &grd); basFcts->evalGrdUh(*(bary[localDOFNr]), grdLambda, localUh, &grd);
......
...@@ -860,7 +860,7 @@ namespace AMDiS { ...@@ -860,7 +860,7 @@ namespace AMDiS {
#pragma omp parallel for schedule(dynamic, 25000) default(shared) private(i) #pragma omp parallel for schedule(dynamic, 25000) default(shared) private(i)
#endif #endif
for (i = 0; i < maxI; i++) for (i = 0; i < maxI; i++)
if (!admin->isDOFFree(i)) if (!admin->isDofFree(i))
y[i] += alpha * x[i]; y[i] += alpha * x[i];
} }
...@@ -926,7 +926,7 @@ namespace AMDiS { ...@@ -926,7 +926,7 @@ namespace AMDiS {
#pragma omp parallel for schedule(dynamic, 25000) default(shared) private(i) #pragma omp parallel for schedule(dynamic, 25000) default(shared) private(i)
#endif #endif
for (i = 0; i < maxI; i++) for (i = 0; i < maxI; i++)
if (!admin->isDOFFree(i)) if (!admin->isDofFree(i))
y[i] = alpha * y[i] + x[i]; y[i] = alpha * y[i] + x[i];
} }
......
...@@ -207,7 +207,7 @@ namespace AMDiS { ...@@ -207,7 +207,7 @@ namespace AMDiS {
if ((nd = admin->getNumberOfDofs(VERTEX))) { if ((nd = admin->getNumberOfDofs(VERTEX))) {
int vertices = mesh->getGeo(VERTEX); int vertices = mesh->getGeo(VERTEX);
nd0 = admin->getNumberOfPreDOFs(VERTEX); nd0 = admin->getNumberOfPreDofs(VERTEX);
n0 = admin->getMesh()->getNode(VERTEX); n0 = admin->getMesh()->getNode(VERTEX);
for (int i = 0; i < vertices; i++) for (int i = 0; i < vertices; i++)
changeDofs1(admin, newDofIndex, n0, nd0, nd, i); changeDofs1(admin, newDofIndex, n0, nd0, nd, i);
...@@ -216,7 +216,7 @@ namespace AMDiS { ...@@ -216,7 +216,7 @@ namespace AMDiS {
if (mesh->getDim() > 1) { if (mesh->getDim() > 1) {
if ((nd = admin->getNumberOfDofs(EDGE))) { if ((nd = admin->getNumberOfDofs(EDGE))) {
int edges = mesh->getGeo(EDGE); int edges = mesh->getGeo(EDGE);
nd0 = admin->getNumberOfPreDOFs(EDGE); nd0 = admin->getNumberOfPreDofs(EDGE);
n0 = admin->getMesh()->getNode(EDGE); n0 = admin->getMesh()->getNode(EDGE);
for (int i = 0; i < edges; i++) for (int i = 0; i < edges; i++)
changeDofs1(admin, newDofIndex, n0, nd0, nd, i); changeDofs1(admin, newDofIndex, n0, nd0, nd, i);
...@@ -226,7 +226,7 @@ namespace AMDiS { ...@@ -226,7 +226,7 @@ namespace AMDiS {
if (mesh->getDim() == 3) { if (mesh->getDim() == 3) {
if ((nd = admin->getNumberOfDofs(FACE))) { if ((nd = admin->getNumberOfDofs(FACE))) {
int faces = mesh->getGeo(FACE); int faces = mesh->getGeo(FACE);
nd0 = admin->getNumberOfPreDOFs(FACE); nd0 = admin->getNumberOfPreDofs(FACE);
n0 = admin->getMesh()->getNode(FACE); n0 = admin->getMesh()->getNode(FACE);
for (int i = 0; i < faces; i++) for (int i = 0; i < faces; i++)
changeDofs1(admin, newDofIndex, n0, nd0, nd, i); changeDofs1(admin, newDofIndex, n0, nd0, nd, i);
...@@ -234,7 +234,7 @@ namespace AMDiS { ...@@ -234,7 +234,7 @@ namespace AMDiS {
} }
if ((nd = admin->getNumberOfDofs(CENTER))) { if ((nd = admin->getNumberOfDofs(CENTER))) {
nd0 = admin->getNumberOfPreDOFs(CENTER); nd0 = admin->getNumberOfPreDofs(CENTER);
n0 = admin->getMesh()->getNode(CENTER); n0 = admin->getMesh()->getNode(CENTER);
changeDofs1(admin, newDofIndex, n0, nd0, nd, 0); changeDofs1(admin, newDofIndex, n0, nd0, nd, 0);
} }
...@@ -248,7 +248,7 @@ namespace AMDiS { ...@@ -248,7 +248,7 @@ namespace AMDiS {
int nd = admin->getNumberOfDofs(VERTEX); int nd = admin->getNumberOfDofs(VERTEX);
if (nd) { if (nd) {
int vertices = mesh->getGeo(VERTEX); int vertices = mesh->getGeo(VERTEX);
nd0 = admin->getNumberOfPreDOFs(VERTEX); nd0 = admin->getNumberOfPreDofs(VERTEX);
n0 = admin->getMesh()->getNode(VERTEX); n0 = admin->getMesh()->getNode(VERTEX);
for (int i = 0; i < vertices; i++) for (int i = 0; i < vertices; i++)
changeDofs2(n0, nd0, nd, i); changeDofs2(n0, nd0, nd, i);
...@@ -258,7 +258,7 @@ namespace AMDiS { ...@@ -258,7 +258,7 @@ namespace AMDiS {
nd = admin->getNumberOfDofs(EDGE); nd = admin->getNumberOfDofs(EDGE);
if (nd) { if (nd) {
int edges = mesh->getGeo(EDGE); int edges = mesh->getGeo(EDGE);
nd0 = admin->getNumberOfPreDOFs(EDGE); nd0 = admin->getNumberOfPreDofs(EDGE);
n0 = admin->getMesh()->getNode(EDGE); n0 = admin->getMesh()->getNode(EDGE);
for (int i = 0; i < edges; i++) for (int i = 0; i < edges; i++)
changeDofs2(n0, nd0, nd, i); changeDofs2(n0, nd0, nd, i);
...@@ -269,7 +269,7 @@ namespace AMDiS { ...@@ -269,7 +269,7 @@ namespace AMDiS {
nd = admin->getNumberOfDofs(FACE); nd = admin->getNumberOfDofs(FACE);
if (nd) { if (nd) {
int faces = mesh->getGeo(FACE); int faces = mesh->getGeo(FACE);
nd0 = admin->getNumberOfPreDOFs(FACE); nd0 = admin->getNumberOfPreDofs(FACE);
n0 = admin->getMesh()->getNode(FACE); n0 = admin->getMesh()->getNode(FACE);
for (int i = 0; i < faces; i++) for (int i = 0; i < faces; i++)
changeDofs2(n0, nd0, nd, i); changeDofs2(n0, nd0, nd, i);
...@@ -278,7 +278,7 @@ namespace AMDiS { ...@@ -278,7 +278,7 @@ namespace AMDiS {
nd = admin->getNumberOfDofs(CENTER); nd = admin->getNumberOfDofs(CENTER);
if (nd) { if (nd) {
nd0 = admin->getNumberOfPreDOFs(CENTER); nd0 = admin->getNumberOfPreDofs(CENTER);
n0 = admin->getMesh()->getNode(CENTER); n0 = admin->getMesh()->getNode(CENTER);
// only one center // only one center
changeDofs2(n0, nd0, nd, 0); changeDofs2(n0, nd0, nd, 0);
......
...@@ -30,7 +30,7 @@ namespace AMDiS { ...@@ -30,7 +30,7 @@ namespace AMDiS {
TEST_EXIT_DBG(nDofs != 0)("Mh, I've to think about this situation!\n"); TEST_EXIT_DBG(nDofs != 0)("Mh, I've to think about this situation!\n");
// Calculate displacement. Is used if there is more than one dof admin on the mesh. // Calculate displacement. Is used if there is more than one dof admin on the mesh.
n0 = admin->getNumberOfPreDOFs(posIndex); n0 = admin->getNumberOfPreDofs(posIndex);
// Get first dof index position for vertices. // Get first dof index position for vertices.
node0 =