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 739be0ef authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

A lot of work on mesh repartitioning in parallel computations.

parent dd514ad5
...@@ -85,7 +85,7 @@ NM="/usr/bin/nm -B" ...@@ -85,7 +85,7 @@ NM="/usr/bin/nm -B"
LN_S="ln -s" LN_S="ln -s"
# What is the maximum length of a command? # What is the maximum length of a command?
max_cmd_len=98304 max_cmd_len=1572864
# Object file suffix (normally "o"). # Object file suffix (normally "o").
objext=o objext=o
...@@ -128,7 +128,7 @@ old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" ...@@ -128,7 +128,7 @@ old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
old_postuninstall_cmds="" old_postuninstall_cmds=""
# A C compiler. # A C compiler.
LTCC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc" LTCC="/usr/lib64/mpi/gcc/openmpi//bin/mpicc"
# LTCC compiler flags. # LTCC compiler flags.
LTCFLAGS="-g -O2" LTCFLAGS="-g -O2"
...@@ -233,10 +233,10 @@ finish_eval="" ...@@ -233,10 +233,10 @@ finish_eval=""
hardcode_into_libs=yes hardcode_into_libs=yes
# Compile-time system search path for libraries. # Compile-time system search path for libraries.
sys_lib_search_path_spec="/usr/lib64/gcc/x86_64-suse-linux/4.1.2 /usr/lib64 /lib64 /fastfs/wir/local/lib /usr/x86_64-suse-linux/lib" sys_lib_search_path_spec="/usr/lib64/gcc/x86_64-suse-linux/4.5 /usr/lib64 /lib64 /usr/x86_64-suse-linux/lib"
# Run-time system search path for libraries. # Run-time system search path for libraries.
sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso " sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/lib64/Xaw3d /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/lib/Xaw3d /usr/x86_64-suse-linux/lib /usr/local/lib /opt/kde3/lib /lib64 /lib /usr/lib64 /usr/lib /usr/local/lib64 /opt/kde3/lib64 /usr/lib64/graphviz /usr/lib64/graphviz/sharp /usr/lib64/graphviz/java /usr/lib64/graphviz/perl /usr/lib64/graphviz/php /usr/lib64/graphviz/ocaml /usr/lib64/graphviz/python /usr/lib64/graphviz/lua /usr/lib64/graphviz/tcl /usr/lib64/graphviz/guile /usr/lib64/graphviz/ruby /usr/lib64/octave-3.2.4 "
# Whether dlopen is supported. # Whether dlopen is supported.
dlopen_support=unknown dlopen_support=unknown
...@@ -259,7 +259,7 @@ LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64" ...@@ -259,7 +259,7 @@ LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64"
old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
# A language specific compiler. # A language specific compiler.
CC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc" CC="/usr/lib64/mpi/gcc/openmpi//bin/mpicc"
# Is the compiler the GNU compiler? # Is the compiler the GNU compiler?
with_gcc=yes with_gcc=yes
...@@ -8914,7 +8914,7 @@ LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64" ...@@ -8914,7 +8914,7 @@ LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64"
old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
# A language specific compiler. # A language specific compiler.
CC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicxx" CC="/usr/lib64/mpi/gcc/openmpi//bin/mpicxx"
# Is the compiler the GNU compiler? # Is the compiler the GNU compiler?
with_gcc=yes with_gcc=yes
...@@ -9039,17 +9039,17 @@ file_list_spec="" ...@@ -9039,17 +9039,17 @@ file_list_spec=""
hardcode_action=immediate hardcode_action=immediate
# The directories searched by this compiler when creating a shared library. # The directories searched by this compiler when creating a shared library.
compiler_lib_search_dirs="/usr/lib64 /licsoft/libraries/openmpi/1.2.6/64bit/lib /usr/lib64/gcc/x86_64-suse-linux/4.1.2 /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64 /lib/../lib64 /usr/lib/../lib64 /fastfs/wir/local/lib /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../.." compiler_lib_search_dirs="/usr/lib64/mpi/gcc/openmpi/lib64 /usr/lib64/gcc/x86_64-suse-linux/4.5 /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64 /lib/../lib64 /usr/lib/../lib64 /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/lib /usr/lib64/gcc/x86_64-suse-linux/4.5/../../.."
# Dependencies to place before and after the objects being linked to # Dependencies to place before and after the objects being linked to
# create a shared library. # create a shared library.
predep_objects="/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtbeginS.o" predep_objects="/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-suse-linux/4.5/crtbeginS.o"
postdep_objects="/usr/lib64/gcc/x86_64-suse-linux/4.1.2/crtendS.o /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64/crtn.o" postdep_objects="/usr/lib64/gcc/x86_64-suse-linux/4.5/crtendS.o /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64/crtn.o"
predeps="" predeps=""
postdeps="-lmpi_cxx -lmpi -lopen-rte -lopen-pal -libverbs -lrt -lnuma -ldl -lnsl -lutil -ldl -lstdc++ -lm -lgcc_s -lpthread -lc -lgcc_s" postdeps="-lmpi_cxx -lmpi -lopen-rte -lopen-pal -ldl -lnsl -lutil -ldl -lstdc++ -lm -lgcc_s -lpthread -lc -lgcc_s"
# The library search path used internally by the compiler when linking # The library search path used internally by the compiler when linking
# a shared library. # a shared library.
compiler_lib_search_path="-L/usr/lib64 -L/licsoft/libraries/openmpi/1.2.6/64bit/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2 -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/fastfs/wir/local/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../.." compiler_lib_search_path="-L/usr/lib64/mpi/gcc/openmpi/lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.5 -L/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.5/../../.."
# ### END LIBTOOL TAG CONFIG: CXX # ### END LIBTOOL TAG CONFIG: CXX
#ifndef AMDIS_H #ifndef AMDIS_H
#define AMDIS_H #define AMDIS_H
#include "stdint.h"
#include "AbstractFunction.h" #include "AbstractFunction.h"
#include "AdaptInfo.h" #include "AdaptInfo.h"
#include "AdaptInstationary.h" #include "AdaptInstationary.h"
......
#include <fstream> #include <fstream>
#include <stdint.h>
#include "ArhReader.h" #include "ArhReader.h"
#include "Mesh.h" #include "Mesh.h"
...@@ -107,13 +108,13 @@ namespace AMDiS { ...@@ -107,13 +108,13 @@ namespace AMDiS {
if (!macroElement) { if (!macroElement) {
Element *mEl = elInfo->getMacroElement()->getElement(); Element *mEl = elInfo->getMacroElement()->getElement();
for (int i = 0; i <= mesh->getDim(); i++) for (int i = 0; i <= mesh->getDim(); i++)
(*vec)[mEl->getDOF(i, 0)] = values[valuePos++]; (*vec)[mEl->getDof(i, 0)] = values[valuePos++];
macroElement = true; macroElement = true;
} }
Element *el = elInfo->getElement(); Element *el = elInfo->getElement();
if (!el->isLeaf()) if (!el->isLeaf())
(*vec)[el->getChild(0)->getDOF(mesh->getDim(), 0)] = values[valuePos++]; (*vec)[el->getChild(0)->getDof(mesh->getDim(), 0)] = values[valuePos++];
elInfo = stack.traverseNext(elInfo); elInfo = stack.traverseNext(elInfo);
} }
......
#include <fstream> #include <fstream>
#include <stdint.h>
#include "ArhWriter.h" #include "ArhWriter.h"
#include "Mesh.h" #include "Mesh.h"
...@@ -73,7 +74,7 @@ namespace AMDiS { ...@@ -73,7 +74,7 @@ namespace AMDiS {
values[i].clear(); values[i].clear();
for (int j = 0; j <= mesh->getDim(); j++) for (int j = 0; j <= mesh->getDim(); j++)
values[i].push_back((*vecs[i])[elInfo->getElement()->getDOF(j, 0)]); values[i].push_back((*vecs[i])[elInfo->getElement()->getDof(j, 0)]);
} }
} }
...@@ -81,7 +82,7 @@ namespace AMDiS { ...@@ -81,7 +82,7 @@ namespace AMDiS {
if (!elInfo->getElement()->isLeaf()) { if (!elInfo->getElement()->isLeaf()) {
for (unsigned int i = 0; i < vecs.size(); i++) for (unsigned int i = 0; i < vecs.size(); i++)
values[i].push_back((*vecs[i])[elInfo->getElement()->getChild(0)->getDOF(mesh->getDim(), 0)]); values[i].push_back((*vecs[i])[elInfo->getElement()->getChild(0)->getDof(mesh->getDim(), 0)]);
} }
elInfo = stack.traverseNext(elInfo); elInfo = stack.traverseNext(elInfo);
......
...@@ -70,12 +70,12 @@ namespace AMDiS { ...@@ -70,12 +70,12 @@ namespace AMDiS {
if (mesh->getNumberOfDOFs(VERTEX) && !mesh->queryCoarseDOFs()) { if (mesh->getNumberOfDOFs(VERTEX) && !mesh->queryCoarseDOFs()) {
int node = mesh->getNode(VERTEX); int node = mesh->getNode(VERTEX);
parent->setDOF(node+0, const_cast<int*>( child[0]->getDOF(node+0))); parent->setDof(node+0, const_cast<int*>( child[0]->getDof(node+0)));
parent->setDOF(node+1, const_cast<int*>( child[1]->getDOF(node+1))); parent->setDof(node+1, const_cast<int*>( child[1]->getDof(node+1)));
} }
if (mesh->getNumberOfDOFs(CENTER) && !mesh->queryCoarseDOFs()) { if (mesh->getNumberOfDOFs(CENTER) && !mesh->queryCoarseDOFs()) {
parent->setDOF(mesh->getNode(CENTER), mesh->getDof(CENTER)); parent->setDof(mesh->getNode(CENTER), mesh->getDof(CENTER));
} }
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
...@@ -102,13 +102,13 @@ namespace AMDiS { ...@@ -102,13 +102,13 @@ namespace AMDiS {
if (mesh->getNumberOfDOFs(VERTEX)) /*--- midpoint of parent ---*/ if (mesh->getNumberOfDOFs(VERTEX)) /*--- midpoint of parent ---*/
{ {
mesh->freeDof(const_cast<int*>( child[1]->getDOF(mesh->getNode(VERTEX))), VERTEX); mesh->freeDof(const_cast<int*>( child[1]->getDof(mesh->getNode(VERTEX))), VERTEX);
} }
if (mesh->getNumberOfDOFs(CENTER)) /*--- center of the children ---*/ if (mesh->getNumberOfDOFs(CENTER)) /*--- center of the children ---*/
{ {
mesh->freeDof(const_cast<int*>( child[0]->getDOF(mesh->getNode(CENTER))), CENTER); mesh->freeDof(const_cast<int*>( child[0]->getDof(mesh->getNode(CENTER))), CENTER);
mesh->freeDof(const_cast<int*>( child[1]->getDOF(mesh->getNode(CENTER))), CENTER); mesh->freeDof(const_cast<int*>( child[1]->getDof(mesh->getNode(CENTER))), CENTER);
} }
parent->coarsenElementData(child[0], child[1]); parent->coarsenElementData(child[0], child[1]);
......
...@@ -31,14 +31,14 @@ namespace AMDiS { ...@@ -31,14 +31,14 @@ namespace AMDiS {
// remove dof from common edge of child[0] and child[1] // remove dof from common edge of child[0] and child[1]
if (mesh->getNumberOfDOFs(EDGE)) if (mesh->getNumberOfDOFs(EDGE))
mesh->freeDof(const_cast<int*>(child[0]->getDOF(4)), EDGE); mesh->freeDof(const_cast<int*>(child[0]->getDof(4)), EDGE);
// remove dof from the barycenters of child[0] and child[1] // remove dof from the barycenters of child[0] and child[1]
if (mesh->getNumberOfDOFs(CENTER)) { if (mesh->getNumberOfDOFs(CENTER)) {
int node = mesh->getNode(CENTER); int node = mesh->getNode(CENTER);
mesh->freeDof(const_cast<int*>(child[0]->getDOF(node)), CENTER); mesh->freeDof(const_cast<int*>(child[0]->getDof(node)), CENTER);
mesh->freeDof(const_cast<int*>(child[1]->getDOF(node)), CENTER); mesh->freeDof(const_cast<int*>(child[1]->getDof(node)), CENTER);
} }
el->coarsenElementData(child[0], child[1]); el->coarsenElementData(child[0], child[1]);
...@@ -71,10 +71,10 @@ namespace AMDiS { ...@@ -71,10 +71,10 @@ namespace AMDiS {
dynamic_cast<Triangle*>(const_cast<Element*>(coarsenList->getElement(1))); dynamic_cast<Triangle*>(const_cast<Element*>(coarsenList->getElement(1)));
DegreeOfFreedom *dof[3]; DegreeOfFreedom *dof[3];
dof[0] = const_cast<int*>(el->getChild(0)->getDOF(2)); dof[0] = const_cast<int*>(el->getChild(0)->getDof(2));
if (mesh->getNumberOfDOFs(EDGE)) { if (mesh->getNumberOfDOFs(EDGE)) {
dof[1] = const_cast<int*>(el->getChild(0)->getDOF(3)); dof[1] = const_cast<int*>(el->getChild(0)->getDof(3));
dof[2] = const_cast<int*>(el->getChild(1)->getDOF(4)); dof[2] = const_cast<int*>(el->getChild(1)->getDof(4));
} else { } else {
dof[1] = dof[2] = 0; dof[1] = dof[2] = 0;
} }
...@@ -83,10 +83,10 @@ namespace AMDiS { ...@@ -83,10 +83,10 @@ namespace AMDiS {
int node = mesh->getNode(EDGE); int node = mesh->getNode(EDGE);
// get new dof on el at the midpoint of the coarsening edge // get new dof on el at the midpoint of the coarsening edge
if (!el->getDOF(node + 2)) { if (!el->getDof(node + 2)) {
el->setDOF(node + 2, mesh->getDof(EDGE)); el->setDof(node + 2, mesh->getDof(EDGE));
if (neigh) if (neigh)
neigh->setDOF(node + 2, const_cast<int*>(el->getDOF(node + 2))); neigh->setDof(node + 2, const_cast<int*>(el->getDof(node + 2)));
} }
} }
...@@ -149,12 +149,12 @@ namespace AMDiS { ...@@ -149,12 +149,12 @@ namespace AMDiS {
// give the refinement edge the right orientation // give the refinement edge the right orientation
if (el->getDOF(0,0) < el->getDOF(1,0)) { if (el->getDof(0,0) < el->getDof(1,0)) {
edge[0] = const_cast<int*>(el->getDOF(0)); edge[0] = const_cast<int*>(el->getDof(0));
edge[1] = const_cast<int*>(el->getDOF(1)); edge[1] = const_cast<int*>(el->getDof(1));
} else { } else {
edge[1] = const_cast<int*>(el->getDOF(0)); edge[1] = const_cast<int*>(el->getDof(0));
edge[0] = const_cast<int*>(el->getDOF(1)); edge[0] = const_cast<int*>(el->getDof(1));
} }
coarse_list.setElement(0, el, true); coarse_list.setElement(0, el, true);
......
...@@ -47,12 +47,12 @@ namespace AMDiS { ...@@ -47,12 +47,12 @@ namespace AMDiS {
/* give the refinement edge the right orientation */ /* give the refinement edge the right orientation */
/****************************************************************************/ /****************************************************************************/
if (el->getDOF(0,0) < el->getDOF(1,0)) { if (el->getDof(0,0) < el->getDof(1,0)) {
edge[0] = const_cast<int*>(el->getDOF(0)); edge[0] = const_cast<int*>(el->getDof(0));
edge[1] = const_cast<int*>(el->getDOF(1)); edge[1] = const_cast<int*>(el->getDof(1));
} else { } else {
edge[1] = const_cast<int*>(el->getDOF(0)); edge[1] = const_cast<int*>(el->getDof(0));
edge[0] = const_cast<int*>(el->getDOF(1)); edge[0] = const_cast<int*>(el->getDof(1));
} }
coarsenList->setElement(0, el, true); coarsenList->setElement(0, el, true);
...@@ -135,13 +135,13 @@ namespace AMDiS { ...@@ -135,13 +135,13 @@ namespace AMDiS {
if (mesh->getNumberOfDOFs(EDGE)) { if (mesh->getNumberOfDOFs(EDGE)) {
node = mesh->getNode(EDGE) + Tetrahedron::nChildEdge[el_type][0][dir]; node = mesh->getNode(EDGE) + Tetrahedron::nChildEdge[el_type][0][dir];
mesh->freeDof(const_cast<int*>( child[0]->getDOF(node)), EDGE); mesh->freeDof(const_cast<int*>( child[0]->getDof(node)), EDGE);
} }
if (mesh->getNumberOfDOFs(FACE)) { if (mesh->getNumberOfDOFs(FACE)) {
node = mesh->getNode(FACE) + Tetrahedron::nChildFace[el_type][0][dir]; node = mesh->getNode(FACE) + Tetrahedron::nChildFace[el_type][0][dir];
mesh->freeDof(const_cast<int*>( child[0]->getDOF(node)), FACE); mesh->freeDof(const_cast<int*>( child[0]->getDof(node)), FACE);
node = mesh->getNode(FACE) + Tetrahedron::nChildFace[el_type][1][dir]; node = mesh->getNode(FACE) + Tetrahedron::nChildFace[el_type][1][dir];
mesh->freeDof(const_cast<int*>( child[1]->getDOF(node)), FACE); mesh->freeDof(const_cast<int*>( child[1]->getDof(node)), FACE);
} }
} }
} }
...@@ -153,14 +153,14 @@ namespace AMDiS { ...@@ -153,14 +153,14 @@ namespace AMDiS {
if (mesh->getNumberOfDOFs(FACE)) { if (mesh->getNumberOfDOFs(FACE)) {
node = mesh->getNode(FACE); node = mesh->getNode(FACE);
mesh->freeDof(const_cast<int*>( child[0]->getDOF(node)), FACE); mesh->freeDof(const_cast<int*>( child[0]->getDof(node)), FACE);
} }
if (mesh->getNumberOfDOFs(CENTER)) { if (mesh->getNumberOfDOFs(CENTER)) {
node = mesh->getNode(CENTER); node = mesh->getNode(CENTER);
for (i = 0; i < 2; i++) for (i = 0; i < 2; i++)
mesh->freeDof(const_cast<int*>( child[i]->getDOF(node)), CENTER); mesh->freeDof(const_cast<int*>( child[i]->getDof(node)), CENTER);
} }
/****************************************************************************/ /****************************************************************************/
...@@ -238,20 +238,20 @@ namespace AMDiS { ...@@ -238,20 +238,20 @@ namespace AMDiS {
while (neigh != el) { while (neigh != el) {
for (j = 0; j < n_vertices; j++) for (j = 0; j < n_vertices; j++)
if (neigh->getDOF(j) == edge[0]) break; if (neigh->getDof(j) == edge[0]) break;
for (k = 0; k < n_vertices; k++) for (k = 0; k < n_vertices; k++)
if (neigh->getDOF(k) == edge[1]) break; if (neigh->getDof(k) == edge[1]) break;
if (j > 3 || k > 3) { if (j > 3 || k > 3) {
for (j = 0; j < n_vertices; j++) for (j = 0; j < n_vertices; j++)
if (mesh->associated(neigh->getDOF(j, 0), edge[0][0])) break; if (mesh->associated(neigh->getDof(j, 0), edge[0][0])) break;
for (k = 0; k < n_vertices; k++) for (k = 0; k < n_vertices; k++)
if (mesh->associated(neigh->getDOF(k, 0), edge[1][0])) break; if (mesh->associated(neigh->getDof(k, 0), edge[1][0])) break;
TEST_EXIT_DBG(j < n_vertices && k < n_vertices) TEST_EXIT_DBG(j < n_vertices && k < n_vertices)
("dof %d or dof %d not found on element %d with nodes (%d %d %d %d)\n", ("dof %d or dof %d not found on element %d with nodes (%d %d %d %d)\n",
edge[0][0], edge[1][0], neigh->getIndex(), neigh->getDOF(0,0), edge[0][0], edge[1][0], neigh->getIndex(), neigh->getDof(0,0),
neigh->getDOF(1,0), neigh->getDOF(2,0), neigh->getDOF(3,0)); neigh->getDof(1,0), neigh->getDof(2,0), neigh->getDof(3,0));
} }
edge_no = Tetrahedron::edgeOfDofs[j][k]; edge_no = Tetrahedron::edgeOfDofs[j][k];
coarsenList->setCoarsePatch(*n_neigh, edge_no == 0); coarsenList->setCoarsePatch(*n_neigh, edge_no == 0);
...@@ -323,7 +323,7 @@ namespace AMDiS { ...@@ -323,7 +323,7 @@ namespace AMDiS {
/* get dof for coarsening edge */ /* get dof for coarsening edge */
/****************************************************************************/ /****************************************************************************/
node = mesh->getNode(EDGE); node = mesh->getNode(EDGE);
if (!(dof = const_cast<int*>( el->getDOF(node)))) if (!(dof = const_cast<int*>( el->getDof(node))))
dof = mesh->getDof(EDGE); dof = mesh->getDof(EDGE);
} else { } else {
dof = NULL; dof = NULL;
...@@ -356,13 +356,13 @@ namespace AMDiS { ...@@ -356,13 +356,13 @@ namespace AMDiS {
/* remove dof's of the coarsening edge */ /* remove dof's of the coarsening edge */
/****************************************************************************/ /****************************************************************************/
mesh->freeDof(const_cast<int*>( el->getChild(0)->getDOF(3)), VERTEX); mesh->freeDof(const_cast<int*>( el->getChild(0)->getDof(3)), VERTEX);
mesh->incrementNumberOfVertices(-1); mesh->incrementNumberOfVertices(-1);
if (mesh->getNumberOfDOFs(EDGE)) { if (mesh->getNumberOfDOFs(EDGE)) {
node = mesh->getNode(EDGE) + 2; node = mesh->getNode(EDGE) + 2;
mesh->freeDof(const_cast<int*>( el->getChild(0)->getDOF(node)), EDGE); mesh->freeDof(const_cast<int*>( el->getChild(0)->getDof(node)), EDGE);
mesh->freeDof(const_cast<int*>( el->getChild(1)->getDOF(node)), EDGE); mesh->freeDof(const_cast<int*>( el->getChild(1)->getDof(node)), EDGE);
} }
if (coarsenList->getElement(0)->isNewCoordSet()) if (coarsenList->getElement(0)->isNewCoordSet())
......
...@@ -257,12 +257,12 @@ namespace AMDiS { ...@@ -257,12 +257,12 @@ namespace AMDiS {
void init(); void init();
/** \brief /** \brief
* Adds one index to all DOF lists. Used by Mesh::getDOF() to provide * Adds one index to all DOF lists. Used by Mesh::getDof() to provide
* DOFS for a specific position * DOFS for a specific position
*/ */
int getDOFIndex(); int getDOFIndex();
/// Frees index dof. Used by Mesh::getDOF() /// Frees index dof. Used by Mesh::getDof()
void freeDofIndex(int dof); void freeDofIndex(int dof);
/// ///
......
...@@ -46,9 +46,9 @@ namespace AMDiS { ...@@ -46,9 +46,9 @@ namespace AMDiS {
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);
vec[dof_new] = vec[dof0]; vec[dof_new] = vec[dof0];
vec[dof_new] += vec[dof1]; vec[dof_new] += vec[dof1];
vec[dof_new] *= 0.5; vec[dof_new] *= 0.5;
...@@ -114,7 +114,7 @@ namespace AMDiS { ...@@ -114,7 +114,7 @@ namespace AMDiS {
ElInfo *elInfo = stack.traverseFirst(mesh, -1, fillFlag); ElInfo *elInfo = stack.traverseFirst(mesh, -1, fillFlag);
while (elInfo) { while (elInfo) {
const DegreeOfFreedom **dof = elInfo->getElement()->getDOF(); const DegreeOfFreedom **dof = elInfo->getElement()->getDof();
const DimVec<WorldVector<double> > &grdLambda = elInfo->getGrdLambda(); const DimVec<WorldVector<double> > &grdLambda = elInfo->getGrdLambda();
getLocalVector(elInfo->getElement(), localUh); getLocalVector(elInfo->getElement(), localUh);
...@@ -186,7 +186,7 @@ namespace AMDiS { ...@@ -186,7 +186,7 @@ namespace AMDiS {
while (elInfo) { while (elInfo) {
double det = elInfo->getDet(); double det = elInfo->getDet();
const DegreeOfFreedom **dof = elInfo->getElement()->getDOF(); const DegreeOfFreedom **dof = elInfo->getElement()->getDof();
const DimVec<WorldVector<double> > &grdLambda = elInfo->getGrdLambda(); const DimVec<WorldVector<double> > &grdLambda = elInfo->getGrdLambda();
getLocalVector(elInfo->getElement(), localUh); getLocalVector(elInfo->getElement(), localUh);
basFcts->evalGrdUh(bary, grdLambda, localUh, &grd); basFcts->evalGrdUh(bary, grdLambda, localUh, &grd);
...@@ -674,7 +674,7 @@ namespace AMDiS { ...@@ -674,7 +674,7 @@ namespace AMDiS {
ElementVector localUh(basFcts->getNumber()); ElementVector localUh(basFcts->getNumber());
while (elInfo) { while (elInfo) {
const DegreeOfFreedom **dof = elInfo->getElement()->getDOF(); const DegreeOfFreedom **dof = elInfo->getElement()->getDof();
getLocalVector(elInfo->getElement(), localUh); getLocalVector(elInfo->getElement(), localUh);
const DimVec<WorldVector<double> > &grdLambda = elInfo->getGrdLambda(); const DimVec<WorldVector<double> > &grdLambda = elInfo->getGrdLambda();
......
...@@ -204,7 +204,7 @@ namespace AMDiS { ...@@ -204,7 +204,7 @@ namespace AMDiS {
{ {
FUNCNAME("DataCollector::addElementData()"); FUNCNAME("DataCollector::addElementData()");
const DegreeOfFreedom **dof = elInfo->getElement()->getDOF(); const DegreeOfFreedom **dof = elInfo->getElement()->getDof();
DegreeOfFreedom vertexDOF; DegreeOfFreedom vertexDOF;
WorldVector<double> vertexCoords; WorldVector<double> vertexCoords;
...@@ -384,13 +384,13 @@ namespace AMDiS { ...@@ -384,13 +384,13 @@ namespace AMDiS {
int index1 = elInfo->getElement()->getVertexOfPosition(INDEX_OF_DIM(dim - 1, dim), int index1 = elInfo->getElement()->getVertexOfPosition(INDEX_OF_DIM(dim - 1, dim),
it->elementSide, it->elementSide,
i); i);
int dof1 = elInfo->getElement()->getDOF(index1, nPreDofs); int dof1 = elInfo->getElement()->getDof(index1, nPreDofs);
for (int