Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Aland, Sebastian
amdis
Commits
b49c9c79
Commit
b49c9c79
authored
Jan 04, 2010
by
Thomas Witkowski
Browse files
Bugfix in SurfaceQuadrature.
parent
a9ca5edc
Changes
4
Hide whitespace changes
Inline
Side-by-side
AMDiS/libtool
View file @
b49c9c79
...
...
@@ -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,22 +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
=
.
| /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"
...
...
@@ -171,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"
...
...
@@ -229,11 +232,11 @@ striplib="strip --strip-unneeded"
# Dependencies to place before the objects being linked to create a
# shared library.
predep_objects
=
""
predep_objects
=
`
echo
""
|
$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
=
""
postdep_objects
=
`
echo
""
|
$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.
...
...
@@ -245,7 +248,7 @@ postdeps=""
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path
=
""
compiler_lib_search_path
=
`
echo
""
|
$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"
...
...
@@ -325,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
=
" /usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/ /usr/lib/gcc/
x86_64-suse
-linux/4.1.2/ /usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../../../
x86_64-suse-linux/lib/x86_64-suse
-linux/4.1.2/ /usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../../../
x86_64-suse
-linux/lib/
../lib64/
/usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../../
x86_64-suse
-linux/4.1.2/ /usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../../
..
/lib
64/ /lib/x86_64-suse
-linux/4.1.2/ /lib/
../lib64/
/usr/lib/
x86_64-suse
-linux/4.1.2/ /usr/lib/
../lib64/ /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/../../../ /lib/ /usr/lib/"
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 /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/Pathscale
3.
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
"
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
=
""
...
...
@@ -6760,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"
...
...
@@ -6782,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.
...
...
@@ -6798,22 +6801,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
=
.
| /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"
...
...
@@ -6887,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"
...
...
@@ -6942,11 +6948,11 @@ striplib="strip --strip-unneeded"
# Dependencies to place before the objects being linked to create a
# shared library.
predep_objects
=
"/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"
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
=
"/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"
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.
...
...
@@ -6954,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
=
"-L/usr/lib64 -L/licsoft/libraries/openmpi/1.2.6/64bit/lib
-L/usr/lib
64
/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/../../.."
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"
...
...
@@ -7038,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
=
" /usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/ /usr/lib/gcc/
x86_64-suse
-linux/4.1.2/ /usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../../../
x86_64-suse-linux/lib/x86_64-suse
-linux/4.1.2/ /usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../../../
x86_64-suse
-linux/lib/
../lib64/
/usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../../
x86_64-suse
-linux/4.1.2/ /usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../../
..
/lib
64/ /lib/x86_64-suse
-linux/4.1.2/ /lib/
../lib64/
/usr/lib/
x86_64-suse
-linux/4.1.2/ /usr/lib/
../lib64/ /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/../../../ /lib/ /usr/lib/"
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 /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/Pathscale
3.
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
"
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
=
""
...
...
@@ -7065,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"
...
...
@@ -7087,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.
...
...
@@ -7103,7 +7109,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"
...
...
@@ -7112,13 +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
=
.
| /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"
...
...
@@ -7250,11 +7259,11 @@ striplib="strip --strip-unneeded"
# Dependencies to place before the objects being linked to create a
# shared library.
predep_objects
=
""
predep_objects
=
`
echo
""
|
$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
=
""
postdep_objects
=
`
echo
""
|
$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.
...
...
@@ -7266,7 +7275,7 @@ postdeps=""
# The library search path used internally by the compiler when linking
# a shared library.
compiler_lib_search_path
=
""
compiler_lib_search_path
=
`
echo
""
|
$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"
...
...
@@ -7346,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
=
" /usr/lib
64
/gcc
-lib/x86_64-suse
-linux/3.
3.5
/ /usr/lib/gcc/
x86_64-suse
-linux/3.
3.5
/ /usr/lib
64
/gcc
-lib/x86_64-suse
-linux/3.
3.5
/../../../../
x86_64-suse-linux/lib/x86_64-suse
-linux/3.
3.5
/ /usr/lib
64
/gcc
-lib/x86_64-suse
-linux/3.
3.5
/../../../../
x86_64-suse
-linux/lib/ /usr/lib
64
/gcc
-lib/x86_64-suse
-linux/3.
3.5
/../../../
x86_64-suse
-linux/3.
3.5
/ /usr/lib
64
/gcc
-lib/x86_64-suse
-linux/3.
3.5
/../../../ /lib/
x86_64-suse
-linux/3.
3.5
/ /lib/ /usr/lib/
x86_64-suse
-linux/3.
3.5
/ /usr/lib/"
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 /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/Pathscale
3.
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
"
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
=
""
...
...
AMDiS/src/RobinBC.cc
View file @
b49c9c79
...
...
@@ -17,54 +17,46 @@ namespace AMDiS {
:
BoundaryCondition
(
type
,
rowFESpace_
,
colFESpace_
),
neumannOperators
(
NULL
),
robinOperators
(
NULL
)
//matrix(dofMatrix)
{
int
i
,
k
,
dim
=
rowFESpace
->
getMesh
()
->
getDim
();
int
dim
=
rowFESpace
->
getMesh
()
->
getDim
();
// create barycentric coords for each vertex of each side
const
Element
*
refElement
=
Global
::
getReferenceElement
(
dim
);
coords
=
new
VectorOfFixVecs
<
DimVec
<
double
>
>*
[
dim
+
1
];
// for all element sides
for
(
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
coords
[
i
]
=
new
VectorOfFixVecs
<
DimVec
<
double
>
>
(
dim
,
dim
,
DEFAULT_VALUE
,
DimVec
<
double
>
(
dim
,
DEFAULT_VALUE
,
0.0
));
for
(
int
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
coords
[
i
]
=
new
VectorOfFixVecs
<
DimVec
<
double
>
>
(
dim
,
dim
,
DEFAULT_VALUE
,
DimVec
<
double
>
(
dim
,
DEFAULT_VALUE
,
0.0
));
// for each vertex of the side
for
(
k
=
0
;
k
<
dim
;
k
++
)
{
int
index
=
refElement
->
getVertexOfPosition
(
INDEX_OF_DIM
(
dim
-
1
,
dim
),
i
,
k
);
for
(
int
k
=
0
;
k
<
dim
;
k
++
)
{
int
index
=
refElement
->
getVertexOfPosition
(
INDEX_OF_DIM
(
dim
-
1
,
dim
),
i
,
k
);
(
*
coords
[
i
])[
k
][
index
]
=
1.0
;
}
}
if
(
j
)
{
if
(
j
)
{
Operator
*
jOp
=
new
Operator
(
Operator
::
VECTOR_OPERATOR
,
rowFESpace
);
jOp
->
addZeroOrderTerm
(
new
CoordsAtQP_ZOT
(
j
));
neumannOperators
=
new
DimVec
<
SurfaceOperator
*>
(
dim
,
NO_INIT
);
for
(
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
for
(
i
nt
i
=
0
;
i
<
dim
+
1
;
i
++
)
(
*
neumannOperators
)[
i
]
=
new
SurfaceOperator
(
jOp
,
*
coords
[
i
]);
}
delete
jOp
;
}
if
(
alpha
)
{
Operator
*
alphaOp
=
new
Operator
(
Operator
::
MATRIX_OPERATOR
,
rowFESpace
,
colFESpace
);
if
(
alpha
)
{
Operator
*
alphaOp
=
new
Operator
(
Operator
::
MATRIX_OPERATOR
,
rowFESpace
,
colFESpace
);
alphaOp
->
addZeroOrderTerm
(
new
CoordsAtQP_ZOT
(
alpha
));
robinOperators
=
new
DimVec
<
SurfaceOperator
*>
(
dim
,
NO_INIT
);
for
(
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
for
(
i
nt
i
=
0
;
i
<
dim
+
1
;
i
++
)
(
*
robinOperators
)[
i
]
=
new
SurfaceOperator
(
alphaOp
,
*
coords
[
i
]);
}
delete
alphaOp
;
}
}
...
...
@@ -77,54 +69,46 @@ namespace AMDiS {
:
BoundaryCondition
(
type
,
rowFESpace_
,
colFESpace_
),
neumannOperators
(
NULL
),
robinOperators
(
NULL
)
//matrix(dofMatrix)
{
int
i
,
k
,
dim
=
rowFESpace
->
getMesh
()
->
getDim
();
int
dim
=
rowFESpace
->
getMesh
()
->
getDim
();
// create barycentric coords for each vertex of each side
const
Element
*
refElement
=
Global
::
getReferenceElement
(
dim
);
coords
=
new
VectorOfFixVecs
<
DimVec
<
double
>
>*
[
dim
+
1
];
// for all element sides
for
(
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
coords
[
i
]
=
new
VectorOfFixVecs
<
DimVec
<
double
>
>
(
dim
,
dim
,
DEFAULT_VALUE
,
DimVec
<
double
>
(
dim
,
DEFAULT_VALUE
,
0.0
)
);
for
(
int
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
coords
[
i
]
=
new
VectorOfFixVecs
<
DimVec
<
double
>
>
(
dim
,
dim
,
DEFAULT_VALUE
,
DimVec
<
double
>
(
dim
,
DEFAULT_VALUE
,
0.0
)
);
// for each vertex of the side
for
(
k
=
0
;
k
<
dim
;
k
++
)
{
int
index
=
refElement
->
getVertexOfPosition
(
INDEX_OF_DIM
(
dim
-
1
,
dim
),
i
,
k
);
for
(
int
k
=
0
;
k
<
dim
;
k
++
)
{
int
index
=
refElement
->
getVertexOfPosition
(
INDEX_OF_DIM
(
dim
-
1
,
dim
),
i
,
k
);
(
*
coords
[
i
])[
k
][
index
]
=
1.0
;
}
}
if
(
j
)
{
if
(
j
)
{
Operator
*
jOp
=
new
Operator
(
Operator
::
VECTOR_OPERATOR
,
rowFESpace
);
jOp
->
addZeroOrderTerm
(
new
VecAtQP_ZOT
(
j
,
NULL
));
neumannOperators
=
new
DimVec
<
SurfaceOperator
*>
(
dim
,
NO_INIT
);
for
(
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
(
*
neumannOperators
)[
i
]
=
new
SurfaceOperator
(
jOp
,
*
coords
[
i
]);
}
for
(
int
i
=
0
;
i
<
dim
+
1
;
i
++
)
(
*
neumannOperators
)[
i
]
=
new
SurfaceOperator
(
jOp
,
*
coords
[
i
]);
delete
jOp
;
}
if
(
alpha
)
{
Operator
*
alphaOp
=
new
Operator
(
Operator
::
MATRIX_OPERATOR
,
rowFESpace
,
colFESpace
);
if
(
alpha
)
{
Operator
*
alphaOp
=
new
Operator
(
Operator
::
MATRIX_OPERATOR
,
rowFESpace
,
colFESpace
);
alphaOp
->
addZeroOrderTerm
(
new
VecAtQP_ZOT
(
alpha
,
NULL
));
robinOperators
=
new
DimVec
<
SurfaceOperator
*>
(
dim
,
NO_INIT
);
for
(
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
(
*
robinOperators
)[
i
]
=
new
SurfaceOperator
(
alphaOp
,
*
coords
[
i
]);
}
for
(
int
i
=
0
;
i
<
dim
+
1
;
i
++
)
(
*
robinOperators
)[
i
]
=
new
SurfaceOperator
(
alphaOp
,
*
coords
[
i
]);
delete
alphaOp
;
}
...
...
@@ -137,28 +121,22 @@ namespace AMDiS {
:
BoundaryCondition
(
type
,
rowFESpace_
,
colFESpace_
),
neumannOperators
(
NULL
),
robinOperators
(
NULL
)
//matrix(dofMatrix)
{
int
i
,
k
,
dim
=
rowFESpace
->
getMesh
()
->
getDim
();
int
dim
=
rowFESpace
->
getMesh
()
->
getDim
();
// create barycentric coords for each vertex of each side
const
Element
*
refElement
=
Global
::
getReferenceElement
(
dim
);
coords
=
new
VectorOfFixVecs
<
DimVec
<
double
>
>*
[
dim
+
1
];
// for all element sides
for
(
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
coords
[
i
]
=
new
VectorOfFixVecs
<
DimVec
<
double
>
>
(
dim
,
dim
,
DEFAULT_VALUE
,
DimVec
<
double
>
(
dim
,
DEFAULT_VALUE
,
0.0
));
for
(
int
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
coords
[
i
]
=
new
VectorOfFixVecs
<
DimVec
<
double
>
>
(
dim
,
dim
,
DEFAULT_VALUE
,
DimVec
<
double
>
(
dim
,
DEFAULT_VALUE
,
0.0
));
// for each vertex of the side
for
(
k
=
0
;
k
<
dim
;
k
++
)
{
int
index
=
refElement
->
getVertexOfPosition
(
INDEX_OF_DIM
(
dim
-
1
,
dim
),
i
,
k
);
for
(
int
k
=
0
;
k
<
dim
;
k
++
)
{
int
index
=
refElement
->
getVertexOfPosition
(
INDEX_OF_DIM
(
dim
-
1
,
dim
),
i
,
k
);
(
*
coords
[
i
])[
k
][
index
]
=
1.0
;
}
}
...
...
@@ -166,10 +144,10 @@ namespace AMDiS {
neumannOperators
=
new
DimVec
<
SurfaceOperator
*>
(
dim
,
NO_INIT
);
robinOperators
=
new
DimVec
<
SurfaceOperator
*>
(
dim
,
NO_INIT
);
for
(
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
if
(
jOp
)
for
(
i
nt
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
if
(
jOp
)
(
*
neumannOperators
)[
i
]
=
new
SurfaceOperator
(
jOp
,
*
coords
[
i
]);
if
(
alphaOp
)
if
(
alphaOp
)
(
*
robinOperators
)[
i
]
=
new
SurfaceOperator
(
alphaOp
,
*
coords
[
i
]);
}
}
...
...
@@ -200,14 +178,12 @@ namespace AMDiS {
const
BoundaryType
*
localBound
,
int
nBasFcts
)
{
int
dim
=
elInfo
->
getMesh
()
->
getDim
();
if
(
robinOperators
)
{
for
(
int
i
=
0
;
i
<
dim
+
1
;
i
++
)
{
if
(
elInfo
->
getBoundary
(
i
)
==
boundaryType
)
{
int
dim
=
elInfo
->
getMesh
()
->
getDim
();
for
(
int
i
=
0
;
i
<
dim
+
1
;
i
++
)
if
(
elInfo
->
getBoundary
(
i
)
==
boundaryType
)
matrix
->
assemble
(
-
1.0
,
elInfo
,
localBound
,
(
*
robinOperators
)[
i
]);
}
}
}
}
...
...
@@ -216,24 +192,18 @@ namespace AMDiS {
const
DOFVectorBase
<
double
>
*
dv
)
{
FUNCNAME
(
"RobinBC::fillBoundaryCondition()"
);
TEST_EXIT
(
matrix
->
getRowFESpace
()
==
rowFESpace
)
(
"invalid row fe space
\n
"
);
TEST_EXIT
(
matrix
->
getColFESpace
()
==
colFESpace
)
(
"invalid col fe space
\n
"
);
TEST_EXIT
(
matrix
->
getRowFESpace
()
==
rowFESpace
)(
"invalid row fe space
\n
"
);
TEST_EXIT
(
matrix
->
getColFESpace
()
==
colFESpace
)(
"invalid col fe space
\n
"
);
int
dim
=
elInfo
->
getMesh
()
->
getDim
();
int
iq
;
DimVec
<
double
>
lambda
(
dim
,
NO_INIT
);
double
n_A_grdUh
,
val
=
0.0
;
WorldVector
<
double
>
normal
;
const
DimVec
<
WorldVector
<
double
>
>
&
Lambda
=
elInfo
->
getGrdLambda
();
double
det
=
elInfo
->
getDet
();
int
numPoints
;
bool
neumannQuad
=
false
;
const
BasisFunction
*
basFcts
=
dv
->
getFESpace
()
->
getBasisFcts
();
TEST_EXIT
(
basFcts
==
rowFESpace
->
getBasisFcts
())(
"invalid basFcts
\n
"
);
...
...
@@ -245,14 +215,14 @@ namespace AMDiS {
TEST_EXIT
(
neumannOperators
||
robinOperators
)
(
"neither neumann nor robin operators set!
\n
"
);
if
(
!
robinOperators
)
if
(
!
robinOperators
)
{
neumannQuad
=
true
;
else
{
if
(
neumannOperators
)
{
if
((
*
neumannOperators
)[
0
]
->
getAssembler
(
omp_get_thread_num
())
->
getZeroOrderAssembler
()
->
getQuadrature
()
->
getNumPoints
()
>
(
*
robinOperators
)[
0
]
->
getAssembler
(
omp_get_thread_num
())
->
getZeroOrderAssembler
()
->
getQuadrature
()
->
getNumPoints
())
}
else
{
if
(
neumannOperators
)
{
if
((
*
neumannOperators
)[
0
]
->
getAssembler
(
omp_get_thread_num
())
->
getZeroOrderAssembler
()
->
getQuadrature
()
->
getNumPoints
()
>
(
*
robinOperators
)[
0
]
->
getAssembler
(
omp_get_thread_num
())
->
getZeroOrderAssembler
()
->
getQuadrature
()
->
getNumPoints
())
{
neumannQuad
=
true
;
}
...
...
@@ -260,15 +230,14 @@ namespace AMDiS {
}
Quadrature
*
quadrature
=
NULL
;
int
face
;
std
::
vector
<
Operator
*>::
iterator
op
;
for
(
op
=
matrix
->
getOperatorsBegin
();
op
!=
matrix
->
getOperatorsEnd
();
++
op
)
{
for
(
op
=
matrix
->
getOperatorsBegin
();
op
!=
matrix
->
getOperatorsEnd
();
++
op
)
{
(
*
op
)
->
getAssembler
(
omp_get_thread_num
())
->
initElement
(
elInfo
);
}
for
(
face
=
0
;
face
<
dim
+
1
;
face
++
)
{
for
(
face
=
0
;
face
<
dim
+
1
;
face
++
)
{
elInfo
->
getNormal
(
face
,
normal
);
...
...
@@ -281,12 +250,10 @@ namespace AMDiS {
numPoints
=
quadrature
->
getNumPoints
();
if
(
elInfo
->
getBoundary
(
face
)
==
boundaryType
)
{
if
(
elInfo
->
getBoundary
(
face
)
==
boundaryType
)
{
(
*
neumannOperators
)[
face
]
->
getAssembler
(
omp_get_thread_num
())
->
getZeroOrderAssembler
()
->
initElement
(
elInfo
);
//const double *uhAtQp = quadrature->uhAtQp(basFcts, uhEl, NULL);
const
double
*
uhAtQp
=
dv
->
getVecAtQPs
(
elInfo
,
quadrature
,
NULL
,
...
...
@@ -294,15 +261,14 @@ namespace AMDiS {
std
::
vector
<
double
>
f
(
numPoints
,
0.0
);
if
(
robinOperators
)
{
if
(
robinOperators
)
(
*
robinOperators
)[
face
]
->
evalZeroOrder
(
numPoints
,
uhAtQp
,
NULL
,
NULL
,
&
f
[
0
],
1.0
);
}
WorldVector
<
double
>
*
grdUh
=
new
WorldVector
<
double
>
[
numPoints
];
WorldVector
<
double
>
*
A_grdUh
=
new
WorldVector
<
double
>
[
numPoints
];
...
...
@@ -312,7 +278,7 @@ namespace AMDiS {
basFcts
->
evalGrdUh
(
lambda
,
Lambda
,
uhEl
,
&
grdUh
[
iq
]);
}
for
(
op
=
matrix
->
getOperatorsBegin
();
op
!=
matrix
->
getOperatorsEnd
();
++
op
)
{
for
(
op
=
matrix
->
getOperatorsBegin
();
op
!=
matrix
->
getOperatorsEnd
();
++
op
)
{
(
*
op
)
->
weakEvalSecondOrder
(
numPoints
,
grdUh
,
A_grdUh
);
...
...
AMDiS/src/SurfaceOperator.h
View file @
b49c9c79
...
...
@@ -64,30 +64,26 @@ namespace AMDiS {
// create surface quadratures
if
(
secondOrder
[
myRank
].
size
()
>
0
)
{
degree
=
getQuadratureDegree
(
2
);
// quad2 = SurfaceQuadrature::provideSurfaceQuadrature(dim, degree, coords);
quad2
=
new
SurfaceQuadrature
(
Quadrature
::
provideQuadrature
(
dim
-
1
,
degree
),
coords
);