Commit a600d374 authored by Dave Moxey's avatar Dave Moxey

Merge branch 'master' into feature/partcheck

parents 1f64d4bf 516a141e
......@@ -296,7 +296,6 @@ INSTALL(FILES ${CMAKE_BINARY_DIR}/Nektar++Config.cmake
${CMAKE_SOURCE_DIR}/cmake/FindMetis.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
${CMAKE_SOURCE_DIR}/cmake/FindGSMPI.cmake
${CMAKE_SOURCE_DIR}/cmake/FindXXT.cmake
......
# - Nektar++ Config File
#
# Use this module by invoking find_package with the form:
# FIND_PACKAGE(Nektar++
# [version] [EXACT] # Minimum or EXACT version e.g. 1.36.0
# [REQUIRED] # Fail with error if Nektar++ is not found
# ) #
#
# This sets the following variables:
# Nektar++_FOUND - True if headers and requested libraries were found
# Nektar++_VERSION - Nektar++_VERSION
# Nektar++_INCLUDE_DIRS - Nektar++ include directories
# Nektar++_LIBRARY_DIRS - Link directories for Nektar++ libraries
# Nektar++_DEFINITIONS - Nektar++ build flags
# Nektar++_LIBRARIES - Nektar++ component libraries to be linked
#
# Nektar++_TP_INCLUDE_DIRS - Nektar++ ThirdParty include directories
# Nektar++_TP_LIBRARY_DIRS - Link directories for Nektar++ ThirdParty libraries
# Nektar++_TP_LIBRARIES - Nektar++ ThirdParty libraries to be linked
#
# Example Use:
# FIND_PACKAGE(Nektar++ REQUIRED)
# ADD_DEFINITIONS(${NEKTAR++_DEFINITIONS})
# INCLUDE_DIRECTORIES(${NEKTAR++_INCLUDE_DIRS} ${NEKTAR++_TP_INCLUDE_DIRS})
# LINK_DIRECTORIES(${NEKTAR++_LIBRARY_DIRS} ${NEKTAR++_TP_LIBRARY_DIRS})
# TARGET_LINK_LIBRARIES(${ProjectName} ${NEKTAR++_LIBRARIES} ${NEKTAR++_TP_LIBRARIES})
#
# set basic variables
SET(NEKTAR++_FOUND "ON")
SET(NEKTAR++_VERSION "@NEKTAR_VERSION@")
SET(NEKTAR++_ROOT_DIR "@CMAKE_INSTALL_PREFIX@")
SET(NEKTAR++_INCLUDE_DIRS "${NEKTAR++_ROOT_DIR}/@NEKTAR_INCLUDE_DIR@")
SET(NEKTAR++_LIBRARY_DIRS "${NEKTAR++_ROOT_DIR}/@NEKTAR_LIB_DIR@")
SET(NEKTAR++_BIN_DIR "${NEKTAR++_ROOT_DIR}/@NEKTAR_BIN_DIR@")
SET(NEKTAR++_SHARE_DIR "${NEKTAR++_ROOT_DIR}/@NEKTAR_SHARE_DIR@")
SET(NEKTAR++_DEFINITIONS "")
SET(NEKTAR++_LIBRARIES SolverUtils MultiRegions LocalRegions SpatialDomains StdRegions LibUtilities)
SET(NEKTAR++_TP_INCLUDE_DIRS "")
SET(NEKTAR++_TP_LIBRARIES "")
SET(NEKTAR++_TP_LIBRARY_DIRS "@CMAKE_SOURCE_DIR@/ThirdParty/dist/lib/")
# add Nektar++_ROOT_DIR to the cmake search path, so Nektars custom FindXXX modules can be used
SET(CMAKE_MODULE_PATH ${NEKTAR++_ROOT_DIR} ${CMAKE_MODULE_PATH})
# set nektars config variables
SET(NEKTAR_USE_MEMORY_POOLS "@NEKTAR_USE_MEMORY_POOLS@")
MARK_AS_ADVANCED(NEKTAR_USE_MEMORY_POOLS)
IF( NEKTAR_USE_MEMORY_POOLS )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_MEMORY_POOL_ENABLED")
ENDIF( NEKTAR_USE_MEMORY_POOLS )
SET(NEKTAR_USE_SMV "@NEKTAR_USE_SMV@")
IF( NEKTAR_USE_SMV )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_USING_SMV")
ENDIF( NEKTAR_USE_SMV )
SET(NEKTAR_USE_ACML "@NEKTAR_USE_ACML@")
SET(NEKTAR_USE_ACML "@NEKTAR_USE_EXPRESSION_TEMPLATES@")
IF( NEKTAR_USE_EXPRESSION_TEMPLATES )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_USE_EXPRESSION_TEMPLATES")
ENDIF( NEKTAR_USE_EXPRESSION_TEMPLATES )
SET(NEKTAR_USE_WIN32_LAPACK "@NEKTAR_USE_WIN32_LAPACK@")
IF( NEKTAR_USE_WIN32_LAPACK )
GET_FILENAME_COMPONENT(WIN32_BLAS_PATH "@WIN32_BLAS@" PATH)
GET_FILENAME_COMPONENT(WIN32_LAPACK_PATH "@WIN32_LAPACK@" PATH)
ENDIF( NEKTAR_USE_WIN32_LAPACK )
SET(NEKTAR_USE_BLAS_LAPACK "@NEKTAR_USE_BLAS_LAPACK@")
IF( NEKTAR_USE_BLAS_LAPACK )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_USING_LAPACK -DNEKTAR_USING_BLAS")
ENDIF( NEKTAR_USE_BLAS_LAPACK )
SET(NEKTAR_USE_EXPRESSION_TEMPLATES "@NEKTAR_USE_EXPRESSION_TEMPLATES@")
MARK_AS_ADVANCED(NEKTAR_USE_EXPRESSION_TEMPLATES)
SET(NEKTAR_FULL_DEBUG "@NEKTAR_FULL_DEBUG@")
IF ( NEKTAR_FULL_DEBUG )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_FULLDEBUG")
ENDIF( NEKTAR_FULL_DEBUG)
SET(Boost_USE_STATIC_LIBS "@Boost_USE_STATIC_LIBS@")
SET(Boost_USE_MULTITHREADED "@Boost_USE_MULTITHREADED@")
SET(BOOST_INCLUDEDIR "@BOOST_INCLUDEDIR@")
SET(BOOST_LIBRARYDIR "@BOOST_LIBRARYDIR@")
SET(Boost_FOUND "@Boost_FOUND@")
SET(Boost_INCLUDE_DIRS "@Boost_INCLUDE_DIRS@")
SET(Boost_INCLUDE_DIR "@Boost_INCLUDE_DIR@")
SET(Boost_LIBRARIES "@Boost_LIBRARIES@")
SET(Boost_LIBRARY_DIRS "@Boost_LIBRARY_DIRS@")
SET(Boost_VERSION "@Boost_VERSION@")
SET(Boost_THREAD_LIBRARY "@Boost_THREAD_LIBRARY@")
SET(Boost_ZLIB_LIBRARY "@Boost_ZLIB_LIBRARY@")
SET(Boost_IOSTREAMS_LIBRARY "@Boost_IOSTREAMS_LIBRARY@")
SET(Boost_DATE_TIME_LIBRARY "@Boost_DATE_TIME_LIBRARY@")
SET(Boost_FILESYSTEM_LIBRARY "@Boost_FILESYSTEM_LIBRARY@")
SET(Boost_SYSTEM_LIBRARY "@Boost_SYSTEM_LIBRARY@")
SET(Boost_PROGRAM_OPTIONS_LIBRARY "@Boost_PROGRAM_OPTIONS_LIBRARY@")
SET(NEKTAR_USE_DIRECT_BLAS_CALLS "@NEKTAR_USE_DIRECT_BLAS_CALLS@")
MARK_AS_ADVANCED(NEKTAR_USE_DIRECT_BLAS_CALLS)
SET(NEKTAR_USE_SMV "@NEKTAR_USE_SMV@")
MARK_AS_ADVANCED(NEKTAR_USE_SMV)
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS})
SET(NEKTAR++_TP_LIBRARIES ${NEKTAR++_TP_LIBRARIES} ${Boost_LIBRARIES})
SET(NEKTAR_USE_MPI "@NEKTAR_USE_MPI@")
SET(MPI_LIBRARY "@MPI_LIBRARY@")
SET(MPI_EXTRA_LIBRARY "@MPI_EXTRA_LIBRARY@")
SET(MPI_INCLUDE_PATH "@MPI_INCLUDE_PATH@")
SET(NEKTAR_FULL_DEBUG "@NEKTAR_FULL_DEBUG@")
SET(CMAKE_MODULE_PATH ${NEKTAR++_ROOT_DIR} ${CMAKE_MODULE_PATH})
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${MPI_INCLUDE_PATH})
SET(NEKTAR++_TP_LIBRARIES ${NEKTAR++_TP_LIBRARIES} ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
IF( NEKTAR_USE_MPI )
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -DNEKTAR_USE_MPI")
ENDIF( NEKTAR_USE_MPI )
SET(LOKI_ADDITIONAL_INCLUDE_DIRS "@LOKI_INCLUDE_DIR@")
INCLUDE(${NEKTAR++_ROOT_DIR}/FindLoki.cmake)
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${LOKI_ADDITIONAL_INCLUDE_DIRS})
SET(TINYXML_ADDITIONAL_INCLUDE_DIRS "@TINYXML_BASE@")
INCLUDE(${NEKTAR++_ROOT_DIR}/FindTinyXml.cmake)
SET(NEKTAR_USE_ACML "@NEKTAR_USE_ACML@")
SET(ACML_USE_SHARED_LIBRARIES "@ACML_USE_SHARED_LIBRARIES@")
SET(ACML_USE_OPENMP_LIBRARIES "@ACML_USE_OPENMP_LIBRARIES@")
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${TINYXML_ADDITIONAL_INCLUDE_DIRS})
SET(NEKTAR_USE_WIN32_LAPACK "@NEKTAR_USE_WIN32_LAPACK@")
SET(WIN32_LAPACK "@WIN32_LAPACK@")
SET(WIN32_BLAS "@WIN32_BLAS@")
SET(WIN32_LAPACK_FOUND "@WIN32_LAPACK_FOUND@")
SET(LAPACK_DIR "@LAPACK_DIR@")
SET(NEKTAR_USE_ATLAS "@NEKTAR_USE_ATLAS@")
SET(NEKTAR_USE_MKL "@NEKTAR_USE_MKL@")
SET(NEKTAR_USE_BLAS_LAPACK "@NEKTAR_USE_BLAS_LAPACK@")
SET(NEKTAR_USE_SYSTEM_BLAS_LAPACK "@NEKTAR_USE_SYSTEM_BLAS_LAPACK@")
MARK_AS_ADVANCED(NEKTAR_USE_BLAS_LAPACK)
SET(NEKTAR_BUILD_SHARED "@NEKTAR_BUILD_SHARED@")
SET(METIS_FOUND "@METIS_FOUND@")
SET(NEKTAR_USE_METIS "@NEKTAR_USE_METIS@")
SET(METIS_LIB "@METIS_LIB@" CACHE FILEPATH "Metis Library" FORCE)
MARK_AS_ADVANCED(METIS_FOUND)
MARK_AS_ADVANCED(METIS_LIB)
MARK_AS_ADVANCED(NEKTAR_USE_METIS)
SET(FFTW_FOUND "@FFTW_FOUND@")
SET(NEKTAR_USE_FFTW "@NEKTAR_USE_FFTW@")
SET(FFTW_LIB "@FFTW_LIB@" CACHE FILEPATH "FFTW Library" FORCE)
SET(FFTW_INCLUDE_DIR "@FFTW_INCLUDE_DIR@")
MARK_AS_ADVANCED(FFTW_FOUND)
MARK_AS_ADVANCED(FFTW_LIB)
MARK_AS_ADVANCED(FFTW_INCLUDE_DIR)
MARK_AS_ADVANCED(NEKTAR_USE_FFTW)
SET(ARPACK_FOUND "@ARPACK_FOUND@")
SET(NEKTAR_USE_ARPACK "@NEKTAR_USE_ARPACK@")
SET(ARPACK_LIB "@ARPACK_LIB@" CACHE FILEPATH "ARPACK library" FORCE)
SET(ARPACK_INCLUDE_DIR "@ARPACK_INCLUDE_DIR@")
MARK_AS_ADVANCED(ARPACK_FOUND)
MARK_AS_ADVANCED(ARPACK_LIB)
MARK_AS_ADVANCED(ARPACK_INCLUDE_DIR)
MARK_AS_ADVANCED(NEKTAR_USE_ARPACK)
SET(VTK_FOUND "@VTK_FOUND@")
SET(NEKTAR_USE_VTK "@NEKTAR_USE_VTK@")
SET(VTK_USE_FILE "@VTK_USE_FILE@" CACHE FILEPATH "VTK library config." FORCE)
SET(VTK_INCLUDE_DIRS "@VTK_INCLUDE_DIRS@")
MARK_AS_ADVANCED(VTK_FOUND)
MARK_AS_ADVANCED(NEKTAR_USE_VTK)
MARK_AS_ADVANCED(VTK_USE_FILE)
MARK_AS_ADVANCED(VTK_INCLUDE_DIRS)
IF (${CMAKE_COMPILER_IS_GNUCXX})
SET(NEKTAR_ENABLE_PROFILE "@ NEKTAR_ENABLE_PROFILE@")
ENDIF (${CMAKE_COMPILER_IS_GNUCXX})
SET(NEKTAR_USE_TINYXML_STL "@NEKTAR_USE_TINYXML_STL@")
IF( APPLE )
SET(NEKTAR_USE_ACCELERATE_FRAMEWORK "@NEKTAR_USE_ACCELERATE_FRAMEWORK@")
SET(NEKTAR_USE_CHUD_FRAMEWORK "@NEKTAR_USE_CHUD_FRAMEWORK@")
MARK_AS_ADVANCED(NEKTAR_USE_CHUD_FRAMEWORK)
ENDIF(APPLE)
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${FFTW_INCLUDE_DIR})
IF( NEKTAR_USE_WIN32_LAPACK )
GET_FILENAME_COMPONENT(WIN32_BLAS_PATH "@WIN32_BLAS@" PATH)
GET_FILENAME_COMPONENT(WIN32_LAPACK_PATH "@WIN32_LAPACK@" PATH)
SET(ARPACK_INCLUDE_DIR "@ARPACK_INCLUDE_DIR@")
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${ARPACK_INCLUDE_DIR})
SET(WIN32_LAPACK_ADDITIONAL_DIRS ${WIN32_BLAS_PATH} ${WIN32_LAPACK_PATH})
ENDIF( NEKTAR_USE_WIN32_LAPACK )
SET(VTK_INCLUDE_DIRS "@VTK_INCLUDE_DIRS@")
SET(NEKTAR++_TP_INCLUDE_DIRS ${NEKTAR++_TP_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS})
INCLUDE(${NEKTAR++_ROOT_DIR}/NektarCommon.cmake)
# find and add Nektar++ libraries
INCLUDE(${NEKTAR++_LIBRARY_DIRS}/Nektar++Libraries.cmake)
FIND_FILE(NEKTAR_DEBUG_LIBRARIES Nektar++Libraries-debug.cmake ${NEKTAR++_LIBRARY_DIRS})
IF( NEKTAR_DEBUG_LIBRARIES )
INCLUDE(${NEKTAR_DEBUG_LIBRARIES})
ENDIF( NEKTAR_DEBUG_LIBRARIES )
FIND_FILE(NEKTAR_RELEASE_LIBRARIES Nektar++Libraries-release.cmake ${NEKTAR++_LIBRARY_DIRS})
IF(NEKTAR_RELEASE_LIBRARIES)
INCLUDE(${NEKTAR_RELEASE_LIBRARIES})
ENDIF(NEKTAR_RELEASE_LIBRARIES)
FIND_FILE(NEKTAR_RELEASE_WITH_DEBUG_INFO_LIBRARIES Nektar++Libraries-relwithdebinfo.cmake ${NEKTAR++_LIBRARY_DIRS})
IF(NEKTAR_RELEASE_WITH_DEBUG_INFO_LIBRARIES)
INCLUDE(${NEKTAR_RELEASE_WITH_DEBUG_INFO_LIBRARIES})
ENDIF(NEKTAR_RELEASE_WITH_DEBUG_INFO_LIBRARIES)
SET(NEKTAR++_LIBRARIES SolverUtils MultiRegions LocalRegions SpatialDomains StdRegions LibUtilities)
MARK_AS_ADVANCED(NEKTAR_RELEASE_LIBRARIES)
MARK_AS_ADVANCED(NEKTAR_DEBUG_LIBRARIES)
MARK_AS_ADVANCED(NEKTAR_RELEASE_WITH_DEBUG_INFO_LIBRARIES)
IF(NEKTAR_USE_FFTW)
INCLUDE_DIRECTORIES(${FFTW_INCLUDE_DIR})
ENDIF(NEKTAR_USE_FFTW)
IF(NEKTAR_USE_ARPACK)
INCLUDE_DIRECTORIES(${ARPACK_INCLUDE_DIR})
ENDIF(NEKTAR_USE_ARPACK)
INCLUDE_DIRECTORIES(SYSTEM ${Boost_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${LOKI_INCLUDE_DIR} ${TINYXML_BASE} )
# platform dependent options
if(${CMAKE_SYSTEM} MATCHES "Linux.*")
set(NEKTAR++_TP_LIBRARIES ${NEKTAR++_TP_LIBRARIES} rt)
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -pthread")
endif(${CMAKE_SYSTEM} MATCHES "Linux.*")
SET(NEKTAR_PACKAGE_GENERATOR "@NEKTAR_PACKAGE_GENERATOR@")
SET(NEKTAR_USING_BLAS "@NEKTAR_USING_BLAS@")
SET(NEKTAR_USING_LAPACK "@NEKTAR_USING_LAPACK@")
SET(NEKTAR_USING_MKL "@NEKTAR_USING_MKL@")
SET(NEKTAR_USING_ACML "@NEKTAR_USING_ACML@")
SET(NEKTAR_USING_OPENBLAS "@NEKTAR_USING_OPENBLAS@")
SET(NEKTAR_USING_SMV "@NEKTAR_USING_SMV@")
if(${CMAKE_SYSTEM} MATCHES "Darwin-*")
SET(NEKTAR++_DEFINITIONS "${NEKTAR++_DEFINITIONS} -Wl,-undefined,dynamic_lookup -Wl,-rpath,${CMAKE_INSTALL_PREFIX}/${LIB_DIR} -Wl,-rpath,${Boost_LIBRARY_DIRS}")
endif(${CMAKE_SYSTEM} MATCHES "Darwin-*")
......@@ -3,20 +3,17 @@ dist-exclude
builds/*
nektar++-*
ThirdParty
templates
Testing
library/CPackRPM.cmake
library/Demos/StdRegions/ExtraDemos
library/Demos/MultiRegions/ExtraDemos
solvers/ADR2DManifoldSolver
solvers/CardiacEPSolver/Utilities
solvers/FitzHughNagumoSolver
solvers/ImageWarpingSolver
solvers/PulseWaveSolver
solvers/VortexWaveInteraction
solvers/CompressibleFlowSolver/Tests/Perturbation*
docs/*.doc
docs/arch
docs/emacs
docs/.cvsignore
docs/html/code
docs/html/images
docs/html/downloads
......
#!/bin/bash
# @author Chris Cantwell
#
# This script generates Nektar++ distributions, comprising of the following:
# - A code distribution (nektar++-VERSION.tar.gz)
# - A website package (nektar++-web-VERSION.tar.gz)
# This script generates Nektar++ distributions (nektar++-VERSION.tar.gz)
# The file VERSION contains the version number of the generated release.
# A working copy of the ThirdParty repository should be placed in a subdirectory
# called ThirdParty, or sym-linked to such from elsewhere. If available, the
# ThirdParty distribution will also be compiled and included in the web package.
#
# @requires rsync doxygen tar
......@@ -16,13 +11,6 @@ cd $BASE
TARGET=nektar++-`cat VERSION`
# Make Web tree target
if [ -d $TARGET-web ]; then
rm -rf $TARGET-web
fi
mkdir -p $TARGET-web
mkdir -p $TARGET-web/downloads/
# Make Code tree target
if [ -d $TARGET ]; then
rm -rf $TARGET
......@@ -37,36 +25,5 @@ rsync -avqH --cvs-exclude --exclude-from dist-exclude * $TARGET
echo "Packaging code distribution..."
tar -zc -f $TARGET.tar.gz $TARGET
# Generate ThirdParty package if available
if [ -d ThirdParty -o -h ThirdParty ]; then
if [ -f ThirdParty/distribute.sh ]; then
ThirdParty/distribute.sh
mv ThirdParty/ThirdParty-*.tar.gz $TARGET-web/downloads/
else
echo "ThirdParty directory exists, but without distribution script."
fi
else
echo "ThirdParty not available. Please package separately."
fi
# Generate documentation for distributed code
echo "Generating doxygen docs...this will take a while..."
cd $TARGET/docs/html/doxygen
doxygen doxygen > /dev/null 2>&1
cd ../../../../
# Create web tree
echo "Generating web tree..."
rsync -avqH --cvs-exclude --exclude='code' docs/html/* $TARGET-web
mv $TARGET/docs/html/code $TARGET-web/
mv $TARGET.tar.gz $TARGET-web/downloads/
# Package web tree
echo "Packaging web distribution..."
tar -zc -f $TARGET-web.tar.gz $TARGET-web
mv $TARGET-web/downloads/$TARGET.tar.gz .
# Clean up
rm -rf $TARGET-web
rm -rf $TARGET
......@@ -129,12 +129,7 @@ int main(int argc, char *argv[])
//-----------------------------------------------
// Write solution to file
//string out = vSession->GetSessionName();
//if (vComm->GetSize() > 1)
//{
// out += "_P" + boost::lexical_cast<string>(vComm->GetRank());
//}
//out += ".fld";
//string out = vSession->GetSessionName() + ".fld";
//std::vector<LibUtilities::FieldDefinitionsSharedPtr> FieldDef
// = Exp->GetFieldDefinitions();
//std::vector<std::vector<NekDouble> > FieldData(FieldDef.size());
......
......@@ -129,12 +129,7 @@ int main(int argc, char *argv[])
//-----------------------------------------------
// Write solution to file
//string out = vSession->GetSessionName();
//if (vComm->GetSize() > 1)
//{
// out += "_P" + boost::lexical_cast<string>(vComm->GetRank());
//}
//out += ".fld";
//string out = vSession->GetSessionName() + ".fld";
//std::vector<LibUtilities::FieldDefinitionsSharedPtr> FieldDef
// = Exp->GetFieldDefinitions();
//std::vector<std::vector<NekDouble> > FieldData(FieldDef.size());
......
......@@ -36,6 +36,8 @@
#ifndef NEKTARUNIVCONSTS_HPP
#define NEKTARUNIVCONSTS_HPP
#include <limits>
#include <LibUtilities/BasicConst/NektarUnivTypeDefs.hpp>
namespace Nektar
......@@ -43,6 +45,7 @@ namespace Nektar
namespace NekConstants
{
static const NekDouble kNekUnsetDouble = -9999;
static const NekDouble kNekMinResidInit = 1e16;
static const NekDouble kVertexTheSameDouble = 1.0e-8;
static const NekDouble kGeomFactorsTol = 1.0e-8;
static const NekDouble kNekZeroTol = 1.0e-12;
......
......@@ -138,6 +138,12 @@ namespace ErrorUtil
ErrorUtil::Error(ErrorUtil::efatal, __FILE__, __LINE__, msg, 0); \
}
#define WARNINGL0(condition,msg) \
if(!(condition)) \
{ \
ErrorUtil::Error(ErrorUtil::ewarning, __FILE__, __LINE__, msg, 0); \
}
/// Assert Level 1 -- Debugging which is used whether in FULLDEBUG or
/// DEBUG compilation mode. This level assert is designed for aiding
......@@ -149,9 +155,15 @@ namespace ErrorUtil
{ \
ErrorUtil::Error(ErrorUtil::efatal, __FILE__, __LINE__, msg, 1); \
}
#define WARNINGL1(condition,msg) \
if(!(condition)) \
{ \
ErrorUtil::Error(ErrorUtil::ewarning, __FILE__, __LINE__, msg, 0); \
}
#else //defined(NEKTAR_DEBUG) || defined(NEKTAR_FULLDEBUG)
#define ASSERTL1(condition,msg)
#define WARNINGL1(condition,msg)
#endif //defined(NEKTAR_DEBUG) || defined(NEKTAR_FULLDEBUG)
......@@ -165,9 +177,15 @@ namespace ErrorUtil
{ \
ErrorUtil::Error(ErrorUtil::efatal, __FILE__, __LINE__, msg, 2); \
}
#define WARNINGL2(condition,msg) \
if(!(condition)) \
{ \
ErrorUtil::Error(ErrorUtil::ewarning, __FILE__, __LINE__, msg, 0); \
}
#else //NEKTAR_FULLDEBUG
#define ASSERTL2(condition,msg)
#define WARNINGL2(condition,msg)
#endif //NEKTAR_FULLDEBUG
#endif //ERRORUTIL_HPP
......
......@@ -76,8 +76,21 @@ namespace Nektar
{
#ifdef NEKTAR_USE_MPI
int size;
MPI_Comm_size( MPI_COMM_WORLD, &size );
ASSERTL0(size == 1, "This function is not available in parallel.");
int init;
MPI_Initialized(&init);
// If MPI has been initialised we can check the number of processes
// and, if > 1, tell the user he should not be running this
// function in parallel. If it is not initialised, we do not
// initialise it here, and assume the user knows what they are
// doing.
if (init)
{
MPI_Comm_size( MPI_COMM_WORLD, &size );
ASSERTL0(size == 1,
"This static function is not available in parallel. Please"
"instantiate a FieldIO object for parallel use.");
}
#endif
CommSharedPtr c = GetCommFactory().CreateInstance("Serial", 0, 0);
FieldIO f(c);
......@@ -99,8 +112,21 @@ namespace Nektar
{
#ifdef NEKTAR_USE_MPI
int size;
MPI_Comm_size( MPI_COMM_WORLD, &size );
ASSERTL0(size == 1, "This function is not available in parallel.");
int init;
MPI_Initialized(&init);
// If MPI has been initialised we can check the number of processes
// and, if > 1, tell the user he should not be running this
// function in parallel. If it is not initialised, we do not
// initialise it here, and assume the user knows what they are
// doing.
if (init)
{
MPI_Comm_size( MPI_COMM_WORLD, &size );
ASSERTL0(size == 1,
"This static function is not available in parallel. Please"
"instantiate a FieldIO object for parallel use.");