Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
iwr
amdis
Commits
23943fbb
Commit
23943fbb
authored
Mar 24, 2009
by
Thomas Witkowski
Browse files
* Some work on parallel AMDiS
parent
cd344056
Changes
14
Hide whitespace changes
Inline
Side-by-side
AMDiS/libtool
View file @
23943fbb
...
...
@@ -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
=
"/bin/sed"
SED
=
"/
usr/
bin/sed"
# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed
=
"/bin/sed -e 1s/^X//"
Xsed
=
"/
usr/
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
NWRW15
:
# Libtool was configured on host
p2d079
:
# Shell to use when invoking shell scripts.
SHELL
=
"/bin/sh"
...
...
@@ -66,12 +66,12 @@ fast_install=yes
# The host system.
host_alias
=
host
=
i686-redhat
-linux-gnu
host
=
x86_64-unknown
-linux-gnu
host_os
=
linux-gnu
# The build system.
build_alias
=
build
=
i686-redhat
-linux-gnu
build
=
x86_64-unknown
-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
=
"
g
cc"
LTCC
=
"
/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpi
cc"
# LTCC compiler flags.
LTCFLAGS
=
"-g -O2"
# A language-specific compiler.
CC
=
"
g
cc"
CC
=
"
/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpi
cc"
# Is the compiler the GNU C compiler?
with_gcc
=
yes
gcc_dir
=
`
gcc
-print-file-name
=
.
| /bin/sed
's,/\.$,,'
`
gcc_dir
=
`
gcc
-print-file-name
=
.
|
/usr
/bin/sed
's,/\.$,,'
`
gcc_ver
=
`
gcc
-dumpversion
`
# An ERE matcher.
EGREP
=
"grep -E"
# The linker used to build libraries.
LD
=
"/usr/
bin/ld
"
LD
=
"/usr/
x86_64-suse-linux/bin/ld -m elf_x86_64
"
# 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
=
"
-static
"
link_static_flag
=
""
# 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
"
/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"
`
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"
`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec
=
"/lib /usr/lib /usr/
lib/octave-
2.9.9 /
usr/lib/qt-3.3
/lib "
sys_lib_dlsearch_path_spec
=
"/lib
64
/usr/lib
64
/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.9
9
/
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
/lib
so
"
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path
=
""
...
...
@@ -7266,7 +7266,7 @@ disable_libs=static
# End:
# ### BEGIN LIBTOOL TAG CONFIG: CXX
# Libtool was configured on host
NWRW15
:
# Libtool was configured on host
p2d079
:
# Shell to use when invoking shell scripts.
SHELL
=
"/bin/sh"
...
...
@@ -7288,12 +7288,12 @@ fast_install=yes
# The host system.
host_alias
=
host
=
i686-redhat
-linux-gnu
host
=
x86_64-unknown
-linux-gnu
host_os
=
linux-gnu
# The build system.
build_alias
=
build
=
i686-redhat
-linux-gnu
build
=
x86_64-unknown
-linux-gnu
build_os
=
linux-gnu
# An echo program that does not interpret backslashes.
...
...
@@ -7304,25 +7304,25 @@ AR="ar"
AR_FLAGS
=
"cru"
# A C compiler.
LTCC
=
"
g
cc"
LTCC
=
"
/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpi
cc"
# LTCC compiler flags.
LTCFLAGS
=
"-g -O2"
# A language-specific compiler.
CC
=
"
g++
"
CC
=
"
/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpiCC
"
# Is the compiler the GNU C compiler?
with_gcc
=
yes
gcc_dir
=
`
gcc
-print-file-name
=
.
| /bin/sed
's,/\.$,,'
`
gcc_dir
=
`
gcc
-print-file-name
=
.
|
/usr
/bin/sed
's,/\.$,,'
`
gcc_ver
=
`
gcc
-dumpversion
`
# An ERE matcher.
EGREP
=
"grep -E"
# The linker used to build libraries.
LD
=
"/usr/
bin/ld
"
LD
=
"/usr/
x86_64-suse-linux/bin/ld -m elf_x86_64
"
# Whether we need hard or soft links.
LN_S
=
"ln -s"
...
...
@@ -7396,7 +7396,7 @@ dlopen_self=unknown
dlopen_self_static
=
unknown
# Compiler flag to prevent dynamic linking.
link_static_flag
=
"
-static
"
link_static_flag
=
""
# Compiler flag to turn off builtin functions.
no_builtin_flag
=
" -fno-builtin"
...
...
@@ -7451,11 +7451,11 @@ striplib="strip --strip-unneeded"
# Dependencies to place before the objects being linked to create a
# shared library.
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"
`
predep_objects
=
`
echo
"/usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../../
../lib64/
crti.o /usr/lib
64
/gcc/
x86_64-suse
-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/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"
`
postdep_objects
=
`
echo
"/usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/crtendS.o /usr/lib
64
/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"
`
# Dependencies to place before the objects being linked to create a
# shared library.
...
...
@@ -7463,11 +7463,11 @@ predeps=""
# Dependencies to place after the objects being linked to create a
# shared library.
postdeps
=
"-lstdc++ -lm -lgcc_s -lc -lgcc_s"
postdeps
=
"
-lmpi_cxx -lmpi -lopen-rte -lopen-pal -libverbs -lrt -lnuma -ldl -lnsl -lutil -ldl
-lstdc++ -lm -lgcc_s
-lpthread
-lc -lgcc_s"
# The library search path used internally by the compiler when linking
# a shared library.
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"
`
compiler_lib_search_path
=
`
echo
"-L/usr/lib
64 -L/licsoft/libraries/openmpi/1.2.6/64bit/lib -L/usr/lib64/gcc/x86_64-suse
-linux/4.1.2 -L/usr/lib
64
/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"
`
# Method to check whether dependent libraries are shared objects.
deplibs_check_method
=
"pass_all"
...
...
@@ -7547,10 +7547,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
"
/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"
`
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"
`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec
=
"/lib /usr/lib /usr/
lib/octave-
2.9.9 /
usr/lib/qt-3.3
/lib "
sys_lib_dlsearch_path_spec
=
"/lib
64
/usr/lib
64
/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.9
9
/
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
/lib
so
"
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path
=
""
...
...
@@ -7574,7 +7574,7 @@ include_expsyms=""
# ### BEGIN LIBTOOL TAG CONFIG: F77
# Libtool was configured on host
NWRW15
:
# Libtool was configured on host
p2d079
:
# Shell to use when invoking shell scripts.
SHELL
=
"/bin/sh"
...
...
@@ -7596,12 +7596,12 @@ fast_install=yes
# The host system.
host_alias
=
host
=
i686-redhat
-linux-gnu
host
=
x86_64-unknown
-linux-gnu
host_os
=
linux-gnu
# The build system.
build_alias
=
build
=
i686-redhat
-linux-gnu
build
=
x86_64-unknown
-linux-gnu
build_os
=
linux-gnu
# An echo program that does not interpret backslashes.
...
...
@@ -7612,7 +7612,7 @@ AR="ar"
AR_FLAGS
=
"cru"
# A C compiler.
LTCC
=
"
g
cc"
LTCC
=
"
/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpi
cc"
# LTCC compiler flags.
LTCFLAGS
=
"-g -O2"
...
...
@@ -7621,16 +7621,16 @@ LTCFLAGS="-g -O2"
CC
=
"g77"
# Is the compiler the GNU C compiler?
with_gcc
=
yes
with_gcc
=
gcc_dir
=
`
gcc
-print-file-name
=
.
| /bin/sed
's,/\.$,,'
`
gcc_dir
=
`
gcc
-print-file-name
=
.
|
/usr
/bin/sed
's,/\.$,,'
`
gcc_ver
=
`
gcc
-dumpversion
`
# An ERE matcher.
EGREP
=
"grep -E"
# The linker used to build libraries.
LD
=
"/usr/
bin/ld
"
LD
=
"/usr/
x86_64-suse-linux/bin/ld -m elf_x86_64
"
# Whether we need hard or soft links.
LN_S
=
"ln -s"
...
...
@@ -7858,10 +7858,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
"
/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"
`
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"
`
# Run-time system search path for libraries
sys_lib_dlsearch_path_spec
=
"/lib /usr/lib /usr/
lib/octave-
2.9.9 /
usr/lib/qt-3.3
/lib "
sys_lib_dlsearch_path_spec
=
"/lib
64
/usr/lib
64
/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.9
9
/
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
/lib
so
"
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path
=
""
...
...
AMDiS/src/AMDiS.h
View file @
23943fbb
...
...
@@ -66,6 +66,7 @@
#include
"Operator.h"
#include
"Parameters.h"
#include
"Parametric.h"
#include
"PartitionElementData.h"
#include
"PeriodicMap.h"
#include
"PeriodicBC.h"
#include
"Preconditioner.h"
...
...
AMDiS/src/Element.cc
View file @
23943fbb
...
...
@@ -41,6 +41,7 @@ namespace AMDiS {
newCoord
=
NULL
;
elementData
=
NULL
;
mark
=
0
;
hidden
=
false
;
if
(
mesh
)
{
setDOFPtrs
();
...
...
@@ -138,6 +139,7 @@ namespace AMDiS {
el
->
mesh
=
mesh
;
el
->
index
=
index
;
el
->
mark
=
mark
;
el
->
hidden
=
hidden
;
if
(
newCoord
)
{
WorldVector
<
double
>
*
nc
=
NEW
WorldVector
<
double
>
();
*
nc
=
*
newCoord
;
...
...
@@ -420,6 +422,9 @@ namespace AMDiS {
// write mark
out
.
write
(
reinterpret_cast
<
const
char
*>
(
&
mark
),
sizeof
(
signed
char
));
// write hidden flag
out
.
write
(
reinterpret_cast
<
const
char
*>
(
&
hidden
),
sizeof
(
hidden
));
// write newCoord
if
(
newCoord
)
{
out
<<
"WorldVector
\n
"
;
...
...
@@ -498,9 +503,12 @@ namespace AMDiS {
// read index
in
.
read
(
reinterpret_cast
<
char
*>
(
&
index
),
sizeof
(
int
));
//
write
mark
//
read
mark
in
.
read
(
reinterpret_cast
<
char
*>
(
&
mark
),
sizeof
(
signed
char
));
// read hidden
in
.
read
(
reinterpret_cast
<
char
*>
(
&
hidden
),
sizeof
(
bool
));
// read newCoord
in
>>
typeName
;
in
.
get
();
...
...
AMDiS/src/Element.h
View file @
23943fbb
...
...
@@ -81,26 +81,20 @@ namespace AMDiS {
class
Element
:
public
Serializable
{
private:
/** \brief
* private standard constructor because an Element must know his Mesh
*/
/// private standard constructor because an Element must know his Mesh
Element
()
{}
public:
/** \brief
* constructs an Element which belongs to Mesh
*/
/// constructs an Element which belongs to Mesh
Element
(
Mesh
*
);
/** \brief
* copy constructor
*/
/// copy constructor
Element
(
const
Element
&
old
);
/** \brief
* destructor
*/
/// destructor
virtual
~
Element
();
///
void
deleteElementDOFs
();
/** \brief
...
...
@@ -115,23 +109,17 @@ namespace AMDiS {
* \{
*/
/** \brief
* Returns \ref child[0]
*/
/// Returns \ref child[0]
inline
Element
*
getFirstChild
()
const
{
return
child
[
0
];
}
/** \brief
* Returns \ref child[1]
*/
/// Returns \ref child[1]
inline
Element
*
getSecondChild
()
const
{
return
child
[
1
];
}
/** \brief
* Returns \ref child[i], i=0,1
*/
/// Returns \ref child[i], i=0,1
inline
Element
*
getChild
(
int
i
)
const
{
TEST_EXIT_DBG
(
i
==
0
||
i
==
1
)(
"i must be 0 or 1
\n
"
);
return
child
[
i
];
...
...
@@ -145,30 +133,22 @@ namespace AMDiS {
return
(
child
[
0
]
==
NULL
);
}
/** \brief
* Returns \ref dof[i][j] which is the j-th DOF of the i-th node of Element.
*/
/// Returns \ref dof[i][j] which is the j-th DOF of the i-th node of Element.
const
DegreeOfFreedom
getDOF
(
int
i
,
int
j
)
const
{
return
dof
[
i
][
j
];
}
/** \brief
* Returns \ref dof[i] which is a pointer to the DOFs of the i-th node.
*/
/// Returns \ref dof[i] which is a pointer to the DOFs of the i-th node.
const
DegreeOfFreedom
*
getDOF
(
int
i
)
const
{
return
dof
[
i
];
}
/** \brief
* Returns a pointer to the DOFs of this Element
*/
/// Returns a pointer to the DOFs of this Element
const
DegreeOfFreedom
**
getDOF
()
const
{
return
const_cast
<
const
DegreeOfFreedom
**>
(
dof
);
}
/** \brief
* Returns \ref mesh of Element
*/
/// Returns \ref mesh of Element
inline
Mesh
*
getMesh
()
const
{
return
mesh
;
}
...
...
@@ -206,14 +186,10 @@ namespace AMDiS {
return
0.0
;
}
/** \brief
* Returns region of element if defined, -1 else.
*/
/// Returns region of element if defined, -1 else.
int
getRegion
()
const
;
/** \brief
* Returns local vertex number of the j-th vertex of the i-th edge
*/
/// Returns local vertex number of the j-th vertex of the i-th edge
virtual
int
getVertexOfEdge
(
int
i
,
int
j
)
const
=
0
;
/** \brief
...
...
@@ -224,24 +200,16 @@ namespace AMDiS {
int
positionIndex
,
int
vertexIndex
)
const
=
0
;
/** \brief
*
*/
///
virtual
int
getPositionOfVertex
(
int
side
,
int
vertex
)
const
=
0
;
/** \brief
*
*/
///
virtual
int
getEdgeOfFace
(
int
face
,
int
edge
)
const
=
0
;
/** \brief
* Returns the number of parts of type i in this element
*/
/// Returns the number of parts of type i in this element
virtual
int
getGeo
(
GeoIndex
i
)
const
=
0
;
/** \brief
* Returns Element's \ref mark
*/
/// Returns Element's \ref mark
inline
const
signed
char
getMark
()
const
{
return
mark
;
}
...
...
@@ -262,6 +230,16 @@ namespace AMDiS {
return
newCoord
;
}
/// Returns \ref hidden, i.e., if the element is visible for mesh traverses.
inline
bool
isHidden
()
{
return
hidden
;
}
/// Sets \ref hidden, i.e., wether the element is hidden for mesh traverses or not.
inline
void
setHidden
(
bool
b
)
{
hidden
=
b
;
}
/** \} */
// ===== setting methods ======================================================
...
...
@@ -270,23 +248,17 @@ namespace AMDiS {
* \{
*/
/** \brief
* Sets \ref child[0]
*/
/// Sets \ref child[0]
virtual
void
setFirstChild
(
Element
*
aChild
)
{
child
[
0
]
=
aChild
;
}
/** \brief
* Sets \ref child[1]
*/
/// Sets \ref child[1]
virtual
void
setSecondChild
(
Element
*
aChild
)
{
child
[
1
]
=
aChild
;
}
/** \brief
* Sets \ref elementData of Element
*/
/// Sets \ref elementData of Element
void
setElementData
(
ElementData
*
ed
)
{
elementData
=
ed
;
}
...
...
@@ -299,16 +271,12 @@ namespace AMDiS {
newCoord
=
coord
;
}
/** \brief
* Sets \ref mesh.
*/
/// Sets \ref mesh.
inline
void
setMesh
(
Mesh
*
m
)
{
mesh
=
m
;
}
/** \brief
* Sets the pointer to the DOFs of the i-th node of Element
*/
/// Sets the pointer to the DOFs of the i-th node of Element
DegreeOfFreedom
*
setDOF
(
int
pos
,
DegreeOfFreedom
*
p
)
{
dof
[
pos
]
=
p
;
return
dof
[
pos
];
...
...
@@ -350,24 +318,18 @@ namespace AMDiS {
}
}
/** \brief
* Sets Elements \ref mark = mark + 1;
*/
/// Sets Elements \ref mark = mark + 1;
inline
void
incrementMark
()
{
mark
++
;
}
/** \brief
* Sets Elements \ref mark = mark - 1;
*/
/// Sets Elements \ref mark = mark - 1;
inline
void
decrementMark
()
{
if
(
0
<
mark
)
mark
--
;
}
/** \brief
* Sets Element's \ref mark
*/
/// Sets Element's \ref mark
inline
void
setMark
(
signed
char
m
)
{
mark
=
m
;
}
...
...
@@ -409,33 +371,23 @@ namespace AMDiS {
*/
virtual
int
getVertexOfParent
(
int
childnr
,
int
vertexnr
,
int
elType
=
0
)
const
=
0
;
/** \brief
* Returns whether Element is a Line
*/
/// Returns whether Element is a Line
virtual
bool
isLine
()
const
=
0
;
/** \brief
* Returns whether Element is a Triangle
*/
/// Returns whether Element is a Triangle
virtual
bool
isTriangle
()
const
=
0
;
/** \brief
* Returns whether Element is a Tetrahedron
*/
/// Returns whether Element is a Tetrahedron
virtual
bool
isTetrahedron
()
const
=
0
;
/** \brief
* Returns whether Element has sideElem as one of its sides.
*/
/// Returns whether Element has sideElem as one of its sides.
virtual
bool
hasSide
(
Element
*
sideElem
)
const
=
0
;
/** \} */
// ===== other public methods =================================================
/** \brief
* assignment operator
*/
/// assignment operator
Element
&
operator
=
(
const
Element
&
el
);
/** \brief
...
...
@@ -444,9 +396,7 @@ namespace AMDiS {
*/
int
oppVertex
(
FixVec
<
DegreeOfFreedom
*
,
DIMEN
>
pdof
)
const
;
/** \brief
* Refines Element's leaf data
*/
/// Refines Element's leaf data
inline
void
refineElementData
(
Element
*
child1
,
Element
*
child2
,
int
elType
=
0
)
{
if
(
elementData
)
{
bool
remove
=
elementData
->
refineElementData
(
this
,
child1
,
child2
,
elType
);
...
...
@@ -458,9 +408,7 @@ namespace AMDiS {
}
}
/** \brief
* Coarsens Element's leaf data
*/
/// Coarsens Element's leaf data
inline
void
coarsenElementData
(
Element
*
child1
,
Element
*
child2
,
int
elType
=
0
)
{
ElementData
*
childData
;
childData
=
child1
->
getElementData
();
...
...
@@ -477,16 +425,12 @@ namespace AMDiS {
}
}
/** \brief
* Returns pointer to \ref elementData
*/
/// Returns pointer to \ref elementData
inline
ElementData
*
getElementData
()
const
{
return
elementData
;
}
/** \brief
*
*/
///
inline
ElementData
*
getElementData
(
int
typeID
)
const
{
if
(
elementData
)
{
return
elementData
->
getElementData
(
typeID
);
...
...
@@ -494,9 +438,7 @@ namespace AMDiS {
return
NULL
;
}
/** \brief
* Deletes the \ref elementData with a specific typeID.
*/
/// Deletes the \ref elementData with a specific typeID.
bool
deleteElementData
(
int
typeID
);
/** \brief
...
...
@@ -508,48 +450,36 @@ namespace AMDiS {
bool
isRefinedAtSide
(
int
side
,
Element
*
el1
,
Element
*
el2
,
unsigned
char
elementTyp
=
255
);
/** \brief
* Returns whether Element's \ref newCoord is set
*/
/// Returns whether Element's \ref newCoord is set
inline
bool
isNewCoordSet
()
const
{
return
(
newCoord
!=
NULL
);
}
/** \brief
* Frees memory for \ref newCoord
*/
/// Frees memory for \ref newCoord
void
eraseNewCoord
();
// ===== Serializable implementation =====
/// Serialize the element to a file.
void
serialize
(
std
::
ostream
&
out
);
/// Deserialize an element from a file.
void
deserialize
(
std
::
istream
&
in
);
int
calcMemoryUsage
();
// ===== protected methods ====================================================
protected: