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
93d0049e
Commit
93d0049e
authored
Nov 24, 2010
by
Naumann, Andreas
Browse files
providing petsc directly now, dont know, if it works on deimos
parent
4e04364c
Changes
4
Hide whitespace changes
Inline
Side-by-side
AMDiS/AMDiSConfig.cmake.in
View file @
93d0049e
#This configuration file is shipped with the great FEM-Toolbox AMDiS.
#It simplifies the configure of different amdis-version and sets some variables.
#We set the following variables:
# AMDiS_INCLUDE_DIR the amdis-directory only
# AMDiS_INCLUDE_DIRS all include directories (mtl, umfpack, parmetis, metis, ...)
# AMDiS_LIBRARIES the needed libraries
# AMDiS_LIBRARY_DIRS the link directories
# AMDiS_COMPILEFLAGS some compile flags for amdis
#
#
# For a fast start, you use this package in the following way
# simply look for it, possibly set the AMDiS directory
# find_package(AMDiS )
# include(${AMDiS_USE_FILE})
# add_executable(yourTarget <yourSources>)
# target_link_libraries(yourTarget ${AMDiS_LIBRARIES})
#
#
#The AMDiS_USE_FILE adds the include and link-directories for amdis to cmake.
#
#If you use the parallel amdis-version, the AMDiS_USE_FILE also trys to detect
#the mpi and petsc configuration. If those versions don't fit your needs,
#you can change the corresponding directories, or simply do this work at your own
#and omit the AMDiS_USE_FILE. Then you also have to set the flags, include
#and library directories.
#try to detect the AMDiS include directory
#try to detect the AMDiS include directory
find_file(_AMDiS_H AMDiS.h PATHS ${AMDiS_INCLUDE_DIR} ${AMDiS_DIR}/../../include/amdis/ /usr/include/amdis/)
find_file(_AMDiS_H AMDiS.h PATHS ${AMDiS_INCLUDE_DIR} ${AMDiS_DIR}/../../include/amdis/ /usr/include/amdis/)
if(_AMDiS_H)
if(_AMDiS_H)
...
@@ -31,7 +58,6 @@ set(AMDiS_NEED_PARMETIS @ENABLE_PARMETIS@)
...
@@ -31,7 +58,6 @@ set(AMDiS_NEED_PARMETIS @ENABLE_PARMETIS@)
set(AMDiS_HAS_PARALLEL_DOMAIN @ENABLE_PARALLEL_DOMAIN@)
set(AMDiS_HAS_PARALLEL_DOMAIN @ENABLE_PARALLEL_DOMAIN@)
set(AMDiS_NEED_UMFPACK @ENABLE_UMFPACK@)
set(AMDiS_NEED_UMFPACK @ENABLE_UMFPACK@)
set(AMDiS_NEED_MKL @ENABLE_MKL@)
set(AMDiS_NEED_MKL @ENABLE_MKL@)
set(AMDiS_NEED_DUNE @ENABLE_DUNE@)
set(AMDiS_USE_FILE ${AMDiS_DIR}/AMDiSUse.cmake)
set(AMDiS_USE_FILE ${AMDiS_DIR}/AMDiSUse.cmake)
set(AMDiS_COMPILEFLAGS "@COMPILEFLAGS@")
set(AMDiS_COMPILEFLAGS "@COMPILEFLAGS@")
message("find-components: ${AMDiS_FIND_COMPONENTS}")
message("find-components: ${AMDiS_FIND_COMPONENTS}")
...
...
AMDiS/AMDiSUse.cmake
View file @
93d0049e
link_directories
(
${
AMDiS_LIBRARY_DIRS
}
)
include_directories
(
${
AMDiS_INCLUDE_DIRS
}
)
#load mpi-compiler for use with parmetis and parallel_domain
#load mpi-compiler for use with parmetis and parallel_domain
if
(
${
AMDiS_HAS_PARALLEL_DOMAIN
}
)
if
(
${
AMDiS_HAS_PARALLEL_DOMAIN
}
)
if
(
NOT
${
AMDiS_NEED_PARMETIS
}
)
if
(
NOT
${
AMDiS_NEED_PARMETIS
}
)
...
@@ -12,5 +9,15 @@ if(${AMDiS_HAS_PARALLEL_DOMAIN})
...
@@ -12,5 +9,15 @@ if(${AMDiS_HAS_PARALLEL_DOMAIN})
CMAKE_FORCE_CXX_COMPILER
(
mpicxx
"The MPI C++ compiler"
)
CMAKE_FORCE_CXX_COMPILER
(
mpicxx
"The MPI C++ compiler"
)
CMAKE_FORCE_C_COMPILER
(
mpicc
"The MPI C Compiler"
)
CMAKE_FORCE_C_COMPILER
(
mpicc
"The MPI C Compiler"
)
endif
(
MPI_FOUND
)
endif
(
MPI_FOUND
)
find_package
(
PETSc REQUIRED
)
if
(
PETSC_FOUND
)
list
(
APPEND AMDiS_LIBRARIES
${
PETSC_LIBRARIES
}
)
list
(
APPEND AMDiS_INCLUDE_DIRS
${
PETSC_INCLUDES
}
)
endif
(
PETSc_FOUND
)
endif
(
NOT
${
AMDiS_NEED_PARMETIS
}
)
endif
(
NOT
${
AMDiS_NEED_PARMETIS
}
)
endif
(
${
AMDiS_HAS_PARALLEL_DOMAIN
}
)
endif
(
${
AMDiS_HAS_PARALLEL_DOMAIN
}
)
#thats bad because it affects each target
add_definitions
(
${
AMDiS_COMPILEFLAGS
}
)
link_directories
(
${
AMDiS_LIBRARY_DIRS
}
)
include_directories
(
${
AMDiS_INCLUDE_DIRS
}
)
AMDiS/CMakeLists.txt
View file @
93d0049e
...
@@ -22,8 +22,9 @@ endif()
...
@@ -22,8 +22,9 @@ endif()
#option(ENABLE_INTEL "use intel compiler" false)
#option(ENABLE_INTEL "use intel compiler" false)
option
(
ENABLE_OPENMP
"use openmp"
false
)
option
(
ENABLE_OPENMP
"use openmp"
false
)
option
(
ENABLE_PARALLEL_DOMAIN
"use parallel domain decomposition"
false
)
option
(
ENABLE_PARALLEL_DOMAIN
"use parallel domain decomposition"
false
)
SET
(
PETSC_DIR
""
CACHE PATH
"Petsc directory for parallel domain decomposition"
)
set
(
ENABLE_PARMETIS off
)
SET
(
PETSC_ARCH
""
CACHE STRING
"Petsc architecture"
)
#SET(PETSC_DIR "" CACHE PATH "Petsc directory for parallel domain decomposition" )
#SET(PETSC_ARCH "" CACHE STRING "Petsc architecture")
option
(
ENABLE_UMFPACK
"use umfpack solver"
false
)
option
(
ENABLE_UMFPACK
"use umfpack solver"
false
)
option
(
ENABLE_MKL
"use the mkl"
false
)
option
(
ENABLE_MKL
"use the mkl"
false
)
SET
(
MKL_DIR
""
CACHE PATH
"MKL directory"
)
SET
(
MKL_DIR
""
CACHE PATH
"MKL directory"
)
...
@@ -172,14 +173,15 @@ if(ENABLE_PARALLEL_DOMAIN)
...
@@ -172,14 +173,15 @@ if(ENABLE_PARALLEL_DOMAIN)
${
LIB_DIR
}
/ParMetis-3.1/libmetis.a
${
LIB_DIR
}
/ParMetis-3.1/libmetis.a
DESTINATION lib/parmetis
DESTINATION lib/parmetis
)
)
set
(
ENABLE_PARMETIS ON
)
find_package
(
PETSc REQUIRED
)
include_directories
(
${
PETSC_DIR
}
/include
${
PETSC_DIR
}
/
${
PETSC_ARCH
}
/include
)
include_directories
(
${
PETSC_DIR
}
/include
${
PETSC_DIR
}
/
${
PETSC_ARCH
}
/include
)
SET
(
PARALLEL_DOMAIN_AMDIS_SRC
SET
(
PARALLEL_DOMAIN_AMDIS_SRC
${
SOURCE_DIR
}
/parallel/ParMetisPartitioner.cc
${
SOURCE_DIR
}
/parallel/ParMetisPartitioner.cc
${
SOURCE_DIR
}
/parallel/MeshDistributor.cc
${
SOURCE_DIR
}
/parallel/MeshDistributor.cc
${
SOURCE_DIR
}
/parallel/StdMpi.cc
${
SOURCE_DIR
}
/parallel/StdMpi.cc
${
SOURCE_DIR
}
/parallel/ParallelDebug.cc
${
SOURCE_DIR
}
/parallel/ParallelDebug.cc
${
SOURCE_DIR
}
/parallel/GlobalMatrixSolver.cc
${
SOURCE_DIR
}
/parallel/MpiHelper.cc
${
SOURCE_DIR
}
/parallel/MpiHelper.cc
${
SOURCE_DIR
}
/parallel/ElementObjectData.cc
${
SOURCE_DIR
}
/parallel/ElementObjectData.cc
${
SOURCE_DIR
}
/parallel/PetscSolver.cc
)
${
SOURCE_DIR
}
/parallel/PetscSolver.cc
)
...
@@ -257,7 +259,8 @@ if(WIN32)
...
@@ -257,7 +259,8 @@ if(WIN32)
SET
(
COMPILEFLAGS
"
${
COMPILEFLAGS
}
-D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS"
)
SET
(
COMPILEFLAGS
"
${
COMPILEFLAGS
}
-D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS"
)
endif
(
WIN32
)
endif
(
WIN32
)
message
(
"compileflags:
${
COMPILEFLAGS
}
"
)
message
(
"compileflags:
${
COMPILEFLAGS
}
"
)
SET_TARGET_PROPERTIES
(
amdis PROPERTIES COMPILE_FLAGS
"
${
COMPILEFLAGS
}
"
)
#SET_TARGET_PROPERTIES(amdis PROPERTIES COMPILE_FLAGS "${COMPILEFLAGS}")
add_definitions
(
${
COMPILEFLAGS
}
)
if
(
ENABLE_MARMOT
)
if
(
ENABLE_MARMOT
)
Message
(
"please set marmotcc manually"
)
Message
(
"please set marmotcc manually"
)
endif
(
ENABLE_MARMOT
)
endif
(
ENABLE_MARMOT
)
...
...
AMDiS/src/parallel/StdMpi.cc
View file @
93d0049e
...
@@ -148,7 +148,7 @@ namespace AMDiS {
...
@@ -148,7 +148,7 @@ namespace AMDiS {
while
(
pos
<
bufSize
)
{
while
(
pos
<
bufSize
)
{
int
codeSize
=
buf
[
pos
++
];
int
codeSize
=
buf
[
pos
++
];
int
nElements
=
buf
[
pos
++
];
int
nElements
=
buf
[
pos
++
];
std
::
vector
<
unsigned
long
int
>
code
;
std
::
vector
<
long
long
unsigned
int
>
code
;
code
.
resize
(
codeSize
);
code
.
resize
(
codeSize
);
for
(
int
i
=
0
;
i
<
codeSize
;
i
++
)
for
(
int
i
=
0
;
i
<
codeSize
;
i
++
)
code
[
i
]
=
buf
[
pos
++
];
code
[
i
]
=
buf
[
pos
++
];
...
...
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