Commit 7414f733 authored by Dave Moxey's avatar Dave Moxey

Merge branch 'master' into feature/pyramid

Conflicts:
	library/LibUtilities/BasicUtils/ShapeType.hpp
	library/SpatialDomains/Geometry3D.cpp
	library/SpatialDomains/PyrGeom.cpp
	library/SpatialDomains/PyrGeom.h
	library/StdRegions/StdPrismExp.cpp
	library/StdRegions/StdPyrExp.cpp
	library/StdRegions/StdPyrExp.h
	library/StdRegions/StdTetExp.cpp
	utilities/PreProcessing/MeshConvert/InputGmsh.cpp
parents 9b65304e 36763032
......@@ -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
......@@ -5,6 +5,9 @@
SET(MemoryManagerSources
MemoryManager.cpp)
SET(PartitionAnalyseSources
PartitionAnalyse.cpp)
SET(VecMatSources
VecMatExample.cpp)
......@@ -37,6 +40,9 @@ SET(TimeIntegrationDemoSources
ADD_NEKTAR_EXECUTABLE(Matrix demos VecMatSources)
SET_LAPACK_LINK_LIBRARIES(Matrix)
ADD_NEKTAR_EXECUTABLE(PartitionAnalyse demos PartitionAnalyseSources)
SET_LAPACK_LINK_LIBRARIES(PartitionAnalyse)
ADD_NEKTAR_EXECUTABLE(FoundationDemo demos FoundationSources )
SET_LAPACK_LINK_LIBRARIES(FoundationDemo)
......
///////////////////////////////////////////////////////////////////////////////
//
// File: PartitionAnalyse.cpp
//
// For more information, please see: http://www.nektar.info
//
// The MIT License
//
// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
// Department of Aeronautics, Imperial College London (UK), and Scientific
// Computing and Imaging Institute, University of Utah (USA).
//
// License for the specific language governing rights and limitations under
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//
// Description: Small utility to export histogram of partition sizes.
//
///////////////////////////////////////////////////////////////////////////////
#include <LibUtilities/BasicUtils/SessionReader.h>
#include <LibUtilities/BasicUtils/MeshPartition.h>
#include <LibUtilities/Communication/CommSerial.h>
#include <iostream>
using namespace std;
using namespace Nektar;
using namespace Nektar::LibUtilities;
class FauxComm : public CommSerial
{
public:
FauxComm(int argc, char* argv[], int size)
: CommSerial(argc, argv)
{
m_size = size;
m_type = "Faux parallel";
}
FauxComm(int size) : CommSerial(0, NULL)
{
m_size = size;
m_type = "Faux parallel";
}
virtual ~FauxComm() {}
void v_SplitComm(int pRows, int pColumns)
{
m_commRow = boost::shared_ptr<FauxComm>(new FauxComm(pColumns));
m_commColumn = boost::shared_ptr<FauxComm>(new FauxComm(pRows));
}
};
int main(int argc, char *argv[])
{
if (argc < 3)
{
cerr << "Usage: PartitionAnalyse <nproc> <xml file1> [xml file 2..n]"
<< endl;
return 1;
}
int nParts = atoi(argv[1]);
vector<string> filenames(argv + 2, argv + argc);
CommSharedPtr vComm = boost::shared_ptr<FauxComm>(
new FauxComm(argc, argv, nParts));
char **new_argv = new char*[argc];
new_argv[0] = strdup("PartitionAnalyse");
new_argv[1] = strdup("--part-info");
for (int i = 0; i < argc-2; ++i)
{
new_argv[i+2] = strdup(filenames[i].c_str());
}
LibUtilities::SessionReaderSharedPtr vSession
= LibUtilities::SessionReader::CreateInstance(
argc, new_argv, filenames, vComm);
return 0;
}
......@@ -129,12 +129,7 @@ int main(int argc, char *argv[])
//-----------------------------------------------
// Write solution to file
//string out = vSession->GetSessionName();
//if (vComm->GetSize() > 1)
//{