Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Nektar
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
88
Issues
88
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
50
Merge Requests
50
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nektar
Nektar
Commits
536ed99c
Commit
536ed99c
authored
Apr 04, 2013
by
Chris Cantwell
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into fix/warnings
parents
9df8f2f0
35ce6505
Changes
62
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
62 changed files
with
1216 additions
and
3902 deletions
+1216
-3902
CMakeLists.txt
CMakeLists.txt
+7
-3
cmake/FindFFTW.cmake
cmake/FindFFTW.cmake
+1
-1
cmake/NektarCommon.cmake
cmake/NektarCommon.cmake
+4
-3
cmake/ThirdPartyBoost.cmake
cmake/ThirdPartyBoost.cmake
+28
-8
cmake/ThirdPartyFFTW.cmake
cmake/ThirdPartyFFTW.cmake
+1
-0
cmake/ThirdPartyMPI.cmake
cmake/ThirdPartyMPI.cmake
+2
-0
cmake/ThirdPartyMetis.cmake
cmake/ThirdPartyMetis.cmake
+1
-0
cmake/ThirdPartyQT4.cmake
cmake/ThirdPartyQT4.cmake
+3
-0
cmake/ThirdPartySpblastk.cmake
cmake/ThirdPartySpblastk.cmake
+1
-0
cmake/ThirdPartyVTK.cmake
cmake/ThirdPartyVTK.cmake
+4
-2
cmake/ThirdPartyZlib.cmake
cmake/ThirdPartyZlib.cmake
+41
-30
library/Demos/LibUtilities/CMakeLists.txt
library/Demos/LibUtilities/CMakeLists.txt
+2
-2
library/Demos/LocalRegions/CMakeLists.txt
library/Demos/LocalRegions/CMakeLists.txt
+1
-1
library/Demos/MultiRegions/CMakeLists.txt
library/Demos/MultiRegions/CMakeLists.txt
+1
-1
library/Demos/MultiRegions/ExtraDemos/CMakeLists.txt
library/Demos/MultiRegions/ExtraDemos/CMakeLists.txt
+1
-1
library/LibUtilities/BasicUtils/MeshPartition.cpp
library/LibUtilities/BasicUtils/MeshPartition.cpp
+33
-18
library/LibUtilities/BasicUtils/SessionReader.cpp
library/LibUtilities/BasicUtils/SessionReader.cpp
+124
-35
library/LibUtilities/BasicUtils/SessionReader.h
library/LibUtilities/BasicUtils/SessionReader.h
+4
-0
library/LibUtilities/BasicUtils/Vmath.cpp
library/LibUtilities/BasicUtils/Vmath.cpp
+6
-4
library/LibUtilities/BasicUtils/Vmath.hpp
library/LibUtilities/BasicUtils/Vmath.hpp
+1
-1
library/LibUtilities/CMakeLists.txt
library/LibUtilities/CMakeLists.txt
+168
-162
library/LibUtilities/Interpreter/ExpressionEvaluator.cpp
library/LibUtilities/Interpreter/ExpressionEvaluator.cpp
+0
-1207
library/LibUtilities/Interpreter/ExpressionEvaluator.h
library/LibUtilities/Interpreter/ExpressionEvaluator.h
+0
-391
library/LibUtilities/Interpreter/defaults.h
library/LibUtilities/Interpreter/defaults.h
+0
-27
library/LibUtilities/Interpreter/initial.y
library/LibUtilities/Interpreter/initial.y
+0
-703
library/LibUtilities/LinearAlgebra/NekLinSys.h
library/LibUtilities/LinearAlgebra/NekLinSys.h
+0
-487
library/LibUtilities/LinearAlgebra/NormalMatrix.hpp
library/LibUtilities/LinearAlgebra/NormalMatrix.hpp
+0
-0
library/LibUtilities/LinearAlgebra/lapack.cpp
library/LibUtilities/LinearAlgebra/lapack.cpp
+0
-101
library/LocalRegions/QuadExp.cpp
library/LocalRegions/QuadExp.cpp
+19
-5
library/LocalRegions/TriExp.cpp
library/LocalRegions/TriExp.cpp
+18
-4
library/MultiRegions/ExpList.cpp
library/MultiRegions/ExpList.cpp
+17
-7
library/MultiRegions/ExpList.h
library/MultiRegions/ExpList.h
+11
-2
library/MultiRegions/GlobalLinSysIterative.cpp
library/MultiRegions/GlobalLinSysIterative.cpp
+20
-21
library/SolverUtils/EquationSystem.cpp
library/SolverUtils/EquationSystem.cpp
+0
-10
library/SolverUtils/EquationSystem.h
library/SolverUtils/EquationSystem.h
+0
-2
library/SpatialDomains/CMakeLists.txt
library/SpatialDomains/CMakeLists.txt
+0
-2
library/SpatialDomains/SpatialData.cpp
library/SpatialDomains/SpatialData.cpp
+0
-241
library/SpatialDomains/SpatialData.h
library/SpatialDomains/SpatialData.h
+0
-170
library/Timings/CMakeLists.txt
library/Timings/CMakeLists.txt
+1
-1
library/UnitTests/LibUtilities/CMakeLists.txt
library/UnitTests/LibUtilities/CMakeLists.txt
+0
-1
library/UnitTests/LibUtilities/TestExpressionEvaluator.cpp
library/UnitTests/LibUtilities/TestExpressionEvaluator.cpp
+0
-134
solvers/ADR2DManifoldSolver/ADR2DManifold.cpp
solvers/ADR2DManifoldSolver/ADR2DManifold.cpp
+7
-38
solvers/CMakeLists.txt
solvers/CMakeLists.txt
+1
-1
solvers/CardiacEPSolver/CMakeLists.txt
solvers/CardiacEPSolver/CMakeLists.txt
+1
-0
solvers/CardiacEPSolver/CellModels/CellModel.cpp
solvers/CardiacEPSolver/CellModels/CellModel.cpp
+148
-1
solvers/CardiacEPSolver/CellModels/CellModel.h
solvers/CardiacEPSolver/CellModels/CellModel.h
+12
-0
solvers/CardiacEPSolver/CellModels/CourtemancheRamirezNattel98.cpp
...ardiacEPSolver/CellModels/CourtemancheRamirezNattel98.cpp
+29
-1
solvers/CardiacEPSolver/CellModels/CourtemancheRamirezNattel98.h
.../CardiacEPSolver/CellModels/CourtemancheRamirezNattel98.h
+2
-0
solvers/CardiacEPSolver/EquationSystems/Bidomain.cpp
solvers/CardiacEPSolver/EquationSystems/Bidomain.cpp
+1
-1
solvers/CardiacEPSolver/EquationSystems/Monodomain.cpp
solvers/CardiacEPSolver/EquationSystems/Monodomain.cpp
+1
-1
solvers/CardiacEPSolver/Filters/FilterCheckpointCellModel.cpp
...ers/CardiacEPSolver/Filters/FilterCheckpointCellModel.cpp
+14
-5
solvers/CardiacEPSolver/Filters/FilterElectrogram.cpp
solvers/CardiacEPSolver/Filters/FilterElectrogram.cpp
+277
-0
solvers/CardiacEPSolver/Filters/FilterElectrogram.h
solvers/CardiacEPSolver/Filters/FilterElectrogram.h
+94
-0
solvers/CardiacEPSolver/Utilities/PrePacing/CMakeLists.txt
solvers/CardiacEPSolver/Utilities/PrePacing/CMakeLists.txt
+1
-1
solvers/IncNavierStokesSolver/AdvectionTerms/AdjointAdvection.cpp
...IncNavierStokesSolver/AdvectionTerms/AdjointAdvection.cpp
+28
-29
solvers/IncNavierStokesSolver/AdvectionTerms/LinearisedAdvection.cpp
...NavierStokesSolver/AdvectionTerms/LinearisedAdvection.cpp
+24
-22
solvers/PulseWaveSolver/EquationSystems/PulseWaveSystem.cpp
solvers/PulseWaveSolver/EquationSystems/PulseWaveSystem.cpp
+0
-9
utilities/CMakeLists.txt
utilities/CMakeLists.txt
+1
-1
utilities/PostProcessing/CombinePartitions.cpp
utilities/PostProcessing/CombinePartitions.cpp
+1
-1
utilities/PostProcessing/FldToTecGmsh.cpp
utilities/PostProcessing/FldToTecGmsh.cpp
+11
-0
utilities/PostProcessing/FldToVtk.cpp
utilities/PostProcessing/FldToVtk.cpp
+11
-0
utilities/PreProcessing/MeshConvert/OutputNekpp.cpp
utilities/PreProcessing/MeshConvert/OutputNekpp.cpp
+32
-3
No files found.
CMakeLists.txt
View file @
536ed99c
...
...
@@ -8,9 +8,13 @@ PROJECT(Nektar++)
# Helps organize projects in IDEs.
SET_PROPERTY
(
GLOBAL PROPERTY USE_FOLDERS ON
)
SET
(
NEKTAR_VERSION_MAJOR 3
)
SET
(
NEKTAR_VERSION_MINOR 2
)
SET
(
NEKTAR_VERSION_PATCH 0
)
# Extract the version number from the VERSION file and set in CMake
# The format of this file must be X.X.X
FILE
(
STRINGS
"VERSION"
NEKVER
)
STRING
(
REPLACE
"."
";"
NEKVERLIST
${
NEKVER
}
)
LIST
(
GET NEKVERLIST 0 NEKTAR_VERSION_MAJOR
)
LIST
(
GET NEKVERLIST 1 NEKTAR_VERSION_MINOR
)
LIST
(
GET NEKVERLIST 2 NEKTAR_VERSION_PATCH
)
SET
(
NEKTAR_VERSION
${
NEKTAR_VERSION_MAJOR
}
.
${
NEKTAR_VERSION_MINOR
}
.
${
NEKTAR_VERSION_PATCH
}
)
INCLUDE
(
CMakeExportBuildSettings
)
...
...
cmake/FindFFTW.cmake
View file @
536ed99c
...
...
@@ -18,7 +18,7 @@ ENDIF (FFTW_LIB)
IF
(
FFTW_FOUND
)
IF
(
NOT FFTW_LIB_FIND_QUIETLY
)
MESSAGE
(
STATUS
"Found FFTW"
)
MESSAGE
(
STATUS
"Found FFTW
:
${
FFTW_LIB
}
"
)
GET_FILENAME_COMPONENT
(
FFTW_PATH
${
FFTW_LIB
}
PATH CACHE
)
SET
(
FFTW_INCLUDE_DIR
${
FFTW_PATH
}
/../include CACHE FILEPATH
"FFTW include directory."
)
MARK_AS_ADVANCED
(
FFTW_PATH
)
...
...
cmake/NektarCommon.cmake
View file @
536ed99c
...
...
@@ -167,10 +167,10 @@ MACRO(ADD_NEKTAR_EXECUTABLE name component sources)
${
Boost_FILESYSTEM_LIBRARY
}
${
Boost_SYSTEM_LIBRARY
}
${
Boost_PROGRAM_OPTIONS_LIBRARY
}
${
Boost_
ZLIB_LIBRARY
}
${
ZLIB_LIBRARY
}
optimized
${
TINYXML_LIB
}
debug
${
TINYXML_LIB
}
)
ADD_DEPENDENCIES
(
${
name
}
boost tinyxml zlib
)
ADD_DEPENDENCIES
(
${
name
}
boost tinyxml zlib
-1.2.7
)
IF
(
NEKTAR_USE_MPI
)
TARGET_LINK_LIBRARIES
(
${
name
}
${
MPI_LIBRARY
}
${
MPI_EXTRA_LIBRARY
}
)
...
...
@@ -221,7 +221,8 @@ MACRO(ADD_NEKTAR_LIBRARY name component type)
# NIST Sparse BLAS only static, so link into Nektar libraries directly.
TARGET_LINK_LIBRARIES
(
${
name
}
${
NIST_SPARSE_BLAS
}
${
METIS_LIB
}
)
ADD_DEPENDENCIES
(
${
name
}
spblastk0.9b modmetis-5.0.2 boost tinyxml zlib
)
ADD_DEPENDENCIES
(
${
name
}
spblastk0.9b modmetis-5.0.2 boost tinyxml
zlib-1.2.7
)
SET_PROPERTY
(
TARGET
${
name
}
PROPERTY FOLDER
${
component
}
)
IF
(
NEKTAR_USE_MPI
)
TARGET_LINK_LIBRARIES
(
${
name
}
${
GSMPI_LIBRARY
}
${
XXT_LIBRARY
}
)
...
...
cmake/ThirdPartyBoost.cmake
View file @
536ed99c
...
...
@@ -40,10 +40,10 @@ IF (THIRDPARTY_BUILD_BOOST)
INSTALL_COMMAND
""
BUILD_IN_SOURCE 1
)
# If building ThirdParty zlib, force zlib build before boost
IF
(
THIRDPARTY_BUILD_ZLIB
)
ADD_DEPENDENCIES
(
boost zlib
)
ADD_DEPENDENCIES
(
boost zlib-1.2.7
)
ENDIF
(
THIRDPARTY_BUILD_ZLIB
)
# Set up CMake variables
...
...
@@ -86,8 +86,7 @@ IF (THIRDPARTY_BUILD_BOOST)
)
ENDIF
()
ELSE
(
THIRDPARTY_BUILD_BOOST
)
SET
(
Boost_DEBUG 1
)
SET
(
Boost_ADDITIONAL_VERSIONS
"1.51"
"1.51.0"
"1.50"
"1.50.0"
"1.49"
"1.49.0"
"1.48"
"1.48.0"
"1.47.0"
"1.47"
"1.46"
"1.46. 1"
"1.40"
"1.40.0"
"1.35.0"
"1.35"
)
SET
(
Boost_DEBUG 0
)
SET
(
Boost_NO_BOOST_CMAKE ON
)
#If the user has not set BOOST_ROOT, look in a couple common places first.
...
...
@@ -96,19 +95,40 @@ ELSE (THIRDPARTY_BUILD_BOOST)
IF
(
DEFINED TEST_ENV
)
SET
(
Boost_NO_SYSTEM_PATHS ON
)
SET
(
BOOST_ROOT $ENV{BOOST_HOME}
)
FIND_PACKAGE
(
Boost
COMPONENTS thread iostreams zlib
date_time
FIND_PACKAGE
(
Boost
QUIET COMPONENTS thread iostreams
date_time
filesystem system program_options regex
)
ELSE
()
SET
(
BOOST_ROOT
${
CMAKE_SOURCE_DIR
}
/ThirdParty/boost
)
FIND_PACKAGE
(
Boost
COMPONENTS thread iostreams zlib
date_time filesystem system program_options regex
)
FIND_PACKAGE
(
Boost
QUIET COMPONENTS thread iostreams
date_time filesystem system program_options regex
)
SET
(
BOOST_ROOT
${
CMAKE_SOURCE_DIR
}
/../ThirdParty/boost
)
FIND_PACKAGE
(
Boost
COMPONENTS thread iostreams zlib
date_time filesystem system program_options regex
)
FIND_PACKAGE
(
Boost
QUIET COMPONENTS thread iostreams
date_time filesystem system program_options regex
)
SET
(
BOOST_ROOT
${
CMAKE_SOURCE_DIR
}
/ThirdParty/dist
)
FIND_PACKAGE
(
Boost
COMPONENTS thread iostreams zlib
date_time filesystem system program_options regex
)
FIND_PACKAGE
(
Boost
QUIET COMPONENTS thread iostreams
date_time filesystem system program_options regex
)
ENDIF
()
ELSE
()
FIND_PACKAGE
(
Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex
)
ENDIF
()
IF
(
Boost_IOSTREAMS_FOUND
)
MESSAGE
(
STATUS
"Found Boost iostreams library:
${
Boost_IOSTREAMS_LIBRARY
}
"
)
ENDIF
()
IF
(
Boost_THREAD_FOUND
)
MESSAGE
(
STATUS
"Found Boost thread library:
${
Boost_THREAD_LIBRARY
}
"
)
ENDIF
()
IF
(
Boost_DATE_TIME_FOUND
)
MESSAGE
(
STATUS
"Found Boost date_time library:
${
Boost_DATE_TIME_LIBRARY
}
"
)
ENDIF
()
IF
(
Boost_FILESYSTEM_FOUND
)
MESSAGE
(
STATUS
"Found Boost filesystem library:
${
Boost_FILESYSTEM_LIBRARY
}
"
)
ENDIF
()
IF
(
Boost_SYSTEM_FOUND
)
MESSAGE
(
STATUS
"Found Boost system library:
${
Boost_SYSTEM_LIBRARY
}
"
)
ENDIF
()
IF
(
Boost_PROGRAM_OPTIONS_FOUND
)
MESSAGE
(
STATUS
"Found Boost program_options library:
${
Boost_PROGRAM_OPTIONS_LIBRARY
}
"
)
ENDIF
()
IF
(
Boost_REGEX_FOUND
)
MESSAGE
(
STATUS
"Found Boost regex library:
${
Boost_REGEX_LIBRARY
}
"
)
ENDIF
()
ENDIF
(
THIRDPARTY_BUILD_BOOST
)
INCLUDE_DIRECTORIES
(
SYSTEM
${
Boost_INCLUDE_DIRS
}
)
cmake/ThirdPartyFFTW.cmake
View file @
536ed99c
...
...
@@ -21,6 +21,7 @@ IF( NEKTAR_USE_FFTW )
SET
(
FFTW_LIB fftw3
)
MARK_AS_ADVANCED
(
FFTW_LIB
)
INCLUDE_DIRECTORIES
(
${
TPSRC
}
/dist/include
)
MESSAGE
(
STATUS
"Build FFTW:
${
TPSRC
}
/dist/lib/lib
${
FFTW_LIB
}
.so"
)
ELSE
()
INCLUDE
(
FindFFTW
)
INCLUDE_DIRECTORIES
(
${
FFTW_INCLUDE_DIR
}
)
...
...
cmake/ThirdPartyMPI.cmake
View file @
536ed99c
...
...
@@ -31,6 +31,8 @@ IF( NEKTAR_USE_MPI )
SET
(
XXT_LIBRARY xxt CACHE FILEPATH
"XXT path"
FORCE
)
MARK_AS_ADVANCED
(
XXT_LIBRARY
)
MESSAGE
(
STATUS
"Build GSMPI:
${
TPSRC
}
/dist/lib/lib
${
GSMPI_LIBRARY
}
.a"
)
MESSAGE
(
STATUS
"Build XXT:
${
TPSRC
}
/dist/lib/lib
${
XXT_LIBRARY
}
.a"
)
ELSE
(
THIRDPARTY_BUILD_GSMPI
)
INCLUDE
(
FindGSMPI
)
INCLUDE
(
FindXXT
)
...
...
cmake/ThirdPartyMetis.cmake
View file @
536ed99c
...
...
@@ -16,6 +16,7 @@ IF (THIRDPARTY_BUILD_METIS)
MARK_AS_ADVANCED
(
METIS_LIB
)
LINK_DIRECTORIES
(
${
TPSRC
}
/dist/lib
)
INCLUDE_DIRECTORIES
(
${
TPSRC
}
/dist/include
)
MESSAGE
(
STATUS
"Build Metis:
${
TPSRC
}
/dist/lib/lib
${
METIS_LIB
}
.a"
)
ELSE
(
THIRDPARTY_BUILD_METIS
)
INCLUDE
(
FindMetis
)
ENDIF
(
THIRDPARTY_BUILD_METIS
)
...
...
cmake/ThirdPartyQT4.cmake
View file @
536ed99c
...
...
@@ -6,4 +6,7 @@ IF( NEKTAR_USE_QT4 )
FIND_PACKAGE
(
Qt4 COMPONENTS QtCore QtGui REQUIRED
)
INCLUDE
(
${
QT_USE_FILE
}
)
ADD_DEFINITIONS
(
${
QT_DEFINITIONS
}
)
IF
(
QT4_FOUND
)
MESSAGE
(
STATUS
"Found QT4:
${
QT_INCLUDE_DIR
}
"
)
ENDIF
(
QT4_FOUND
)
ENDIF
(
NEKTAR_USE_QT4
)
cmake/ThirdPartySpblastk.cmake
View file @
536ed99c
...
...
@@ -15,6 +15,7 @@ IF (THIRDPARTY_BUILD_NIST_SPBLASTK)
"Path to NIST Sparse BLAS."
FORCE
)
MARK_AS_ADVANCED
(
NIST_SPARSE_BLAS
)
LINK_DIRECTORIES
(
${
TPSRC
}
/dist/lib
)
MESSAGE
(
STATUS
"Build NIST Sparse BLAS:
${
TPSRC
}
/dist/lib/lib
${
NIST_SPARSE_BLAS
}
.a"
)
ELSE
(
THIRDPARTY_BUILD_NIST_SPBLASTK
)
INCLUDE
(
FindNistSparseBlas
)
ENDIF
(
THIRDPARTY_BUILD_NIST_SPBLASTK
)
...
...
cmake/ThirdPartyVTK.cmake
View file @
536ed99c
...
...
@@ -25,9 +25,11 @@ IF( NEKTAR_USE_VTK )
INCLUDE
(
${
VTK_DIR
}
/VTKConfig.cmake
)
ELSE
()
INCLUDE
(
FindVTK
)
IF
(
NOT VTK_FOUND
)
IF
(
VTK_FOUND
)
MESSAGE
(
STATUS
"Found VTK:
${
VTK_USE_FILE
}
"
)
ELSE
(
VTK_FOUND
)
MESSAGE
(
FATAL_ERROR
"VTK not found"
)
ENDIF
(
NOT
VTK_FOUND
)
ENDIF
(
VTK_FOUND
)
ENDIF
()
INCLUDE
(
${
VTK_USE_FILE
}
)
...
...
cmake/ThirdPartyZlib.cmake
View file @
536ed99c
OPTION
(
THIRDPARTY_BUILD_ZLIB
"Build ZLib library"
OFF
)
########################################################################
#
# ThirdParty configuration for Nektar++
#
# ZLib
#
########################################################################
# Attempt to identify Macports libraries, if they exist. This prevents
# cmake warnings later on.
SET
(
ZLIB_ROOT /opt/local/
)
# Find a system ZLIB library
# If not found enable the THIRDPARTY_BUILD_ZLIB option
FIND_PACKAGE
(
ZLIB
)
IF
(
ZLIB_FOUND AND NOT ZLIB_VERSION_PATCH LESS 7
)
SET
(
ZLIB_LIBRARY
${
ZLIB_LIBRARIES
}
)
SET
(
ZLIB_LIBRARY_DEBUG
${
ZLIB_LIBRARIES
}
)
SET
(
ZLIB_LIBRARY_RELEASE
${
ZLIB_LIBRARIES
}
)
MESSAGE
(
STATUS
"Found Zlib library:
${
ZLIB_LIBRARY
}
"
)
OPTION
(
THIRDPARTY_BUILD_ZLIB
"Build ZLib library"
OFF
)
ELSE
()
OPTION
(
THIRDPARTY_BUILD_ZLIB
"Build ZLib library"
ON
)
ENDIF
()
# If we or the user
IF
(
THIRDPARTY_BUILD_ZLIB
)
MESSAGE
(
STATUS
"Will build Zlib 1.2.7"
)
# Build the Zlib library separately
EXTERNALPROJECT_ADD
(
zlib
zlib
-1.2.7
PREFIX
${
TPSRC
}
URL
${
TPURL
}
/zlib-1.2.
3.tar.bz2
URL_MD5
"
dee233bf288ee795ac96a98cc2e369b6
"
URL
${
TPURL
}
/zlib-1.2.
7.tar.gz
URL_MD5
"
4a162e0f643232e7e278d59a0603ceb0
"
DOWNLOAD_DIR
${
TPSRC
}
CONFIGURE_COMMAND ./configure --shared --prefix=
${
TPSRC
}
/dist
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND
${
CMAKE_COMMAND
}
-DCMAKE_INSTALL_PREFIX:PATH=
${
TPSRC
}
/dist -DCMAKE_C_FLAGS:STRING=-fPIC
${
TPSRC
}
/src/zlib-1.2.7
)
SET
(
Boost_ZLIB_LIBRARY z
)
SET
(
Boost_ZLIB_LIBRARY_DEBUG z
)
SET
(
Boost_ZLIB_LIBRARY_RELEASE z
)
ELSE
(
THIRDPARTY_BUILD_ZLIB
)
# Attempt to identify Macports libraries, if they exist. This prevents
# cmake warnings later on.
IF
(
APPLE
)
FIND_LIBRARY
(
ZLIB_LIBRARY z PATHS /opt/local/lib NO_DEFAULT_PATH
)
ENDIF
()
# Find a system ZLIB library and use that instead
IF
(
ZLIB_LIBRARY-NOTFOUND OR NOT APPLE
)
FIND_PACKAGE
(
ZLIB
)
IF
(
ZLIB_FOUND
)
SET
(
ZLIB_LIBRARY
${
ZLIB_LIBRARIES
}
)
ENDIF
()
ENDIF
()
IF
(
ZLIB_LIBRARY
)
SET
(
Boost_ZLIB_LIBRARY
${
ZLIB_LIBRARY
}
)
SET
(
Boost_ZLIB_LIBRARY_RELEASE
${
ZLIB_LIBRARY
}
)
SET
(
Boost_ZLIB_LIBRARY_DEBUG
${
ZLIB_LIBRARY
}
)
ENDIF
()
IF
(
WIN32
)
SET
(
ZLIB_LIBRARY zlib
)
SET
(
ZLIB_LIBRARY_DEBUG zlib
)
SET
(
ZLIB_LIBRARY_RELEASE zlib
)
ELSE
(
WIN32
)
SET
(
ZLIB_LIBRARY z
)
SET
(
ZLIB_LIBRARY_DEBUG z
)
SET
(
ZLIB_LIBRARY_RELEASE z
)
ENDIF
(
WIN32
)
ENDIF
(
THIRDPARTY_BUILD_ZLIB
)
library/Demos/LibUtilities/CMakeLists.txt
View file @
536ed99c
...
...
@@ -28,9 +28,8 @@ SET(NodalTetElecSources
SET
(
TimeIntegrationDemoSources
TimeIntegrationDemo.cpp
)
#ADD_NEKTAR_EXECUTABLE(Graph demos GraphSources )
#SET_LAPACK_LINK_LIBRARIES(Graph)
...
...
@@ -58,3 +57,4 @@ SET_LAPACK_LINK_LIBRARIES(NodalTetElecDemo)
ADD_NEKTAR_EXECUTABLE
(
TimeIntegrationDemo demos TimeIntegrationDemoSources
)
SET_LAPACK_LINK_LIBRARIES
(
TimeIntegrationDemo
)
library/Demos/LocalRegions/CMakeLists.txt
View file @
536ed99c
...
...
@@ -5,7 +5,7 @@ SET(LinkLibraries
optimized LibUtilities debug LibUtilities-g
optimized
${
Boost_THREAD_LIBRARY_RELEASE
}
debug
${
Boost_THREAD_LIBRARY_DEBUG
}
optimized
${
Boost_IOSTREAMS_LIBRARY_RELEASE
}
debug
${
Boost_IOSTREAMS_LIBRARY_DEBUG
}
optimized
${
Boost_ZLIB_LIBRARY_RELEASE
}
debug
${
Boost_
ZLIB_LIBRARY_DEBUG
}
optimized
${
ZLIB_LIBRARY_RELEASE
}
debug
${
ZLIB_LIBRARY_DEBUG
}
optimized
${
TINYXML_LIB
}
debug
${
TINYXML_LIB
}
)
...
...
library/Demos/MultiRegions/CMakeLists.txt
View file @
536ed99c
...
...
@@ -6,7 +6,7 @@ SET(LinkLibraries
optimized LibUtilities debug LibUtilities-g
optimized
${
Boost_THREAD_LIBRARY_RELEASE
}
debug
${
Boost_THREAD_LIBRARY_DEBUG
}
optimized
${
Boost_IOSTREAMS_LIBRARY_RELEASE
}
debug
${
Boost_IOSTREAMS_LIBRARY_DEBUG
}
optimized
${
Boost_ZLIB_LIBRARY_RELEASE
}
debug
${
Boost_
ZLIB_LIBRARY_DEBUG
}
optimized
${
ZLIB_LIBRARY_RELEASE
}
debug
${
ZLIB_LIBRARY_DEBUG
}
optimized
${
TINYXML_LIB
}
debug
${
TINYXML_LIB
}
optimized sbtk debug sbtk
)
...
...
library/Demos/MultiRegions/ExtraDemos/CMakeLists.txt
View file @
536ed99c
...
...
@@ -6,7 +6,7 @@ SET(LinkLibraries
optimized LibUtilities debug LibUtilities-g
optimized
${
Boost_THREAD_LIBRARY_RELEASE
}
debug
${
Boost_THREAD_LIBRARY_DEBUG
}
optimized
${
Boost_IOSTREAMS_LIBRARY_RELEASE
}
debug
${
Boost_IOSTREAMS_LIBRARY_DEBUG
}
optimized
${
Boost_ZLIB_LIBRARY_RELEASE
}
debug
${
Boost_
ZLIB_LIBRARY_DEBUG
}
optimized
${
ZLIB_LIBRARY_RELEASE
}
debug
${
ZLIB_LIBRARY_DEBUG
}
optimized
${
TINYXML_LIB
}
debug
${
TINYXML_LIB
}
optimized sbtk debug sbtk
)
...
...
library/LibUtilities/BasicUtils/MeshPartition.cpp
View file @
536ed99c
...
...
@@ -62,7 +62,7 @@ namespace Nektar
namespace
LibUtilities
{
MeshPartition
::
MeshPartition
(
const
LibUtilities
::
SessionReaderSharedPtr
&
pSession
)
:
m_comm
(
pSession
->
GetComm
()
->
GetRowComm
()
)
m_comm
(
pSession
->
GetComm
())
{
ReadMesh
(
pSession
);
}
...
...
@@ -74,9 +74,9 @@ namespace Nektar
void
MeshPartition
::
PartitionMesh
()
{
ASSERTL0
(
m_comm
->
GetSize
()
>
1
,
ASSERTL0
(
m_comm
->
Get
RowComm
()
->
Get
Size
()
>
1
,
"Partitioning only necessary in parallel case."
);
ASSERTL0
(
m_meshElements
.
size
()
>=
m_comm
->
GetSize
(),
ASSERTL0
(
m_meshElements
.
size
()
>=
m_comm
->
Get
RowComm
()
->
Get
Size
(),
"Too few elements for this many processes."
);
CreateGraph
(
m_mesh
);
...
...
@@ -96,7 +96,7 @@ namespace Nektar
vNew
.
LinkEndChild
(
vElmtNektar
);
std
::
string
vFilename
=
pSession
->
GetSessionName
()
+
"_P"
+
boost
::
lexical_cast
<
std
::
string
>
(
m_comm
->
GetRank
())
+
".xml"
;
std
::
string
vFilename
=
pSession
->
GetSessionName
()
+
"_P"
+
boost
::
lexical_cast
<
std
::
string
>
(
m_comm
->
GetR
owComm
()
->
GetR
ank
())
+
".xml"
;
vNew
.
SaveFile
(
vFilename
.
c_str
());
}
...
...
@@ -325,7 +325,7 @@ namespace Nektar
BoostVertexIterator
vertit
,
vertit_end
;
Array
<
OneD
,
int
>
part
(
nGraphVerts
,
0
);
if
(
m_comm
->
GetRank
()
==
0
)
if
(
m_comm
->
GetR
owComm
()
->
GetR
ank
()
==
0
)
{
int
acnt
=
0
;
int
vcnt
=
0
;
...
...
@@ -349,21 +349,36 @@ namespace Nektar
}
// Call Metis and partition graph
int
npart
=
m_comm
->
GetSize
();
int
npart
=
m_comm
->
Get
RowComm
()
->
Get
Size
();
int
vol
=
0
;
try
{
// Attempt partitioning using METIS.
Metis
::
PartGraphVKway
(
nGraphVerts
,
xadj
,
adjncy
,
vwgt
,
vsize
,
npart
,
vol
,
part
);
// Check METIS produced a valid partition and fix if not.
CheckPartitions
(
part
);
// Distribute partitioning to all processes.
for
(
i
=
1
;
i
<
m_comm
->
GetSize
();
++
i
)
//////////////////////////////////////////////////////
// On a cartesian communicator do mesh partiotion just on the first column
// so there is no doubt the partitions are all the same in all the columns
if
(
m_comm
->
GetColumnComm
()
->
GetRank
()
==
0
)
{
// Attempt partitioning using METIS.
Metis
::
PartGraphVKway
(
nGraphVerts
,
xadj
,
adjncy
,
vwgt
,
vsize
,
npart
,
vol
,
part
);
// Check METIS produced a valid partition and fix if not.
CheckPartitions
(
part
);
// distribute among columns
for
(
i
=
1
;
i
<
m_comm
->
GetColumnComm
()
->
GetSize
();
++
i
)
{
m_comm
->
GetColumnComm
()
->
Send
(
i
,
part
);
}
}
else
{
m_comm
->
GetColumnComm
()
->
Recv
(
0
,
part
);
}
m_comm
->
GetColumnComm
()
->
Block
();
//////////////////////////////////
// distribute among rows
for
(
i
=
1
;
i
<
m_comm
->
GetRowComm
()
->
GetSize
();
++
i
)
{
m_comm
->
Send
(
i
,
part
);
m_comm
->
GetRowComm
()
->
Send
(
i
,
part
);
}
}
catch
(...)
...
...
@@ -374,7 +389,7 @@ namespace Nektar
}
else
{
m_comm
->
Recv
(
0
,
part
);
m_comm
->
GetRowComm
()
->
Recv
(
0
,
part
);
}
// Create boost subgraph for this process's partitions
...
...
@@ -386,7 +401,7 @@ namespace Nektar
vertit
!=
vertit_end
;
++
vertit
,
++
i
)
{
if
(
part
[
i
]
==
m_comm
->
GetRank
())
if
(
part
[
i
]
==
m_comm
->
GetR
owComm
()
->
GetR
ank
())
{
pGraph
[
*
vertit
].
partition
=
part
[
i
];
pGraph
[
*
vertit
].
partid
=
boost
::
num_vertices
(
pLocalPartition
);
...
...
@@ -400,7 +415,7 @@ namespace Nektar
{
unsigned
int
i
=
0
;
unsigned
int
cnt
=
0
;
const
unsigned
int
npart
=
m_comm
->
GetSize
();
const
unsigned
int
npart
=
m_comm
->
Get
RowComm
()
->
Get
Size
();
bool
valid
=
true
;
// Check that every process has at least one element assigned
...
...
library/LibUtilities/BasicUtils/SessionReader.cpp
View file @
536ed99c
...
...
@@ -40,9 +40,13 @@
#include <LibUtilities/BasicUtils/SessionReader.h>
#include <iostream>
#include <fstream>
#include <string>
using
namespace
std
;
#include <boost/iostreams/filtering_streambuf.hpp>
#include <boost/iostreams/copy.hpp>
#include <boost/iostreams/filter/gzip.hpp>
#include <boost/algorithm/string.hpp>
#include <tinyxml/tinyxml.h>
#include <LibUtilities/BasicUtils/ErrorUtil.hpp>
...
...
@@ -54,6 +58,7 @@ using namespace std;
#include <boost/program_options.hpp>
namespace
po
=
boost
::
program_options
;
namespace
io
=
boost
::
iostreams
;
namespace
Nektar
{
...
...
@@ -809,10 +814,13 @@ namespace Nektar
FunctionVariableMap
::
const_iterator
it2
;
std
::
string
vName
=
boost
::
to_upper_copy
(
pName
);
if
((
it1
=
m_functions
.
find
(
vName
))
!=
m_functions
.
end
()
&&
(
it2
=
it1
->
second
.
find
(
pVariable
))
!=
it1
->
second
.
end
())
// Check function exists
if
((
it1
=
m_functions
.
find
(
vName
))
!=
m_functions
.
end
())
{
return
true
;
bool
varExists
=
(
it2
=
it1
->
second
.
find
(
pVariable
))
!=
it1
->
second
.
end
()
||
(
it2
=
it1
->
second
.
find
(
"*"
))
!=
it1
->
second
.
end
();
return
varExists
;
}
return
false
;
}
...
...
@@ -826,18 +834,33 @@ namespace Nektar
const
std
::
string
&
pVariable
)
const
{
FunctionMap
::
const_iterator
it1
;
FunctionVariableMap
::
const_iterator
it2
;
FunctionVariableMap
::
const_iterator
it2
,
it3
;
std
::
string
vName
=
boost
::
to_upper_copy
(
pName
);
ASSERTL0
((
it1
=
m_functions
.
find
(
vName
))
!=
m_functions
.
end
(),
std
::
string
(
"No such function '"
)
+
pName
+
std
::
string
(
"' has been defined in the session file."
));
ASSERTL0
((
it2
=
it1
->
second
.
find
(
pVariable
))
!=
it1
->
second
.
end
(),
// Check for specific and wildcard definitions
bool
specific
=
(
it2
=
it1
->
second
.
find
(
pVariable
))
!=
it1
->
second
.
end
();
bool
wildcard
=
(
it3
=
it1
->
second
.
find
(
"*"
))
!=
it1
->
second
.
end
();
// Check function is defined somewhere
ASSERTL0
(
specific
||
wildcard
,
std
::
string
(
"No such variable '"
)
+
pVariable
+
std
::
string
(
"' defined for function '"
)
+
pName
+
std
::
string
(
"' in session file."
));
// If not specific, must be wildcard
if
(
!
specific
)
{
it2
=
it3
;
}
ASSERTL0
((
it2
->
second
.
m_type
==
eFunctionTypeExpression
),
std
::
string
(
"Function is defined by a file."
));
std
::
string
(
"Function is defined by a file."
));
return
it2
->
second
.
m_expression
;
}
...
...
@@ -862,17 +885,32 @@ namespace Nektar
const
std
::
string
&
pVariable
)
const
{
FunctionMap
::
const_iterator
it1
;
FunctionVariableMap
::
const_iterator
it2
;
FunctionVariableMap
::
const_iterator
it2
,
it3
;
std
::
string
vName
=
boost
::
to_upper_copy
(
pName
);
it1
=
m_functions
.
find
(
vName
);
ASSERTL0
(
it1
!=
m_functions
.
end
(),
std
::
string
(
"Function '"
)
+
pName
+
std
::
string
(
"' not found."
));
ASSERTL0
((
it2
=
it1
->
second
.
find
(
pVariable
))
!=
it1
->
second
.
end
(),
std
::
string
(
"No such variable '"
)
+
pVariable
+
std
::
string
(
"' defined for function '"
)
+
pName
+
std
::
string
(
"' in session file."
));
// Check for specific and wildcard definitions
bool
specific
=
(
it2
=
it1
->
second
.
find
(
pVariable
))
!=
it1
->
second
.
end
();
bool
wildcard
=
(
it3
=
it1
->
second
.
find
(
"*"
))
!=
it1
->
second
.
end
();
// Check function is defined somewhere
ASSERTL0
(
specific
||
wildcard
,
std
::
string
(
"No such variable '"
)
+
pVariable
+
std
::
string
(
"' defined for function '"
)
+
pName
+
std
::
string
(
"' in session file."
));
// If not specific, must be wildcard
if
(
!
specific
)
{
it2
=
it3
;
}
return
it2
->
second
.
m_type
;
}
...
...
@@ -897,17 +935,32 @@ namespace Nektar
const
std
::
string
&
pVariable
)
const
{
FunctionMap
::
const_iterator
it1
;
FunctionVariableMap
::
const_iterator
it2
;
FunctionVariableMap
::
const_iterator
it2
,
it3
;
std
::
string
vName
=
boost
::
to_upper_copy
(
pName
);
it1
=
m_functions
.
find
(
vName
);
ASSERTL0
(
it1
!=
m_functions
.
end
(),
std
::
string
(
"Function '"
)
+
pName
+
std
::
string
(
"' not found."
));
ASSERTL0
((
it2
=
it1
->
second
.
find
(
pVariable
))
!=
it1
->
second
.
end
(),
std
::
string
(
"No such variable '"
)
+
pVariable
+
std
::
string
(
"' defined for function '"
)
+
pName
+
std
::
string
(
"' in session file."
));
// Check for specific and wildcard definitions
bool
specific
=
(
it2
=
it1
->
second
.
find
(
pVariable
))
!=
it1
->
second
.
end
();
bool
wildcard
=
(
it3
=
it1
->
second
.
find
(
"*"
))
!=
it1
->
second
.
end
();
// Check function is defined somewhere
ASSERTL0
(
specific
||
wildcard
,
std
::
string
(
"No such variable '"
)
+
pVariable
+
std
::
string
(
"' defined for function '"
)
+
pName
+
std
::
string
(
"' in session file."
));
// If not specific, must be wildcard
if
(
!
specific
)
{
it2
=
it3
;
}
return
it2
->
second
.
m_filename
;
}
...
...
@@ -1012,6 +1065,42 @@ namespace Nektar
}
/**
*
*/
void
SessionReader
::
LoadDoc
(
const
std
::
string
&
pFilename
,
TiXmlDocument
*
pDoc
)
const
{
if
(
pFilename
.
size
()
>
3
&&
pFilename
.
substr
(
pFilename
.
size
()
-
3
,
3
)
==
".gz"
)
{
ifstream
file
(
pFilename
.
c_str
(),
ios_base
::
in
|
ios_base
::
binary
);
ASSERTL0
(
file
.
good
(),
"Unable to open file: "
+
pFilename
);
stringstream
ss
;
io
::
filtering_streambuf
<
io
::
input
>
in
;