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
Backofen, Rainer
amdis
Commits
8a0c0bba
Commit
8a0c0bba
authored
Jul 06, 2010
by
Thomas Witkowski
Browse files
And added reading mesh structure files.
parent
4a915c97
Changes
6
Show whitespace changes
Inline
Side-by-side
AMDiS/libtool
View file @
8a0c0bba
...
...
@@ -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
deimos103
:
# Shell to use when invoking shell scripts.
SHELL
=
"/bin/sh"
...
...
@@ -66,12 +66,12 @@ fast_install=yes
# The host system.
host_alias
=
host
=
i686-pc
-linux-gnu
host
=
x86_64-unknown
-linux-gnu
host_os
=
linux-gnu
# The build system.
build_alias
=
build
=
i686-pc
-linux-gnu
build
=
x86_64-unknown
-linux-gnu
build_os
=
linux-gnu
# An echo program that does not interpret backslashes.
...
...
@@ -97,7 +97,7 @@ with_gcc=yes
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"
...
...
@@ -325,10 +325,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
=
" /
u/witkowski/local/lib/i386-redhat
-linux/4.1.2/ /
u/witkowski
/local/lib/ /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/"
sys_lib_search_path_spec
=
" /
fastfs/wir/local/lib/x86_64-suse
-linux/4.1.2/ /
fastfs/wir
/local/lib/
../lib64/
/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/ /fastfs/wir/local/lib/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../ /lib
/ /usr/lib/"
# 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 /usr/lib/qt4/lib /usr/lib/xulrunner-1.9.2
"
sys_lib_dlsearch_path_spec
=
"/lib /usr/lib /usr/
X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso
"
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path
=
""
...
...
@@ -6760,7 +6760,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
NWRW15
:
# Libtool was configured on host
deimos103
:
# Shell to use when invoking shell scripts.
SHELL
=
"/bin/sh"
...
...
@@ -6782,12 +6782,12 @@ fast_install=yes
# The host system.
host_alias
=
host
=
i686-pc
-linux-gnu
host
=
x86_64-unknown
-linux-gnu
host_os
=
linux-gnu
# The build system.
build_alias
=
build
=
i686-pc
-linux-gnu
build
=
x86_64-unknown
-linux-gnu
build_os
=
linux-gnu
# An echo program that does not interpret backslashes.
...
...
@@ -6813,7 +6813,7 @@ with_gcc=yes
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"
...
...
@@ -6942,11 +6942,11 @@ striplib="strip --strip-unneeded"
# Dependencies to place before the objects being linked to create a
# shared library.
predep_objects
=
"/usr/lib/gcc/
i386-redhat
-linux/4.1.2/../../../crti.o /usr/lib/gcc/
i386-redhat
-linux/4.1.2/crtbeginS.o"
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"
# Dependencies to place after the objects being linked to create a
# shared library.
postdep_objects
=
"/usr/lib/gcc/
i386-redhat
-linux/4.1.2/crtendS.o /usr/lib/gcc/
i386-redhat
-linux/4.1.2/../../../crtn.o"
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"
# Dependencies to place before the objects being linked to create a
# shared library.
...
...
@@ -6958,7 +6958,7 @@ 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/u
/witkowski/local/lib
-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/../../.."
compiler_lib_search_path
=
"-L/u
sr/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/fastfs/wir/local/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib
-L/usr/lib
64
/gcc/
x86_64-suse
-linux/4.1.2/../../.."
# Method to check whether dependent libraries are shared objects.
deplibs_check_method
=
"pass_all"
...
...
@@ -7038,10 +7038,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
=
" /
u/witkowski/local/lib/i386-redhat
-linux/4.1.2/ /
u/witkowski
/local/lib/ /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/"
sys_lib_search_path_spec
=
" /
fastfs/wir/local/lib/x86_64-suse
-linux/4.1.2/ /
fastfs/wir
/local/lib/
../lib64/
/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/ /fastfs/wir/local/lib/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/lib/ /usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../ /lib
/ /usr/lib/"
# 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 /usr/lib/qt4/lib /usr/lib/xulrunner-1.9.2
"
sys_lib_dlsearch_path_spec
=
"/lib /usr/lib /usr/
X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso
"
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path
=
""
...
...
@@ -7065,7 +7065,7 @@ include_expsyms=""
# ### BEGIN LIBTOOL TAG CONFIG: F77
# Libtool was configured on host
NWRW15
:
# Libtool was configured on host
deimos103
:
# Shell to use when invoking shell scripts.
SHELL
=
"/bin/sh"
...
...
@@ -7087,12 +7087,12 @@ fast_install=yes
# The host system.
host_alias
=
host
=
i686-pc
-linux-gnu
host
=
x86_64-unknown
-linux-gnu
host_os
=
linux-gnu
# The build system.
build_alias
=
build
=
i686-pc
-linux-gnu
build
=
x86_64-unknown
-linux-gnu
build_os
=
linux-gnu
# An echo program that does not interpret backslashes.
...
...
@@ -7112,13 +7112,13 @@ LTCFLAGS="-g -O2"
CC
=
"g77"
# Is the compiler the GNU C compiler?
with_gcc
=
yes
with_gcc
=
# 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"
...
...
@@ -7346,10 +7346,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
=
" /
u/witkowski/local/lib/i386-redhat-linux/3.4.6/ /u/witkowski
/local/lib/ /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/"
sys_lib_search_path_spec
=
" /
fastfs/wir/local/lib/x86_64-suse-linux/3.3.5/ /fastfs/wir
/local/lib/ /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/"
# 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 /usr/lib/qt4/lib /usr/lib/xulrunner-1.9.2
"
sys_lib_dlsearch_path_spec
=
"/lib /usr/lib /usr/
X11R6/lib64/Xaw3d /usr/X11R6/lib64 /usr/X11R6/lib/Xaw3d /usr/X11R6/lib /usr/x86_64-suse-linux/lib /usr/local/lib64 /usr/local/lib /opt/kde3/lib64 /opt/kde3/lib /opt/gnome/lib64 /opt/gnome/lib /lib64 /lib /usr/lib64 /usr/lib /opt/cluster/intel/cce/9.1.042/lib /opt/cluster/intel/fce/9.1.036/lib /opt/cluster/Pathscale3.0/lib/2.9.99 /opt/cluster/Pathscale3.0/lib/2.9.99/32 /work/licsoft/compilers/pgi/linux86-64/6.2/lib /work/licsoft/compilers/pgi/linux86-64/6.2/libso
"
# Fix the shell variable $srcfile for the compiler.
fix_srcfile_path
=
""
...
...
AMDiS/src/Debug.cc
View file @
8a0c0bba
...
...
@@ -383,9 +383,23 @@ namespace AMDiS {
out
.
open
(
filename
.
c_str
());
DOFIterator
<
double
>
it
(
&
vec
,
USED_DOFS
);
int
counter
=
1
;
for
(
it
.
reset
();
!
it
.
end
();
++
it
)
out
<<
counter
++
<<
" "
<<
*
it
<<
"
\n
"
;
out
<<
*
it
<<
"
\n
"
;
out
.
close
();
}
void
writeMatlabVector
(
SystemVector
&
vec
,
std
::
string
filename
)
{
std
::
ofstream
out
;
out
.
open
(
filename
.
c_str
());
for
(
int
i
=
0
;
i
<
vec
.
getSize
();
i
++
)
{
DOFIterator
<
double
>
it
(
vec
.
getDOFVector
(
i
),
USED_DOFS
);
for
(
it
.
reset
();
!
it
.
end
();
++
it
)
out
<<
*
it
<<
"
\n
"
;
}
out
.
close
();
}
...
...
AMDiS/src/Debug.h
View file @
8a0c0bba
...
...
@@ -129,6 +129,8 @@ namespace AMDiS {
*/
void
writeMatlabVector
(
DOFVector
<
double
>
&
vec
,
std
::
string
filename
);
void
writeMatlabVector
(
SystemVector
&
vec
,
std
::
string
filename
);
void
writeCoordsFile
(
const
FiniteElemSpace
*
feSpace
,
std
::
string
filename
);
/** \brief
...
...
AMDiS/src/MeshStructure.cc
View file @
8a0c0bba
...
...
@@ -226,7 +226,8 @@ namespace AMDiS {
void
MeshStructure
::
fitMeshToStructure
(
Mesh
*
mesh
,
RefinementManager
*
manager
,
bool
checkPartition
,
bool
debugMode
)
bool
debugMode
,
int
macroElIndex
)
{
FUNCNAME
(
"MeshStructure::fitMeshToStructure()"
);
...
...
@@ -237,12 +238,18 @@ namespace AMDiS {
TraverseStack
stack
;
ElInfo
*
elInfo
=
stack
.
traverseFirst
(
mesh
,
-
1
,
Mesh
::
CALL_EVERY_EL_PREORDER
);
while
(
elInfo
)
{
TEST_EXIT
(
cont
)(
"unexpected structure code end!
\n
"
);
if
(
macroElIndex
>=
0
&&
elInfo
->
getMacroElement
()
->
getElement
()
->
getIndex
()
!=
macroElIndex
)
{
elInfo
=
stack
.
traverseNext
(
elInfo
);
continue
;
}
Element
*
element
=
elInfo
->
getElement
();
TEST_EXIT
(
cont
)(
"unexpected structure code end!
\n
"
);
if
(
isLeafElement
())
{
TEST_EXIT
_DBG
(
element
->
isLeaf
())(
"mesh finer than code
\n
"
);
TEST_EXIT
(
element
->
isLeaf
())(
"mesh finer than code
\n
"
);
}
if
(
element
->
isLeaf
()
&&
!
isLeafElement
())
{
...
...
@@ -281,6 +288,12 @@ namespace AMDiS {
finished
=
true
;
elInfo
=
stack
.
traverseFirst
(
mesh
,
-
1
,
Mesh
::
CALL_LEAF_EL
);
while
(
elInfo
)
{
if
(
macroElIndex
>=
0
&&
elInfo
->
getMacroElement
()
->
getElement
()
->
getIndex
()
!=
macroElIndex
)
{
elInfo
=
stack
.
traverseNext
(
elInfo
);
continue
;
}
Element
*
element
=
elInfo
->
getElement
();
if
(
element
->
getElementData
(
MESH_STRUCTURE
)
!=
NULL
)
{
element
->
setMark
(
1
);
...
...
@@ -317,7 +330,7 @@ namespace AMDiS {
elInfo
=
stack
.
traverseNext
(
elInfo
);
}
file
<<
nMacroElements
;
file
.
write
(
reinterpret_cast
<
char
*>
(
&
nMacroElements
),
sizeof
(
nMacroElements
))
;
elInfo
=
stack
.
traverseFirst
(
mesh
,
-
1
,
Mesh
::
CALL_EVERY_EL_PREORDER
);
while
(
elInfo
)
{
...
...
@@ -344,13 +357,54 @@ namespace AMDiS {
}
void
MeshStructure
::
readMeshFile
(
Mesh
*
mesh
,
RefinementManager
*
refManager
,
std
::
string
filename
)
{
FUNCNAME
(
"MeshStructure::readMeshFile()"
);
std
::
ifstream
file
;
file
.
open
(
filename
.
c_str
(),
std
::
ios
::
in
|
std
::
ios
::
binary
);
int
nMacroElements
=
-
1
;
file
.
read
(
reinterpret_cast
<
char
*>
(
&
nMacroElements
),
sizeof
(
nMacroElements
));
for
(
int
i
=
0
;
i
<
nMacroElements
;
i
++
)
{
int
macroElIndex
=
-
1
;
int
codeSize
=
0
;
code
.
clear
();
file
.
read
(
reinterpret_cast
<
char
*>
(
&
macroElIndex
),
sizeof
(
macroElIndex
));
file
.
read
(
reinterpret_cast
<
char
*>
(
&
nElements
),
sizeof
(
nElements
));
file
.
read
(
reinterpret_cast
<
char
*>
(
&
codeSize
),
sizeof
(
codeSize
));
for
(
int
j
=
0
;
j
<
codeSize
;
j
++
)
{
unsigned
long
int
readCode
=
0
;
file
.
read
(
reinterpret_cast
<
char
*>
(
&
readCode
),
sizeof
(
readCode
));
code
.
push_back
(
readCode
);
}
TEST_EXIT_DBG
(
macroElIndex
>=
0
)(
"Should not happen!
\n
"
);
reset
();
fitMeshToStructure
(
mesh
,
refManager
,
false
,
false
,
macroElIndex
);
}
file
.
close
();
}
void
MeshStructure
::
writeMacroElement
(
std
::
ofstream
&
file
,
int
macroElIndex
)
{
file
<<
macroElIndex
;
file
<<
nElements
;
file
<<
code
.
size
();
unsigned
int
size
=
code
.
size
();
file
.
write
(
reinterpret_cast
<
char
*>
(
&
macroElIndex
),
sizeof
(
macroElIndex
));
file
.
write
(
reinterpret_cast
<
char
*>
(
&
nElements
),
sizeof
(
nElements
));
file
.
write
(
reinterpret_cast
<
char
*>
(
&
size
),
sizeof
(
size
));
for
(
unsigned
int
i
=
0
;
i
<
code
.
size
();
i
++
)
file
<<
code
[
i
];
file
.
write
(
reinterpret_cast
<
char
*>
(
&
(
code
[
i
])),
sizeof
(
code
[
i
]
))
;
}
}
AMDiS/src/MeshStructure.h
View file @
8a0c0bba
...
...
@@ -101,11 +101,17 @@ namespace AMDiS {
* \param debugMode In debugMode, the whole mesh is fitted to the mesh structure
* code. Otherwise, the mesh is fitted only on the partition
* of the current process.
* \param macroElIndex If the mesh structure code represents only one macro
* element, this can be denoted here by its index. In this
* case, only the corresponding macro element will be fitted
* to the code. Otherwise, this variable is negative and the
* whole mesh will be adapted.
*/
void
fitMeshToStructure
(
Mesh
*
mesh
,
RefinementManager
*
manager
,
bool
checkPartition
=
false
,
bool
debugMode
=
false
);
bool
debugMode
=
false
,
int
macroElIndex
=
-
1
);
/// Prints the mesh structure code.
void
print
()
...
...
@@ -158,6 +164,8 @@ namespace AMDiS {
void
writeMeshFile
(
Mesh
*
mesh
,
std
::
string
filename
);
void
readMeshFile
(
Mesh
*
mesh
,
RefinementManager
*
refManager
,
std
::
string
filename
);
protected:
/// Insert a new element to the structure code. Is used by the init function.
void
insertElement
(
bool
isLeaf
);
...
...
AMDiS/src/ProblemImplicit.h
View file @
8a0c0bba
...
...
@@ -30,14 +30,16 @@ namespace AMDiS {
class
ProblemImplicitBase
{
public:
virtual
~
ProblemImplicitBase
()
{}
virtual
bool
createImplicitMesh
()
=
0
;
virtual
DOFVector
<
double
>*
getSignedDistance
(
int
im
=
0
,
int
m
=
0
)
=
0
;
virtual
DOFVector
<
double
>*
getPhi1
(
int
im
=
0
,
int
m
=
0
)
=
0
;
virtual
DOFVector
<
double
>*
getPhi2
(
int
im
=
0
,
int
m
=
0
)
=
0
;
virtual
DOFVector
<
double
>*
getLevelset
(
int
im
=
0
,
int
m
=
0
)
=
0
;
virtual
DOFVector
<
double
>*
getSignedDistance
(
int
im
=
0
,
int
m
=
0
)
=
0
;
virtual
DOFVector
<
double
>*
getPhi1
(
int
im
=
0
,
int
m
=
0
)
=
0
;
virtual
DOFVector
<
double
>*
getPhi2
(
int
im
=
0
,
int
m
=
0
)
=
0
;
virtual
DOFVector
<
double
>*
getLevelset
(
int
im
=
0
,
int
m
=
0
)
=
0
;
protected:
void
readDofVec
(
std
::
istream
&
,
DOFVector
<
double
>*
,
Mesh
*
);
void
readDofVec
(
std
::
istream
&
,
DOFVector
<
double
>*
,
Mesh
*
);
void
readR
(
std
::
istream
&
,
double
,
Mesh
*
,
int
implMesh
=
0
,
int
comp
=
0
);
void
readPhi1
(
std
::
istream
&
,
double
,
Mesh
*
,
int
implMesh
=
0
,
int
comp
=
0
);
void
readPhi2
(
std
::
istream
&
,
double
,
Mesh
*
,
int
implMesh
=
0
,
int
comp
=
0
);
...
...
@@ -77,30 +79,30 @@ namespace AMDiS {
virtual
void
createMesh
();
virtual
void
initialize
(
Flag
initFlag
,
ProblemScal
*
adoptProblem
=
NULL
,
Flag
adoptFlag
=
INIT_NOTHING
);
DOFVector
<
double
>*
getSignedDistance
(
int
im
=
0
,
int
m
=
0
);
DOFVector
<
double
>*
getPhi1
(
int
im
=
0
,
int
m
=
0
);
DOFVector
<
double
>*
getPhi2
(
int
im
=
0
,
int
m
=
0
);
DOFVector
<
double
>*
getLevelset
(
int
im
=
0
,
int
m
=
0
);
DOFVector
<
double
>*
getSignedDistance
(
int
im
=
0
,
int
m
=
0
);
DOFVector
<
double
>*
getPhi1
(
int
im
=
0
,
int
m
=
0
);
DOFVector
<
double
>*
getPhi2
(
int
im
=
0
,
int
m
=
0
);
DOFVector
<
double
>*
getLevelset
(
int
im
=
0
,
int
m
=
0
);
protected:
/// DOFVector for a signed distance
std
::
vector
<
DOFVector
<
double
>*
>
r
;
std
::
vector
<
DOFVector
<
double
>*>
r
;
/// DOFVector for the phasefield function 0.5*(1-tanh(3*r/eps))
std
::
vector
<
DOFVector
<
double
>*
>
phi1
;
std
::
vector
<
DOFVector
<
double
>*>
phi1
;
/// DOFVector for the phasefield function 0.5*(1+tanh(3*r/eps))
std
::
vector
<
DOFVector
<
double
>*
>
phi2
;
std
::
vector
<
DOFVector
<
double
>*>
phi2
;
/// DOFVector for the levelset function
/// (levelSet(x): x \in \Omega: 1, x \not \in Omega: -1, x \in \Gamma: 0)
std
::
vector
<
DOFVector
<
double
>*
>
levelSet
;
std
::
vector
<
DOFVector
<
double
>*>
levelSet
;
bool
readImplMesh
;
bool
isImplicitMesh
(
int
comp
=
0
)
{
return
readImplMesh
;
}
bool
createImplicitMesh
(
std
::
string
path
,
int
comp
);
bool
createImplicitMesh
(
std
::
string
path
,
int
comp
);
};
class
ProblemImplicitVec
:
public
ProblemVec
,
public
ProblemImplicitBase
...
...
@@ -120,27 +122,27 @@ namespace AMDiS {
virtual
bool
createImplicitMesh
();
virtual
void
initialize
(
Flag
initFlag
,
ProblemScal
*
adoptProblem
=
NULL
,
Flag
adoptFlag
=
INIT_NOTHING
);
DOFVector
<
double
>*
getSignedDistance
(
int
im
=
0
,
int
m
=
0
)
;
DOFVector
<
double
>*
getPhi1
(
int
im
=
0
,
int
m
=
0
)
;
DOFVector
<
double
>*
getPhi2
(
int
im
=
0
,
int
m
=
0
)
;
DOFVector
<
double
>*
getLevelset
(
int
im
=
0
,
int
m
=
0
)
;
DOFVector
<
double
>*
getSignedDistance
(
int
im
=
0
,
int
m
=
0
)
;
DOFVector
<
double
>*
getPhi1
(
int
im
=
0
,
int
m
=
0
)
;
DOFVector
<
double
>*
getPhi2
(
int
im
=
0
,
int
m
=
0
)
;
DOFVector
<
double
>*
getLevelset
(
int
im
=
0
,
int
m
=
0
)
;
protected:
bool
createImplicitMesh
(
int
p
);
bool
createImplicitMesh
(
std
::
string
,
int
,
int
);
/// DOFVector for a signed distance
std
::
vector
<
std
::
vector
<
DOFVector
<
double
>*
>
>
r
;
std
::
vector
<
std
::
vector
<
DOFVector
<
double
>*>
>
r
;
/// DOFVector for the phasefield function 0.5*(1-tanh(3*r/eps))
std
::
vector
<
std
::
vector
<
DOFVector
<
double
>*
>
>
phi1
;
std
::
vector
<
std
::
vector
<
DOFVector
<
double
>*>
>
phi1
;
/// DOFVector for the phasefield function 0.5*(1+tanh(3*r/eps))
std
::
vector
<
std
::
vector
<
DOFVector
<
double
>*
>
>
phi2
;
std
::
vector
<
std
::
vector
<
DOFVector
<
double
>*>
>
phi2
;
/// DOFVector for the levelset function
/// (levelSet(x): x \in \Omega: 1, x \not \in Omega: -1, x \in \Gamma: 0)
std
::
vector
<
std
::
vector
<
DOFVector
<
double
>*
>
>
levelSet
;
std
::
vector
<
std
::
vector
<
DOFVector
<
double
>*>
>
levelSet
;
std
::
vector
<
bool
>
implMesh
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment