Commit 283571c7 authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

Code refactoring.

parent 02381b65
......@@ -30,10 +30,10 @@
# the same distribution terms that you use for the rest of that program.
# A sed program that does not truncate output.
SED="/usr/bin/sed"
SED="/bin/sed"
# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="/usr/bin/sed -e 1s/^X//"
Xsed="/bin/sed -e 1s/^X//"
# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
......@@ -44,7 +44,7 @@ available_tags=" CXX F77"
# ### BEGIN LIBTOOL CONFIG
# Libtool was configured on host deimos103:
# Libtool was configured on host NWRW15:
# Shell to use when invoking shell scripts.
SHELL="/bin/sh"
......@@ -66,12 +66,12 @@ fast_install=yes
# The host system.
host_alias=
host=x86_64-unknown-linux-gnu
host=i686-pc-linux-gnu
host_os=linux-gnu
# The build system.
build_alias=
build=x86_64-unknown-linux-gnu
build=i686-pc-linux-gnu
build_os=linux-gnu
# An echo program that does not interpret backslashes.
......@@ -82,25 +82,25 @@ AR="ar"
AR_FLAGS="cru"
# A C compiler.
LTCC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc"
LTCC="gcc"
# LTCC compiler flags.
LTCFLAGS="-g -O2"
# A language-specific compiler.
CC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc"
CC="gcc"
# Is the compiler the GNU C compiler?
with_gcc=yes
gcc_dir=`gcc -print-file-name=. | /usr/bin/sed 's,/\.$,,'`
gcc_dir=`gcc -print-file-name=. | /bin/sed 's,/\.$,,'`
gcc_ver=`gcc -dumpversion`
# An ERE matcher.
EGREP="grep -E"
# The linker used to build libraries.
LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64"
LD="/usr/bin/ld"
# Whether we need hard or soft links.
LN_S="ln -s"
......@@ -174,7 +174,7 @@ dlopen_self=unknown
dlopen_self_static=unknown
# Compiler flag to prevent dynamic linking.
link_static_flag=""
link_static_flag="-static"
# Compiler flag to turn off builtin functions.
no_builtin_flag=" -fno-builtin"
......@@ -328,10 +328,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM
link_all_deplibs=unknown
# Compile-time system search path for libraries
sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
sys_lib_search_path_spec=`echo " /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../ /lib/i386-redhat-linux/4.1.2/ /lib/ /usr/lib/i386-redhat-linux/4.1.2/ /usr/lib/" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /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/lib/octave-2.9.9 /usr/lib/qt-3.3/lib /usr/lib/qt4/lib "
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""
......@@ -6763,7 +6763,7 @@ build_old_libs=`case $build_libtool_libs in yes) $echo no;; *) $echo yes;; esac`
# End:
# ### BEGIN LIBTOOL TAG CONFIG: CXX
# Libtool was configured on host deimos103:
# Libtool was configured on host NWRW15:
# Shell to use when invoking shell scripts.
SHELL="/bin/sh"
......@@ -6785,12 +6785,12 @@ fast_install=yes
# The host system.
host_alias=
host=x86_64-unknown-linux-gnu
host=i686-pc-linux-gnu
host_os=linux-gnu
# The build system.
build_alias=
build=x86_64-unknown-linux-gnu
build=i686-pc-linux-gnu
build_os=linux-gnu
# An echo program that does not interpret backslashes.
......@@ -6801,25 +6801,25 @@ AR="ar"
AR_FLAGS="cru"
# A C compiler.
LTCC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc"
LTCC="gcc"
# LTCC compiler flags.
LTCFLAGS="-g -O2"
# A language-specific compiler.
CC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpiCC"
CC="g++"
# Is the compiler the GNU C compiler?
with_gcc=yes
gcc_dir=`gcc -print-file-name=. | /usr/bin/sed 's,/\.$,,'`
gcc_dir=`gcc -print-file-name=. | /bin/sed 's,/\.$,,'`
gcc_ver=`gcc -dumpversion`
# An ERE matcher.
EGREP="grep -E"
# The linker used to build libraries.
LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64"
LD="/usr/bin/ld"
# Whether we need hard or soft links.
LN_S="ln -s"
......@@ -6893,7 +6893,7 @@ dlopen_self=unknown
dlopen_self_static=unknown
# Compiler flag to prevent dynamic linking.
link_static_flag=""
link_static_flag="-static"
# Compiler flag to turn off builtin functions.
no_builtin_flag=" -fno-builtin"
......@@ -6948,11 +6948,11 @@ striplib="strip --strip-unneeded"
# Dependencies to place before the objects being linked to create a
# shared library.
predep_objects=`echo "/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" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
predep_objects=`echo "/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crti.o /usr/lib/gcc/i386-redhat-linux/4.1.2/crtbeginS.o" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Dependencies to place after the objects being linked to create a
# shared library.
postdep_objects=`echo "/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" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
postdep_objects=`echo "/usr/lib/gcc/i386-redhat-linux/4.1.2/crtendS.o /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crtn.o" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Dependencies to place before the objects being linked to create a
# shared library.
......@@ -6960,11 +6960,11 @@ predeps=""
# Dependencies to place after the objects being linked to create a
# shared library.
postdeps="-lmpi_cxx -lmpi -lopen-rte -lopen-pal -libverbs -lrt -lnuma -ldl -lnsl -lutil -ldl -lstdc++ -lm -lgcc_s -lpthread -lc -lgcc_s"
postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path=`echo "-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/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/../../.." | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
compiler_lib_search_path=`echo "-L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.." | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Method to check whether dependent libraries are shared objects.
deplibs_check_method="pass_all"
......@@ -7044,10 +7044,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM
link_all_deplibs=unknown
# Compile-time system search path for libraries
sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
sys_lib_search_path_spec=`echo " /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../i386-redhat-linux/4.1.2/ /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../ /lib/i386-redhat-linux/4.1.2/ /lib/ /usr/lib/i386-redhat-linux/4.1.2/ /usr/lib/" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /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/lib/octave-2.9.9 /usr/lib/qt-3.3/lib /usr/lib/qt4/lib "
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""
......@@ -7071,7 +7071,7 @@ include_expsyms=""
# ### BEGIN LIBTOOL TAG CONFIG: F77
# Libtool was configured on host deimos103:
# Libtool was configured on host NWRW15:
# Shell to use when invoking shell scripts.
SHELL="/bin/sh"
......@@ -7093,12 +7093,12 @@ fast_install=yes
# The host system.
host_alias=
host=x86_64-unknown-linux-gnu
host=i686-pc-linux-gnu
host_os=linux-gnu
# The build system.
build_alias=
build=x86_64-unknown-linux-gnu
build=i686-pc-linux-gnu
build_os=linux-gnu
# An echo program that does not interpret backslashes.
......@@ -7109,7 +7109,7 @@ AR="ar"
AR_FLAGS="cru"
# A C compiler.
LTCC="/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpicc"
LTCC="gcc"
# LTCC compiler flags.
LTCFLAGS="-g -O2"
......@@ -7118,16 +7118,16 @@ LTCFLAGS="-g -O2"
CC="g77"
# Is the compiler the GNU C compiler?
with_gcc=
with_gcc=yes
gcc_dir=`gcc -print-file-name=. | /usr/bin/sed 's,/\.$,,'`
gcc_dir=`gcc -print-file-name=. | /bin/sed 's,/\.$,,'`
gcc_ver=`gcc -dumpversion`
# An ERE matcher.
EGREP="grep -E"
# The linker used to build libraries.
LD="/usr/x86_64-suse-linux/bin/ld -m elf_x86_64"
LD="/usr/bin/ld"
# Whether we need hard or soft links.
LN_S="ln -s"
......@@ -7355,10 +7355,10 @@ variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COM
link_all_deplibs=unknown
# Compile-time system search path for libraries
sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
sys_lib_search_path_spec=`echo " /usr/lib/gcc/i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../i386-redhat-linux/lib/i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../i386-redhat-linux/lib/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../i386-redhat-linux/3.4.6/ /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../ /lib/i386-redhat-linux/3.4.6/ /lib/ /usr/lib/i386-redhat-linux/3.4.6/ /usr/lib/" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /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/lib/octave-2.9.9 /usr/lib/qt-3.3/lib /usr/lib/qt4/lib "
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path=""
......
......@@ -49,6 +49,7 @@ namespace AMDiS {
class FillInfo;
class FileWriterInterface;
class FiniteElemSpace;
class Flag;
class IdentityPreconditioner;
class ITL_BasePreconditioner;
class LeafDataPeriodic;
......
......@@ -217,13 +217,13 @@ namespace AMDiS {
{
FUNCNAME("Lagrange::setVertices()");
TEST_EXIT_DBG((*vertices) == NULL)("vertices != NULL\n");
TEST_EXIT_DBG(*vertices == NULL)("vertices != NULL\n");
int dimOfPosition = DIM_OF_INDEX(position, dim);
*vertices = new int[dimOfPosition + 1];
if ((degree == 4) && (dimOfPosition==1)) {
if (degree == 4 && dimOfPosition == 1) {
(*vertices)[(nodeIndex != 2) ? 0 : 1] =
Global::getReferenceElement(dim)->getVertexOfPosition(position,
positionIndex,
......@@ -232,16 +232,16 @@ namespace AMDiS {
Global::getReferenceElement(dim)->getVertexOfPosition(position,
positionIndex,
1);
} else if ((degree==4) && (dimOfPosition==2)) {
} else if (degree==4 && dimOfPosition == 2) {
for (int i = 0; i < dimOfPosition + 1; i++) {
(*vertices)[(i+dimOfPosition*nodeIndex) % (dimOfPosition + 1)] =
(*vertices)[(i + dimOfPosition*nodeIndex) % (dimOfPosition + 1)] =
Global::getReferenceElement(dim)->getVertexOfPosition(position,
positionIndex,
i);
}
} else {
for (int i = 0; i < dimOfPosition + 1; i++) {
(*vertices)[(i+nodeIndex) % (dimOfPosition + 1)] =
(*vertices)[(i + nodeIndex) % (dimOfPosition + 1)] =
Global::getReferenceElement(dim)->getVertexOfPosition(position,
positionIndex,
i);
......@@ -661,10 +661,10 @@ namespace AMDiS {
int partsAtPos = Global::getGeo(INDEX_OF_DIM(i, dim), dim);
for (int j = 0; j < partsAtPos; j++) { // for all vertices/edges/faces/...
int *coordInd = new int[i + 1]; // indices of relevant coords
for (int k = 0; k < i + 1; k++) {
for (int k = 0; k < i + 1; k++)
coordInd[k] = Global::getReferenceElement(dim)->
getVertexOfPosition(INDEX_OF_DIM(i, dim), j, k);
}
createCoords(coordInd, i + 1, 0, degree);
delete [] coordInd;
if (static_cast<int>(bary->size()) == nBasFcts)
......@@ -785,17 +785,15 @@ namespace AMDiS {
for (int j = offset; j < jto; j++) {
boundaryType = el_info->getBoundary(j);
int kto = (*nDOF)[INDEX_OF_DIM(i, dim)];
for (int k = 0; k < kto; k++) {
for (int k = 0; k < kto; k++)
bound[index++] = boundaryType;
}
}
offset -= Global::getGeo(INDEX_OF_DIM(i + 1, dim), dim);
}
// interior nodes in the center
for (int i = 0; i < (*nDOF)[CENTER]; i++) {
for (int i = 0; i < (*nDOF)[CENTER]; i++)
bound[index++] = INTERIOR;
}
TEST_EXIT_DBG(index == nBasFcts)("found not enough boundarys\n");
}
......
......@@ -203,10 +203,7 @@ namespace AMDiS {
LeafDataPeriodic *ld[2] = {NULL, NULL};
std::list<LeafDataPeriodic::PeriodicInfo>::iterator it;
for (it = periodicInfoList.begin();
it != periodicInfoList.end();
++it) {
for (it = periodicInfoList.begin(); it != periodicInfoList.end(); ++it) {
BoundaryType type = it->type;
int parentSide = it->elementSide;
int mode = it->periodicMode;
......@@ -242,8 +239,7 @@ namespace AMDiS {
newCoords *= 0.5;
coords[j] = newCoords;
} else {
int posAtSide = parent->getPositionOfVertex(parentSide,
parentVertex);
int posAtSide = parent->getPositionOfVertex(parentSide, parentVertex);
coords[j] = (*(it->periodicCoords))[posAtSide];
}
}
......
......@@ -18,7 +18,7 @@ namespace AMDiS {
int positionIndex,
int vertexIndex) const
{
FUNCNAME("Line::getVertexOfPosition");
FUNCNAME("Line::getVertexOfPosition()");
switch(position) {
case VERTEX:
......
......@@ -85,10 +85,9 @@ namespace AMDiS {
TEST_EXIT(result == 1)("vertEl2[%d]\n", j);
}
for (int j = 0; j < dim; j++) {
if (mode == 0) {
if (mode == 0)
periodicMap.setEntry(melVertex[el1][verticesEl1[j]],
melVertex[el2][verticesEl2[j]]);
}
vertexMapEl1[verticesEl1[j]] = verticesEl2[j];
vertexMapEl2[verticesEl2[j]] = verticesEl1[j];
}
......@@ -193,13 +192,11 @@ namespace AMDiS {
std::map<BoundaryType, VertexVector*>::iterator assocEnd =
mesh->periodicAssociations.end();
for (assoc = mesh->periodicAssociations.begin(); assoc != assocEnd; ++assoc) {
for (int i = 0; i < mesh->getNumberOfVertices(); i++) {
for (int i = 0; i < mesh->getNumberOfVertices(); i++)
if (i != (*(assoc->second))[i])
MSG("association %d: vertex %d -> vertex %d\n",
assoc->first, i, (*(assoc->second))[i]);
}
}
for (int i = 0; i < mesh->getNumberOfVertices(); i++)
if (periodicMap.getEntry(i) != -1)
......@@ -262,9 +259,8 @@ namespace AMDiS {
MacroElement *macroEl = *(mel+i);
Projection *projector = macroEl->getProjection(0);
if (projector && projector->getType() == VOLUME_PROJECTION) {
for (int j = 0; j <= dim; j++) {
for (int j = 0; j <= dim; j++)
projector->project(macroEl->getCoord(j));
}
} else {
for (int j = 0; j < mesh->getGeo(EDGE); j++) {
projector = macroEl->getProjection(numFaces + j);
......@@ -460,7 +456,6 @@ namespace AMDiS {
{
FUNCNAME("MacroInfo::readAMDiSMacro()");
FILE *file;
int dim;
int dow, nv, ne, j, k;
double dbl;
......@@ -474,7 +469,7 @@ namespace AMDiS {
TEST_EXIT(strlen(filename) < static_cast<unsigned int>(127))
("can only handle filenames up to 127 characters\n");
file = fopen(filename, "r");
FILE *file = fopen(filename, "r");
TEST_EXIT(file)("cannot open file %s\n", filename);
/****************************************************************************/
......@@ -484,7 +479,8 @@ namespace AMDiS {
line_no = n_keys = 0;
while (fgets(line, 255, file)) {
line_no++;
if (!strchr(line, ':')) continue;
if (!strchr(line, ':'))
continue;
key = read_key(line);
int i_key = get_key_no(key);
TEST_EXIT(i_key >= 0)
......@@ -851,7 +847,7 @@ namespace AMDiS {
void MacroInfo::fillBoundaryInfo(Mesh *mesh)
{
int i,j,k, nv = mesh->getNumberOfVertices();
int i, j, k, nv = mesh->getNumberOfVertices();
std::deque<MacroElement*>::iterator melIt;
......@@ -866,34 +862,28 @@ namespace AMDiS {
for (i = 0; i < nv; i++)
bound[i] = INTERIOR;
for (i=0, melIt = mesh->firstMacroElement();
for (i = 0, melIt = mesh->firstMacroElement();
melIt != mesh->endOfMacroElements();
++melIt, ++i)
{
++melIt, i++) {
for (j = 0; j < mesh->getGeo(NEIGH); j++) {
if ((*melIt)->getBoundary(j) != INTERIOR) {
if ((*melIt)->getBoundary(j) >= DIRICHLET) {
int j1 = mel_vertex[i][(j+1)%3];
int j2 = mel_vertex[i][(j+2)%3];
bound[j1] =
max(bound[j1], (*melIt)->getBoundary(j));
bound[j2] =
max(bound[j2], (*melIt)->getBoundary(j));
}
else if ((*melIt)->getBoundary(j) <= NEUMANN) {
bound[j1] = max(bound[j1], (*melIt)->getBoundary(j));
bound[j2] = max(bound[j2], (*melIt)->getBoundary(j));
} else if ((*melIt)->getBoundary(j) <= NEUMANN) {
int j1 = mel_vertex[i][(j+1)%3];
int j2 = mel_vertex[i][(j+2)%3];
if (bound[j1] != INTERIOR)
bound[j1] =
max(bound[j1], (*melIt)->getBoundary(j));
bound[j1] = max(bound[j1], (*melIt)->getBoundary(j));
else
bound[j1] = (*melIt)->getBoundary(j);
if (bound[j2] != INTERIOR)
bound[j2] =
max(bound[j2], (*melIt)->getBoundary(j));
bound[j2] = max(bound[j2], (*melIt)->getBoundary(j));
else
bound[j2] = (*melIt)->getBoundary(j);
}
......@@ -901,30 +891,26 @@ namespace AMDiS {
}
}
for (i=0, melIt = mesh->firstMacroElement();
for (i = 0, melIt = mesh->firstMacroElement();
melIt != mesh->endOfMacroElements();
++melIt, i++)
{
for (j = 0; j < mesh->getGeo(VERTEX); j++)
(*melIt)->setBoundary(3 + j, bound[mel_vertex[i][j]]);
}
break;
case 3:
for (i = 0; i < nv; i++)
bound[i] = INTERIOR;
for (i=0, melIt = mesh->firstMacroElement();
for (i = 0, melIt = mesh->firstMacroElement();
melIt != mesh->endOfMacroElements();
++melIt, i++)
{
++melIt, i++) {
for (j = 0; j < mesh->getGeo(NEIGH); j++) {
for (k = 1; k < 4; k++)
bound[mel_vertex[i][(j+k)%4]] =
((*melIt)->getBoundary(j) != INTERIOR) ?
newBound((*melIt)->getBoundary(j),
bound[mel_vertex[i][(j+k)%4]]) :
//(*melIt)->getBoundary(j)->
//newVal(bound[data->mel_vertex[i][(j+k)%4]]) :
bound[mel_vertex[i][(j+k)%4]];
}
}
......@@ -932,12 +918,12 @@ namespace AMDiS {
for (i = 0, melIt = mesh->firstMacroElement();
melIt != mesh->endOfMacroElements();
++melIt, i++)
{
for (j = 0; j < mesh->getGeo(VERTEX); j++)
(*melIt)->setBoundary(10 + j, bound[mel_vertex[i][j]]);
}
break;
default: ERROR_EXIT("invalid dim\n");
default:
ERROR_EXIT("invalid dim\n");
}
delete [] bound;
......@@ -1034,7 +1020,7 @@ namespace AMDiS {
int dim = mesh->getDim();
switch(dim) {
switch (dim) {
case 2:
for (mel = mesh->firstMacroElement(); mel != mesh->endOfMacroElements(); mel++) {
// check for periodic boundary
......@@ -1048,12 +1034,10 @@ namespace AMDiS {
dynamic_cast<LeafDataPeriodic*>(ed)->getInfoList();
std::list<LeafDataPeriodic::PeriodicInfo>::iterator it;
std::list<LeafDataPeriodic::PeriodicInfo>::iterator end = periodicInfos.end();
for (it = periodicInfos.begin(); it != end; ++it) {
if (it->type != 0) {
for (it = periodicInfos.begin(); it != end; ++it)
if (it->type != 0)
periodic[it->elementSide] = true;
}
}
}
for (int i = 0; i < mesh->getGeo(NEIGH); i++) {
if (!(*mel)->getNeighbour(i) ||
......@@ -1065,18 +1049,18 @@ namespace AMDiS {
dof = el->setDOF(lnode + i, mesh->getDOF(EDGE));
if ((*mel)->getNeighbour(i)) {
Element *neigh = const_cast<Element*>((*mel)->getNeighbour(i)->getElement());
Element *neigh =
const_cast<Element*>((*mel)->getNeighbour(i)->getElement());
if (periodic[i]) {
if (periodic[i])
neigh->setDOF(lnode + (*mel)->getOppVertex(i), mesh->getDOF(EDGE));
} else {
else
neigh->setDOF(lnode + (*mel)->getOppVertex(i), dof);
}
}
}
}
}
}
break;
case 3:
lnode = mesh->getNode(FACE);
......@@ -1105,50 +1089,51 @@ namespace AMDiS {
/*********************************************************************/
n_neigh = 1;
if (newEdge(mesh, (*(mel+i)), k, &n_neigh/*, periodicEdge*/)) {
if (newEdge(mesh, (*(mel + i)), k, &n_neigh)) {
mesh->incrementNumberOfEdges(1);
max_n_neigh = max(max_n_neigh, n_neigh);
}
}
for (k = 0; k < mesh->getGeo(NEIGH); k++) {
neigh = (*(mel+i))->getNeighbour(k);
neigh = (*(mel + i))->getNeighbour(k);
/*********************************************************************/
/* face is counted and dof is added by the element with bigger index */
/*********************************************************************/
if (neigh && (neigh->getIndex() > (*(mel+i))->getIndex())) continue;
if (neigh && (neigh->getIndex() > (*(mel + i))->getIndex()))
continue;
mesh->incrementNumberOfFaces(1);
if (mesh->getNumberOfDOFs(FACE)) {
TEST_EXIT(!(*(mel+i))->getElement()->getDOF(lnode + k))
TEST_EXIT(!(*(mel + i))->getElement()->getDOF(lnode + k))
("dof %d on element %d already set\n",
lnode+k, (*(mel+i))->getIndex());
lnode + k, (*(mel + i))->getIndex());
const_cast<Element*>((*(mel+i))->getElement())->setDOF(lnode + k,
const_cast<Element*>((*(mel + i))->getElement())->setDOF(lnode + k,
mesh->getDOF(FACE));
if (neigh) {
ov = (*(mel+i))->getOppVertex(k);
TEST_EXIT(!neigh->getElement()->getDOF(lnode+ov))
ov = (*(mel + i))->getOppVertex(k);
TEST_EXIT(!neigh->getElement()->getDOF(lnode + ov))
("dof %d on neighbour %d already set\n",
lnode+ov, neigh->getIndex());
lnode + ov, neigh->getIndex());
Element *neighEl =
const_cast<Element*>((*(mel+i))->getNeighbour(k)->getElement());
const_cast<Element*>((*(mel + i))->getNeighbour(k)->getElement());