Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Backofen, Rainer
amdis
Commits
69dadcaa
Commit
69dadcaa
authored
Mar 25, 2009
by
Thomas Witkowski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* Removed static variables
parent
23943fbb
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
167 additions
and
264 deletions
+167
-264
AMDiS/libtool
AMDiS/libtool
+35
-35
AMDiS/src/Assembler.cc
AMDiS/src/Assembler.cc
+20
-32
AMDiS/src/Assembler.h
AMDiS/src/Assembler.h
+35
-103
AMDiS/src/DOFIndexed.h
AMDiS/src/DOFIndexed.h
+7
-21
AMDiS/src/DOFMatrix.cc
AMDiS/src/DOFMatrix.cc
+16
-8
AMDiS/src/DOFMatrix.h
AMDiS/src/DOFMatrix.h
+7
-0
AMDiS/src/DOFVector.h
AMDiS/src/DOFVector.h
+7
-0
AMDiS/src/DOFVector.hh
AMDiS/src/DOFVector.hh
+16
-6
AMDiS/src/ElInfo.cc
AMDiS/src/ElInfo.cc
+0
-4
AMDiS/src/ElInfo.h
AMDiS/src/ElInfo.h
+4
-23
AMDiS/src/Operator.cc
AMDiS/src/Operator.cc
+9
-9
AMDiS/src/Operator.h
AMDiS/src/Operator.h
+4
-0
AMDiS/src/ProblemVec.cc
AMDiS/src/ProblemVec.cc
+4
-8
AMDiS/src/Traverse.cc
AMDiS/src/Traverse.cc
+2
-3
AMDiS/src/Traverse.h
AMDiS/src/Traverse.h
+1
-12
No files found.
AMDiS/libtool
View file @
69dadcaa
...
...
@@ -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
p2d079
:
# 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-redhat
-linux-gnu
host_os
=
linux-gnu
# The build system.
build_alias
=
build
=
x86_64-unknown
-linux-gnu
build
=
i686-redhat
-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/mpi
cc"
LTCC
=
"
g
cc"
# LTCC compiler flags.
LTCFLAGS
=
"-g -O2"
# A language-specific compiler.
CC
=
"
/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpi
cc"
CC
=
"
g
cc"
# 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
=
"/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/libso
"
sys_lib_dlsearch_path_spec
=
"/lib /usr/lib /usr/
lib/octave-
2.9.9 /
usr/lib/qt-3.3/lib
"
# 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
p2d079
:
# Libtool was configured on host
NWRW15
:
# Shell to use when invoking shell scripts.
SHELL
=
"/bin/sh"
...
...
@@ -7288,12 +7288,12 @@ fast_install=yes
# The host system.
host_alias
=
host
=
x86_64-unknown
-linux-gnu
host
=
i686-redhat
-linux-gnu
host_os
=
linux-gnu
# The build system.
build_alias
=
build
=
x86_64-unknown
-linux-gnu
build
=
i686-redhat
-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
=
"
/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpi
cc"
LTCC
=
"
g
cc"
# 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"
...
...
@@ -7396,7 +7396,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"
...
...
@@ -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
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"
`
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/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"
`
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.
...
...
@@ -7463,11 +7463,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/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"
`
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"
...
...
@@ -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
"
/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
=
"/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/libso
"
sys_lib_dlsearch_path_spec
=
"/lib /usr/lib /usr/
lib/octave-
2.9.9 /
usr/lib/qt-3.3/lib
"
# 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
p2d079
:
# Libtool was configured on host
NWRW15
:
# Shell to use when invoking shell scripts.
SHELL
=
"/bin/sh"
...
...
@@ -7596,12 +7596,12 @@ fast_install=yes
# The host system.
host_alias
=
host
=
x86_64-unknown
-linux-gnu
host
=
i686-redhat
-linux-gnu
host_os
=
linux-gnu
# The build system.
build_alias
=
build
=
x86_64-unknown
-linux-gnu
build
=
i686-redhat
-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
=
"
/licsoft/libraries/openmpi/1.2.6/64bit/bin/mpi
cc"
LTCC
=
"
g
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
=
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"
...
...
@@ -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
"
/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
=
"/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/libso
"
sys_lib_dlsearch_path_spec
=
"/lib /usr/lib /usr/
lib/octave-
2.9.9 /
usr/lib/qt-3.3/lib
"
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path
=
""
...
...
AMDiS/src/Assembler.cc
View file @
69dadcaa
...
...
@@ -36,17 +36,16 @@ namespace AMDiS {
{
FUNCNAME
(
"Assembler::calculateElementMatrix()"
);
if
(
remember
&&
(
(
factor
!=
1.0
)
||
(
operat
->
uhOld
))
)
{
if
(
remember
&&
(
factor
!=
1.0
||
operat
->
uhOld
))
{
rememberElMat
=
true
;
}
if
(
rememberElMat
&&
!
elementMatrix
)
elementMatrix
=
NEW
ElementMatrix
(
nRow
,
nCol
);
checkQuadratures
();
Element
*
el
=
elInfo
->
getElement
();
checkForNewTraverse
();
checkQuadratures
();
if
((
el
!=
lastMatEl
&&
el
!=
lastVecEl
)
||
!
operat
->
isOptimized
())
{
initElement
(
elInfo
);
...
...
@@ -98,9 +97,7 @@ namespace AMDiS {
elementMatrix
=
NEW
ElementMatrix
(
nRow
,
nCol
);
Element
*
el
=
smallElInfo
->
getElement
();
// checkForNewTraverse();
lastVecEl
=
lastMatEl
=
NULL
;
checkQuadratures
();
...
...
@@ -123,31 +120,19 @@ namespace AMDiS {
ElementMatrix
*
mat
=
rememberElMat
?
elementMatrix
:
userMat
;
if
(
smallElInfo
->
getLevel
()
==
largeElInfo
->
getLevel
())
{
if
(
secondOrderAssembler
)
secondOrderAssembler
->
calculateElementMatrix
(
smallElInfo
,
mat
);
if
(
firstOrderAssemblerGrdPsi
)
firstOrderAssemblerGrdPsi
->
calculateElementMatrix
(
smallElInfo
,
mat
);
if
(
firstOrderAssemblerGrdPhi
)
firstOrderAssemblerGrdPhi
->
calculateElementMatrix
(
smallElInfo
,
mat
);
if
(
zeroOrderAssembler
)
zeroOrderAssembler
->
calculateElementMatrix
(
smallElInfo
,
mat
);
}
else
{
if
(
secondOrderAssembler
)
secondOrderAssembler
->
calculateElementMatrix
(
rowElInfo
,
colElInfo
,
smallElInfo
,
largeElInfo
,
mat
);
if
(
firstOrderAssemblerGrdPsi
)
firstOrderAssemblerGrdPsi
->
calculateElementMatrix
(
rowElInfo
,
colElInfo
,
smallElInfo
,
largeElInfo
,
mat
);
if
(
firstOrderAssemblerGrdPhi
)
firstOrderAssemblerGrdPhi
->
calculateElementMatrix
(
rowElInfo
,
colElInfo
,
smallElInfo
,
largeElInfo
,
mat
);
if
(
zeroOrderAssembler
)
zeroOrderAssembler
->
calculateElementMatrix
(
rowElInfo
,
colElInfo
,
if
(
secondOrderAssembler
)
secondOrderAssembler
->
calculateElementMatrix
(
rowElInfo
,
colElInfo
,
smallElInfo
,
largeElInfo
,
mat
);
if
(
firstOrderAssemblerGrdPsi
)
firstOrderAssemblerGrdPsi
->
calculateElementMatrix
(
rowElInfo
,
colElInfo
,
smallElInfo
,
largeElInfo
,
mat
);
if
(
firstOrderAssemblerGrdPhi
)
firstOrderAssemblerGrdPhi
->
calculateElementMatrix
(
rowElInfo
,
colElInfo
,
smallElInfo
,
largeElInfo
,
mat
);
if
(
zeroOrderAssembler
)
zeroOrderAssembler
->
calculateElementMatrix
(
rowElInfo
,
colElInfo
,
smallElInfo
,
largeElInfo
,
mat
);
}
if
(
rememberElMat
&&
userMat
)
{
axpy
(
factor
,
*
elementMatrix
,
*
userMat
);
}
...
...
@@ -168,7 +153,6 @@ namespace AMDiS {
}
Element
*
el
=
elInfo
->
getElement
();
checkForNewTraverse
();
checkQuadratures
();
if
((
el
!=
lastMatEl
&&
el
!=
lastVecEl
)
||
!
operat
->
isOptimized
())
{
...
...
@@ -223,7 +207,6 @@ namespace AMDiS {
}
Element
*
el
=
mainElInfo
->
getElement
();
// checkForNewTraverse();
checkQuadratures
();
if
((
el
!=
lastMatEl
&&
el
!=
lastVecEl
)
||
!
operat
->
isOptimized
())
{
...
...
@@ -485,4 +468,9 @@ namespace AMDiS {
}
}
void
Assembler
::
finishAssembling
()
{
lastVecEl
=
NULL
;
lastMatEl
=
NULL
;
}
}
AMDiS/src/Assembler.h
View file @
69dadcaa
...
...
@@ -60,9 +60,7 @@ namespace AMDiS {
public:
MEMORY_MANAGED
(
Assembler
);
/** \brief
* Constructor.
*/
/// Constructor.
Assembler
(
Operator
*
op
,
const
FiniteElemSpace
*
rowFESpace
,
const
FiniteElemSpace
*
colFESpace
=
NULL
);
...
...
@@ -77,9 +75,7 @@ namespace AMDiS {
void
initElementVector
(
ElementVector
*
elVec
,
const
ElInfo
*
elInfo
);
/** \brief
* Assembles the element matrix for the given ElInfo
*/
/// Assembles the element matrix for the given ElInfo
void
calculateElementMatrix
(
const
ElInfo
*
elInfo
,
ElementMatrix
*
userMat
,
double
factor
=
1.0
);
...
...
@@ -91,9 +87,7 @@ namespace AMDiS {
ElementMatrix
*
userMat
,
double
factor
=
1.0
);
/** \brief
* Assembles the element vector for the given ElInfo
*/
/// Assembles the element vector for the given ElInfo
void
calculateElementVector
(
const
ElInfo
*
elInfo
,
ElementVector
*
userVec
,
double
factor
=
1.0
);
...
...
@@ -106,51 +100,37 @@ namespace AMDiS {
ElementVector
*
userVec
,
double
factor
=
1.0
);
/** \brief
* Returns \ref rowFESpace.
*/
/// Returns \ref rowFESpace.
inline
const
FiniteElemSpace
*
getRowFESpace
()
{
return
rowFESpace
;
}
/** \brief
* Returns \ref colFESpace.
*/
/// Returns \ref colFESpace.
inline
const
FiniteElemSpace
*
getColFESpace
()
{
return
colFESpace
;
}
/** \brief
* Returns \ref nRow.
*/
/// Returns \ref nRow.
inline
int
getNRow
()
{
return
nRow
;
}
/** \brief
* Returns \ref nCol.
*/
/// Returns \ref nCol.
inline
int
getNCol
()
{
return
nCol
;
}
/** \brief
* Sets \ref rememberElMat.
*/
/// Sets \ref rememberElMat.
inline
void
rememberElementMatrix
(
bool
rem
)
{
rememberElMat
=
rem
;
}
/** \brief
* Sets \ref rememberElVec.
*/
/// Sets \ref rememberElVec.
inline
void
rememberElementVector
(
bool
rem
)
{
rememberElVec
=
rem
;
}
/** \brief
* Returns \ref zeroOrderAssembler.
*/
/// Returns \ref zeroOrderAssembler.
inline
ZeroOrderAssembler
*
getZeroOrderAssembler
()
{
return
zeroOrderAssembler
;
}
...
...
@@ -166,31 +146,22 @@ namespace AMDiS {
firstOrderAssemblerGrdPhi
;
}
/** \brief
* Returns \ref secondOrderAssembler.
*/
/// Returns \ref secondOrderAssembler.
inline
SecondOrderAssembler
*
getSecondOrderAssembler
()
{
return
secondOrderAssembler
;
}
/** \brief
* Returns \ref operat;
*/
/// Returns \ref operat;
inline
Operator
*
getOperator
()
{
return
operat
;
}
/** \brief
* Initialisation for the given ElInfo. The call is deligated to
* the sub assemblers.
*/
/// Initialisation for the given ElInfo. The call is deligated to the sub assemblers.
void
initElement
(
const
ElInfo
*
smallElInfo
,
const
ElInfo
*
largeElInfo
=
NULL
,
Quadrature
*
quad
=
NULL
);
/** \brief
* Sets quadratures of all sub assemblers.
*/
/// Sets quadratures of all sub assemblers.
void
setQuadratures
(
Quadrature
*
quad2
,
Quadrature
*
quad1GrdPsi
,
Quadrature
*
quad1GrdPhi
,
...
...
@@ -216,7 +187,10 @@ namespace AMDiS {
(
"quadrature already existing
\n
"
);
zeroOrderAssembler
->
setQuadrature
(
quad0
);
}
};
}
/// That function must be called after one assembling cycle has been finished.
void
finishAssembling
();
protected:
/** \brief
...
...
@@ -230,14 +204,6 @@ namespace AMDiS {
const
ElInfo
*
smallElInfo
,
const
ElInfo
*
largeElInfo
,
ElementVector
*
vec
);
/// Checks whether this is a new travese.
inline
void
checkForNewTraverse
()
{
if
(
lastTraverseId
!=
ElInfo
::
traverseId
[
omp_get_thread_num
()])
{
lastVecEl
=
lastMatEl
=
NULL
;
lastTraverseId
=
ElInfo
::
traverseId
[
omp_get_thread_num
()];
}
}
/** \brief
* Checks whether quadratures for sub assemblers are already set.
* If not they will be created.
...
...
@@ -245,74 +211,46 @@ namespace AMDiS {
void
checkQuadratures
();
protected:
/** \brief
* Operator this Assembler belongs to.
*/
/// Operator this Assembler belongs to.
Operator
*
operat
;
/** \brief
* Row FiniteElemSpace.
*/
/// Row FiniteElemSpace.
const
FiniteElemSpace
*
rowFESpace
;
/** \brief
* Column FiniteElemSpace.
*/
/// Column FiniteElemSpace.
const
FiniteElemSpace
*
colFESpace
;
/** \brief
* Number of rows.
*/
/// Number of rows.
int
nRow
;
/** \brief
* Number of columns.
*/
/// Number of columns.
int
nCol
;
/** \brief
* SubAssembler for the second order terms
*/
/// SubAssembler for the second order terms
SecondOrderAssembler
*
secondOrderAssembler
;
/** \brief
* SubAssembler for the first order terms (grdPsi)
*/
/// SubAssembler for the first order terms (grdPsi)
FirstOrderAssembler
*
firstOrderAssemblerGrdPsi
;
/** \brief
* SubAssembler for the first order terms (grdPhi)
*/
/// SubAssembler for the first order terms (grdPhi)
FirstOrderAssembler
*
firstOrderAssemblerGrdPhi
;
/** \brief
* SubAssembler for the zero order terms
*/
/// SubAssembler for the zero order terms
ZeroOrderAssembler
*
zeroOrderAssembler
;
/** \brief
*
*/
///
bool
remember
;
/** \brief
* Determines whether the element matrix should be stored locally.
*/
/// Determines whether the element matrix should be stored locally.
bool
rememberElMat
;
/** \brief
* Determines whether the element vector should be stored locally.
*/
/// Determines whether the element vector should be stored locally.
bool
rememberElVec
;
/** \brief
* locally stored element matrix
*/
/// Locally stored element matrix
ElementMatrix
*
elementMatrix
;
/** \brief
* locally stored element vector
*/
/// Locally stored element vector
ElementVector
*
elementVector
;
/** \brief
...
...
@@ -327,9 +265,7 @@ namespace AMDiS {
*/
Element
*
lastVecEl
;
/** \brief
* Used to check for new traverse.
*/
/// Used to check for new traverse.
int
lastTraverseId
;
friend
class
SubAssembler
;
...
...
@@ -353,9 +289,7 @@ namespace AMDiS {
public:
MEMORY_MANAGED
(
StandardAssembler
);
/** \brief
* Constructor.
*/
/// Constructor
StandardAssembler
(
Operator
*
op
,
Quadrature
*
quad2
,
Quadrature
*
quad1GrdPsi
,
...
...
@@ -380,9 +314,7 @@ namespace AMDiS {
public:
MEMORY_MANAGED
(
OptimizedAssembler
);
/** \brief
* Constructor.
*/
/// Constructor
OptimizedAssembler
(
Operator
*
op
,
Quadrature
*
quad2
,
Quadrature
*
quad1GrdPsi
,
...
...
AMDiS/src/DOFIndexed.h
View file @
69dadcaa
...
...
@@ -50,19 +50,13 @@ namespace AMDiS {
public:
virtual
~
DOFIndexedBase
()
{}
/** \brief
* Returns the actual size. Must be overriden by sub classes
*/
/// Returns the actual size. Must be overriden by sub classes
virtual
int
getSize
()
const
=
0
;
/** \brief
* Resizes the object to size. Must be overriden by sub classes
*/
/// Resizes the object to size. Must be overriden by sub classes
virtual
void
resize
(
int
size
)
=
0
;
/** \brief
* Used by DOFAdmin::compress. Must be overriden by sub classes
*/
/// Used by DOFAdmin::compress. Must be overriden by sub classes
virtual
void
compressDOFIndexed
(
int
first
,
int
last
,
std
::
vector
<
DegreeOfFreedom
>
&
newDOF