Commit 0720b9c1 authored by Dave Moxey's avatar Dave Moxey
Browse files

Merge branch 'master' into feature/iter-mlsc

parents 307ede35 8221780f
......@@ -63,8 +63,8 @@ SET(NEKTAR_BUILD_UTILITIES ON CACHE BOOL
"Build utilities for pre-processing and post-processing Nektar++ files.")
SET(NEKTAR_BUILD_UNIT_TESTS ON CACHE BOOL
"Build unit tests.")
SET(NEKTAR_BUILD_REGRESSION_TESTS ON CACHE BOOL
"Build regression tests for checking the correctness of the code.")
SET(NEKTAR_BUILD_TESTS ON CACHE BOOL
"Build tests for checking the correctness of the code.")
SET(NEKTAR_BUILD_TIMINGS OFF CACHE BOOL
"Build benchmark timing codes.")
......@@ -175,7 +175,7 @@ IF( NEKTAR_USE_MKL )
SET(NEKTAR_USING_LAPACK TRUE)
SET(NEKTAR_USING_MKL TRUE)
ENDIF( NEKTAR_USE_MKL )
IF( NEKTAR_USE_OPENBLAS )
INCLUDE (FindOpenBlas)
SET(NEKTAR_USING_OPENBLAS TRUE)
......@@ -268,10 +268,10 @@ IF (NEKTAR_BUILD_UTILITIES)
ADD_SUBDIRECTORY(utilities)
ENDIF (NEKTAR_BUILD_UTILITIES)
IF (NEKTAR_BUILD_REGRESSION_TESTS)
INCLUDE_DIRECTORIES(regressionTests)
ADD_SUBDIRECTORY(regressionTests)
ENDIF (NEKTAR_BUILD_REGRESSION_TESTS)
IF (NEKTAR_BUILD_TESTS)
INCLUDE_DIRECTORIES(tests)
ADD_SUBDIRECTORY(tests)
ENDIF (NEKTAR_BUILD_TESTS)
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/cmake/Nektar++Config.cmake.in
${CMAKE_BINARY_DIR}/Nektar++Config.cmake @ONLY)
......@@ -287,7 +287,7 @@ INSTALL(FILES ${CMAKE_BINARY_DIR}/Nektar++Config.cmake
${CMAKE_SOURCE_DIR}/cmake/FindNativeBlasLapack.cmake
${CMAKE_SOURCE_DIR}/cmake/FindMKL.cmake
${CMAKE_SOURCE_DIR}/cmake/FindMetis.cmake
${CMAKE_SOURCE_DIR}/cmake/FindFFTW.cmake
${CMAKE_SOURCE_DIR}/cmake/FindFFTW.cmake
${CMAKE_SOURCE_DIR}/cmake/FindWin32Lapack.cmake
${CMAKE_SOURCE_DIR}/cmake/NektarCommon.cmake
${CMAKE_SOURCE_DIR}/cmake/FindTinyXml.cmake
......
......@@ -5,9 +5,10 @@ SET(FFTW_SEARCH_PATHS
${CMAKE_SOURCE_DIR}/../ThirdParty/fftw-3.2.2/
${CMAKE_SOURCE_DIR}/../ThirdParty/fftw-3.2.2/lib/
${CMAKE_SOURCE_DIR}/ThirdParty/build/dist/lib
${CMAKE_SOURCE_DIR}/../ThirdParty/build/dist/lib )
${CMAKE_SOURCE_DIR}/../ThirdParty/build/dist/lib
$ENV{LD_LIBRARY_PATH} $ENV{FFTW_HOME}/lib )
FIND_LIBRARY(FFTW_LIB NAMES fftw3 PATHS ${FFTW_SEARCH_PATHS} ENV LD_LIBRARY_PATH)
FIND_LIBRARY(FFTW_LIB NAMES fftw3 fftw3f PATHS ${FFTW_SEARCH_PATHS})
SET(FFTW_FOUND FALSE)
IF (FFTW_LIB)
......
......@@ -174,10 +174,10 @@ MACRO(ADD_NEKTAR_EXECUTABLE name component sources)
IF( NEKTAR_USE_MPI )
TARGET_LINK_LIBRARIES(${name} ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
SET_PROPERTY(TARGET ${name}
APPEND PROPERTY COMPILE_FLAGS ${MPI_COMPILE_FLAGS})
SET_PROPERTY(TARGET ${name}
APPEND PROPERTY LINK_FLAGS ${MPI_LINK_FLAGS})
SET_TARGET_PROPERTIES(${name}
PROPERTIES COMPILE_FLAGS "${THE_COMPILE_FLAGS} ${MPI_COMPILE_FLAGS}")
SET_TARGET_PROPERTIES(${name}
PROPERTIES LINK_FLAGS "${THE_LINK_FLAGS} ${MPI_LINK_FLAGS}")
ENDIF( NEKTAR_USE_MPI )
IF( ${CMAKE_SYSTEM} MATCHES "Linux.*" )
......@@ -248,5 +248,12 @@ MACRO(ADD_NEKTAR_LIBRARY name component type)
ENDMACRO(ADD_NEKTAR_LIBRARY name component type)
# Adds a test with a given name.
# The Test Definition File should be in a subdirectory called Tests relative
# to the CMakeLists.txt file calling this macros. The test file should be called
# NAME.tst, where NAME is given as a parameter to this macro.
MACRO(ADD_NEKTAR_TEST name)
GET_FILENAME_COMPONENT(dir ${CMAKE_CURRENT_SOURCE_DIR} NAME)
ADD_TEST(NAME ${dir}_${name}
COMMAND Tester ${CMAKE_CURRENT_SOURCE_DIR}/Tests/${name}.tst)
ENDMACRO(ADD_NEKTAR_TEST)
......@@ -7,7 +7,8 @@ IF (THIRDPARTY_BUILD_BOOST)
IF (NOT WIN32)
# Only build the libraries we need
SET(BOOST_LIB_LIST --with-system --with-iostreams --with-filesystem
--with-program_options --with-date_time --with-thread)
--with-program_options --with-date_time --with-thread
--with-regex)
# We need -fPIC for 64-bit builds
IF( CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" )
......@@ -56,6 +57,9 @@ IF (THIRDPARTY_BUILD_BOOST)
SET(Boost_PROGRAM_OPTIONS_LIBRARY boost_program_options)
SET(Boost_PROGRAM_OPTIONS_LIBRARY_DEBUG boost_program_options)
SET(Boost_PROGRAM_OPTIONS_LIBRARY_RELEASE boost_program_options)
SET(Boost_REGEX_LIBRARY boost_regex)
SET(Boost_REGEX_LIBRARY_DEBUG boost_regex)
SET(Boost_REGEX_LIBRARY_RELEASE boost_regex)
SET(Boost_SYSTEM_LIBRARY boost_system)
SET(Boost_SYSTEM_LIBRARY_DEBUG boost_system)
SET(Boost_SYSTEM_LIBRARY_RELEASE boost_system)
......@@ -88,13 +92,13 @@ ELSE (THIRDPARTY_BUILD_BOOST)
IF( NOT BOOST_ROOT )
#If the user has not set BOOST_ROOT, look in a couple common places first.
SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/ThirdParty/boost)
FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options)
FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib 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)
FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib 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)
FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex)
ELSE()
FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options)
FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex)
ENDIF()
ENDIF (THIRDPARTY_BUILD_BOOST)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
......@@ -22,5 +22,4 @@ IF( NEKTAR_USE_FFTW )
INCLUDE (FindFFTW)
INCLUDE_DIRECTORIES(${FFTW_INCLUDE_DIR})
ENDIF()
ADD_DEFINITIONS(-DNEKTAR_USING_FFTW)
ENDIF( NEKTAR_USE_FFTW )
......@@ -88,3 +88,50 @@ FOREACH(dir ${dir_list})
ADD_SUBDIRECTORY(${dir})
ENDIF(IS_DIRECTORY ${dir} AND EXISTS ${dir}/CMakeLists.txt)
ENDFOREACH(dir ${dir_list})
ADD_NEKTAR_TEST(LocProject1D_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject1D_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff1D_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff1D_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject2D_Tri_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject2D_Tri_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject2D_Tri_Nodal_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject2D_Quad_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject2D_Quad_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject2D_Quad_Lagrange_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject2D_Def_Quad_Ortho_Basis_P4_Q5)
ADD_NEKTAR_TEST(LocProject2D_Def_Quad_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject2D_Def_Quad_Lagrange_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Tet_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Tet_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Prism_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Prism_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Hex_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Hex_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Hex_Lagrange_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Def_Hex_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Def_Hex_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject3D_Def_Hex_Lagrange_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Lin_Deformed_Hex_Lagrange_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Lin_Deformed_Hex_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Lin_Deformed_Hex_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Reg_Hex_Lagrange_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Reg_Hex_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Reg_Hex_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Reg_Prism_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Reg_Prism_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Reg_Tet_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff3D_Reg_Tet_Ortho_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff2D_Lin_Deformed_Quad_Lagrange_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff2D_Lin_Deformed_Quad_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff2D_Lin_Deformed_Quad_Ortho_Basis_P4_Q5)
ADD_NEKTAR_TEST(LocProject_Diff2D_Reg_Quad_Lagrange_Basis_P6_Q=7)
ADD_NEKTAR_TEST(LocProject_Diff2D_Reg_Quad_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff2D_Reg_Quad_Ortho_Basis_P4_Q=5)
ADD_NEKTAR_TEST(LocProject_Diff2D_Tri_Mod_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff2D_Tri_Nodal_Basis_P6_Q7)
ADD_NEKTAR_TEST(LocProject_Diff2D_Tri_Ortho_Basis_P6_Q7)
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project1D Segment Modified basis P=6 Q=7</description>
<executable>LocProject1D</executable>
<parameters>4 6 7 0.0 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12"> 2.22438e-15</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-12">5.88418e-15</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project1D Segment Orthogonal basis P=6 Q=7</description>
<executable>LocProject1D</executable>
<parameters>1 6 7 0.0 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">4.26337e-16</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-12">8.88178e-16</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project2D Deformed Quad Lagrange basis P=6 Q=7</description>
<executable>LocProject2D</executable>
<parameters>3 8 8 6 6 7 7 0.0 0.0 1.0 0.0 1.5 1.5 0.0 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">0.0970116</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-11">0.793473</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project2D Deformed Quad Modified basis P=6 Q=7</description>
<executable>LocProject2D</executable>
<parameters>3 4 4 6 6 7 7 0.0 0.0 1.0 0.0 1.5 1.5 0.0 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">0.0970116</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-11">0.793473</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project2D Deformed Quad Ortho basis P=4 Q=5</description>
<executable>LocProject2D</executable>
<parameters>3 1 1 6 6 7 7 0.0 0.0 1.0 0.0 1.5 1.5 0.0 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">0.0970116</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-11">0.793473</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project2D Quad Lagrange basis P=6 Q=7</description>
<executable>LocProject2D</executable>
<parameters>3 8 8 6 6 7 7 0.0 0.0 1.0 0.0 1.0 1.0 0.0 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">1.81771e-15</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-11">1.06581e-14</value>
</metric>
</metrics>
</test>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project2D Quad Modified basis P=4 Q=5</description>
<executable>LocProject2D</executable>
<parameters>3 4 4 6 6 7 7 0.0 0.0 1.0 0.0 1.0 1.0 0.0 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">1.24683e-13</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-11">5.82645e-13</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project2D Quad Orthogonal basis P=4 Q=5</description>
<executable>LocProject2D</executable>
<parameters>3 1 1 6 6 7 7 0.0 0.0 1.0 0.0 1.0 1.0 0.0 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">2.06086e-15</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-12">7.10543e-15</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project2D Triangle Modified basis P=6 Q=7</description>
<executable>LocProject2D</executable>
<parameters>2 4 5 6 6 7 7 0.0 0.0 1.0 1.0 0.5 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">2.43556e-14</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-12">2.04281e-13</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project2D Triangle Nodal basis P=6 Q=7</description>
<executable>LocProject2D</executable>
<parameters>2 11 11 6 6 7 7 0.0 0.0 1.0 1.0 0.5 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">1.84567e-15</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-12">7.10543e-14</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project2D Triangle Orthogonal basis P=6 Q=7</description>
<executable>LocProject2D</executable>
<parameters>2 1 2 6 6 7 7 0.0 0.0 1.0 1.0 0.5 1.0</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">1.25467e-15</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-12">6.21725e-14</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project3D Deformed Hex Lagrange basis P=6 Q=7</description>
<executable>LocProject3D</executable>
<parameters>7 8 8 8 6 6 6 7 7 7 0 0 0 1 0 0 1 1.5 0 0 1 0 0 0 1 1.5 0 1 1 1 1 0 1 1.5</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">0.00820104</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-11">0.0804162</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project3D Deformed Hex Modified basis P=6 Q=7</description>
<executable>LocProject3D</executable>
<parameters>7 4 4 4 6 6 6 7 7 7 0 0 0 1 0 0 1 1.5 0 0 1 0 0 0 1 1.5 0 1 1 1 1 0 1 1.5</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">0.00820104</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-11">0.0804162</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Project3D Deformed Hex Ortho basis P=6 Q=7</description>
<executable>LocProject3D</executable>
<parameters>7 1 1 1 6 6 6 7 7 7 0 0 0 1 0 0 1 1.5 0 0 1 0 0 0 1 1.5 0 1 1 1 1 0 1 1.5</parameters>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">0.00820104</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-11">0.0804162</value>
</metric>
</metrics>
</test>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment