Liebe Gitlab-Nutzer, lieber Gitlab-Nutzer, es ist nun möglich sich mittels des ZIH-Logins/LDAP an unserem Dienst anzumelden. Ein Anmelden über dieses erzeugt ein neues Konto. Das alte Konto ist ü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. Logging in via this will create a new account. The old account can be accessed via the "Standard" tab. The administrators

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.