Commit 71291b23 authored by Kurt Sansom's avatar Kurt Sansom

merged feedback for updates to Womersley Boundary condition

parents 7e336c65 43eb5377
......@@ -14,7 +14,7 @@ v5.0.0
functionality in FUNCTIONs defined for forcings (!759)
- Add patch to tinyxml to fix size_t vs int bug (!820)
- Add ARPACK thirdparty build capabilities (!828)
- Added native support for csv files in addititon to pts (!760 !835)
- Added native support for csv files in addititon to pts (!760, !835, !906)
- Utilize LAPACK_DIR env variable to find the native blas/lapack install (!827)
- Remove StdExpansion use from MultiRegion (use Expansions instead). (!831)
- Move steady state check and CFL output from solvers to SolverUtils (!832)
......@@ -22,7 +22,7 @@ v5.0.0
- Simplify RawType typedefs (!840)
- Remove unused files from BasicUtils (!841)
- Remove checks for old boost versions which are no longer supported (!841)
- Refactor ParseUtils to be more consistent (!843, !896)
- Refactor ParseUtils to be more consistent (!843, !896, !908)
- Added support for using the distance to a specific region (e.g. outlet) in the
function definitions for the Absorption Forcing (!769)
- Improve performance of DisContField2D::v_ExtractTracePhys (!824)
......@@ -34,9 +34,12 @@ v5.0.0
- Fix mac OSX on buildbots (!876)
- Fix error from (!826) (!876)
- Fix minor bug in ARPACK thirdparty build cmake (!874)
- Added NekCDouble as complex double to core library type defs (!814)
- Switch MeshGraph to use factory pattern and add HDF5 geometry support (!900)
- Remove requirement for modmetis, switch to SCOTCH by default (!899)
- Switch MeshGraph to use factory pattern and add HDF5 geometry support
(!900, !904)
- Fix bug in MeshPartition.cpp which caused incorrect array access when
WeightPartitions was used in parallel (!923)
**NekMesh**:
- Add feature to read basic 2D geo files as CAD (!731)
- Add periodic boundary condition meshing in 2D (!733)
......@@ -61,6 +64,10 @@ v5.0.0
- Skip CFI groups of bodies and non-numbered nodes (!891)
- Add ability to space out 2D BL nodes to better fit local target Delta (!890)
- Fix automatic peralign call in 2D periodic meshing (!888)
- Fix BL splitting call from MCF (!910)
- Support CFI combined lines (!917)
- Order nodes in Gmsh output (!912)
- Fix manifold face curvature nodes (!913)
**FieldConvert**:
- Add input module for Semtex field files (!777)
......@@ -72,7 +79,7 @@ v5.0.0
- Enable output to multiple files (!844)
- Allow using xml file without expansion tag in FieldConvert (!849)
- Add Lambda 2 vortex detection criteria (!882)
- Add module for calculating new field from existing ones (!889)
- Add module for modifying/adding fields from expressions (!889, !903)
- Add module for evaluating the mean of variables on the domain (!894)
**IncNavierStokesSolver**
......@@ -84,9 +91,10 @@ v5.0.0
**CompressibleFlowSolver**
- Add 3D regression tests (!567)
- Introduce forcing for quasi-1D Euler simulations (!771)
- Allow performing axi-symmetric Euler simulations (!771)
- Allow performing axi-symmetric Euler and NS simulations (!771, !866)
- Add ability to use an exponential filtering for stabilization with
seg, quad and hex elements (!771, !862)
- Introduce equations of state to account for real gas effects (!880)
**APESolver:**
- Added two new boundary conditions to the APE system: RiemannInvariantBC
......@@ -107,6 +115,8 @@ v4.4.2
- Fix calculation of BLPoints (!892)
- Fix deadlock in DiffusionLDG (!885)
- Fix uninitialised coefficients in DirectFull solver (!898)
- Updated PETSc to 3.7.7 (!916)
- Fix typcase to an integer which set Lz < 1 to zero when postprocess hdf5 output (!9922)
**NekMesh**
- Fix missing periodic boundary meshing and boundary layer mesh adjustment
......@@ -116,6 +126,7 @@ v4.4.2
**Documentation**:
- Fix sign of the viscous term in the velocity correction scheme equations in
the user guide (!856)
- Fixed anonymous clone URL (!909)
**FieldConvert**
- Allow passing input name with trailing separator (!879)
......
......@@ -56,8 +56,6 @@ ENABLE_TESTING()
# Use the CMake 2.4 policy for CMake 2.6
IF(COMMAND cmake_policy)
CMAKE_POLICY(SET CMP0003 OLD)
# Silence warnings when using generator expressions in
# TARGET_LINK_LIBRARIES.
IF(POLICY CMP0022)
......@@ -356,17 +354,21 @@ INSTALL(FILES ${CMAKE_BINARY_DIR}/Nektar++Config.cmake
COMPONENT dev)
# Install ThirdParty headers to subdirectory of ${NEKTAR_INCLUDE_DIR}
INSTALL(DIRECTORY ${TPDIST}/include/
DESTINATION ${NEKTAR_INCLUDE_DIR}/ThirdParty
COMPONENT dev
)
IF (EXISTS ${TPDIST}/include)
INSTALL(DIRECTORY ${TPDIST}/include/
DESTINATION ${NEKTAR_INCLUDE_DIR}/ThirdParty
COMPONENT dev
)
ENDIF()
# Install ThirdParty libraries into ${NEKTAR_LIB_DIR}. These are shipped with
# the LibUtilities library.
INSTALL(DIRECTORY ${TPDIST}/lib/
DESTINATION ${NEKTAR_LIB_DIR}
COMPONENT libutilities
)
IF (EXISTS ${TPDIST}/lib)
INSTALL(DIRECTORY ${TPDIST}/lib/
DESTINATION ${NEKTAR_LIB_DIR}
COMPONENT libutilities
)
ENDIF()
ADD_SUBDIRECTORY(docs)
......
......@@ -77,6 +77,13 @@ IF( NEKTAR_USE_SCOTCH )
${NEKTAR++_TP_INCLUDE_DIRS} ${SCOTCH_INCLUDE_DIRS})
ENDIF( NEKTAR_USE_SCOTCH )
SET(NEKTAR_USE_METIS "@NEKTAR_USE_METIS@")
IF( NEKTAR_USE_METIS )
SET(METIS_INCLUDE_DIRS "@METIS_CONFIG_INCLUDE_DIR@")
SET(NEKTAR++_TP_INCLUDE_DIRS
${NEKTAR++_TP_INCLUDE_DIRS} ${METIS_INCLUDE_DIRS})
ENDIF( NEKTAR_USE_METIS )
SET(NEKTAR_USE_FFTW "@NEKTAR_USE_FFTW@")
IF( NEKTAR_USE_FFTW )
SET(FFTW_INCLUDE_DIR "@FFTW_INCLUDE_DIR@")
......
......@@ -68,18 +68,14 @@ IF( NEKTAR_USE_MPI )
-DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
${TPSRC}/gsmpi-1.2.1
)
SET(GSMPI_LIBRARY gsmpi CACHE FILEPATH
"GSMPI path" FORCE)
THIRDPARTY_LIBRARY(GSMPI_LIBRARY STATIC gsmpi DESCRIPTION "GSMPI Library")
THIRDPARTY_LIBRARY(XXT_LIBRARY STATIC xxt DESCRIPTION "XXT Library")
MARK_AS_ADVANCED(GSMPI_LIBRARY)
SET(XXT_LIBRARY xxt CACHE FILEPATH
"XXT path" FORCE)
MARK_AS_ADVANCED(XXT_LIBRARY)
MESSAGE(STATUS "Build GSMPI: ${TPDIST}/lib/lib${GSMPI_LIBRARY}.a")
MESSAGE(STATUS "Build XXT: ${TPDIST}/lib/lib${XXT_LIBRARY}.a")
MESSAGE(STATUS "Build GSMPI: ${GSMPI_LIBRARY}")
MESSAGE(STATUS "Build XXT: ${XXT_LIBRARY}")
ELSE (THIRDPARTY_BUILD_GSMPI)
ADD_CUSTOM_TARGET(gsmpi-1.2.1 ALL)
INCLUDE (FindGSMPI)
INCLUDE (FindXXT)
MESSAGE(FATAL_ERROR "Must build GSMPI and XXT")
ENDIF (THIRDPARTY_BUILD_GSMPI)
ENDIF( NEKTAR_USE_MPI )
......@@ -8,40 +8,65 @@
INCLUDE(ExternalProject)
EXTERNALPROJECT_ADD(
modmetis-5.1.0
PREFIX ${TPSRC}
URL ${TPURL}/modmetis-5.1.0_2.tar.bz2
URL_MD5 "8a1f1afd39b46a4477c1ea15464cdf89"
STAMP_DIR ${TPBUILD}/stamp
DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPSRC}/modmetis-5.1.0
BINARY_DIR ${TPBUILD}/modmetis-5.1.0
TMP_DIR ${TPBUILD}/modmetis-5.1.0-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-G ${CMAKE_GENERATOR}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
-DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
-DCMAKE_C_FLAGS:STRING=-fPIC\ -w
-DGKLIB_PATH:PATH=${TPSRC}/modmetis-5.1.0/GKlib
${TPSRC}/modmetis-5.1.0
)
IF (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
# Clang 7.3 has a lovely bug that needs to be patched in order for it to
# compile.
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "7.3")
EXTERNALPROJECT_ADD_STEP(modmetis-5.1.0 patch-install-path
COMMAND sed -i ".bak" "s|#define MAX_JBUFS 128|#define MAX_JBUFS 24|" ${TPSRC}/modmetis-5.1.0/GKlib/error.c
DEPENDERS build
DEPENDEES download)
ENDIF()
ENDIF()
OPTION(NEKTAR_USE_METIS
"Use Metis library for performing mesh partitioning." OFF)
IF (NEKTAR_USE_METIS)
FIND_LIBRARY(METIS_LIBRARY NAMES metis PATHS ${MACPORTS_PREFIX}/lib)
FIND_PATH (METIS_INCLUDE_DIR metis.h PATHS ${MACPORTS_PREFIX}/include)
IF (METIS_LIBRARY AND METIS_INCLUDE_DIR)
SET(BUILD_METIS OFF)
ELSE()
SET(BUILD_METIS ON)
ENDIF ()
CMAKE_DEPENDENT_OPTION(THIRDPARTY_BUILD_METIS
"Build Metis library from ThirdParty" ${BUILD_METIS}
"NEKTAR_USE_METIS" OFF)
THIRDPARTY_LIBRARY(METIS_LIB STATIC metis DESCRIPTION "Metis library")
MARK_AS_ADVANCED(METIS_LIB)
MESSAGE(STATUS "Build Metis: ${METIS_LIB}")
IF (THIRDPARTY_BUILD_METIS)
EXTERNALPROJECT_ADD(
metis-5.1.0
PREFIX ${TPSRC}
URL ${TPURL}/metis-5.1.0.tar.gz
URL_MD5 "5465e67079419a69e0116de24fce58fe"
STAMP_DIR ${TPBUILD}/stamp
DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPSRC}/metis-5.1.0
BINARY_DIR ${TPBUILD}/metis-5.1.0
TMP_DIR ${TPBUILD}/metis-5.1.0-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-G ${CMAKE_GENERATOR}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
-DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
-DCMAKE_C_FLAGS:STRING=-fPIC\ -w
-DGKLIB_PATH:PATH=${TPSRC}/metis-5.1.0/GKlib
${TPSRC}/metis-5.1.0
)
INCLUDE_DIRECTORIES(${TPDIST}/include)
\ No newline at end of file
IF (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
# Clang 7.3 has a lovely bug that needs to be patched in order for it to
# compile.
IF (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "7.3")
EXTERNALPROJECT_ADD_STEP(metis-5.1.0 patch-install-path
COMMAND sed -i ".bak" "s|#define MAX_JBUFS 128|#define MAX_JBUFS 24|" ${TPSRC}/metis-5.1.0/GKlib/error.c
DEPENDERS build
DEPENDEES download)
ENDIF()
ENDIF()
THIRDPARTY_LIBRARY(METIS_LIB STATIC metis DESCRIPTION "Metis library")
MARK_AS_ADVANCED(METIS_LIB)
MESSAGE(STATUS "Build Metis: ${METIS_LIB}")
SET(METIS_CONFIG_INCLUDE_DIR ${TPINC})
INCLUDE_DIRECTORIES(${TPDIST}/include)
ELSE ()
ADD_CUSTOM_TARGET(metis-5.1.0 ALL)
MESSAGE(STATUS "Found Metis: ${METIS_LIBRARY}")
SET(METIS_CONFIG_INCLUDE_DIR ${METIS_INCLUDE_DIR})
ENDIF()
ENDIF()
......@@ -76,23 +76,22 @@ IF (NEKTAR_USE_PETSC)
ENDIF()
EXTERNALPROJECT_ADD(
petsc-3.7.2
petsc-3.7.7
DEPENDS ${PETSC_DEPS}
PREFIX ${TPSRC}
STAMP_DIR ${TPBUILD}/stamp
DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPBUILD}/petsc-3.7.2
TMP_DIR ${TPBUILD}/petsc-3.7.2-tmp
SOURCE_DIR ${TPBUILD}/petsc-3.7.7
TMP_DIR ${TPBUILD}/petsc-3.7.7-tmp
INSTALL_DIR ${TPDIST}
BINARY_DIR ${TPBUILD}/petsc-3.7.2
URL http://www.nektar.info/thirdparty/petsc-lite-3.7.2.tar.gz
URL_MD5 "26c2ff8eaaa9e49aea063f839f5daa7e"
BINARY_DIR ${TPBUILD}/petsc-3.7.7
URL ${TPURL}/petsc-lite-3.7.7.tar.gz
URL_MD5 "7b476e38cfab4cddb26f73e5ef23538e"
CONFIGURE_COMMAND
OMPI_FC=${CMAKE_Fortran_COMPILER}
OMPI_CC=${CMAKE_C_COMPILER}
OMPI_CXX=${CMAKE_CXX_COMPILER}
${PYTHON_EXECUTABLE} ./configure
./configure
--with-fc=${PETSC_Fortran_COMPILER}
--with-cc=${PETSC_C_COMPILER}
--with-cxx=${PETSC_CXX_COMPILER}
......@@ -121,7 +120,7 @@ IF (NEKTAR_USE_PETSC)
ENDIF (NOT PETSC_FOUND)
SET(PETSC_CONFIG_INCLUDE_DIR ${PETSC_INCLUDES})
INCLUDE_DIRECTORIES(${PETSC_INCLUDES})
ADD_CUSTOM_TARGET(petsc-3.7.2 ALL)
ADD_CUSTOM_TARGET(petsc-3.7.7 ALL)
ENDIF (THIRDPARTY_BUILD_PETSC)
ADD_DEFINITIONS(-DNEKTAR_USING_PETSC)
......
......@@ -8,14 +8,14 @@
IF (NOT WIN32)
OPTION(NEKTAR_USE_SCOTCH
"Use Scotch library for performing mesh partitioning." OFF)
"Use Scotch library for performing mesh partitioning." ON)
ENDIF(NOT WIN32)
IF (NEKTAR_USE_SCOTCH)
# First search for system TinyXML installs. Hint /opt/local for MacPorts.
FIND_LIBRARY(SCOTCH_LIBRARY NAMES scotch PATHS /opt/local/lib)
FIND_LIBRARY(SCOTCHERR_LIBRARY NAMES scotcherr PATHS /opt/local/lib)
FIND_PATH (SCOTCH_INCLUDE_DIR scotch.h PATHS /opt/local/include)
FIND_LIBRARY(SCOTCH_LIBRARY NAMES scotch PATHS ${MACPORTS_PREFIX}/lib)
FIND_LIBRARY(SCOTCHERR_LIBRARY NAMES scotcherr PATHS ${MACPORTS_PREFIX}/lib)
FIND_PATH (SCOTCH_INCLUDE_DIR scotch.h PATHS ${MACPORTS_PREFIX}/include)
IF (SCOTCH_LIBRARY AND SCOTCHERR_LIBRARY AND SCOTCH_INCLUDE_DIR)
SET(BUILD_SCOTCH OFF)
......@@ -27,6 +27,8 @@ IF (NEKTAR_USE_SCOTCH)
"Build Scotch library from ThirdParty" ${BUILD_SCOTCH}
"NEKTAR_USE_SCOTCH" OFF)
ADD_DEFINITIONS(-DNEKTAR_USE_SCOTCH)
IF (THIRDPARTY_BUILD_SCOTCH)
UNSET(FLEX CACHE)
FIND_PROGRAM(FLEX flex)
......@@ -38,7 +40,7 @@ IF (NEKTAR_USE_SCOTCH)
# Note that scotch is compiled in the source-tree, so we unpack the
# source code in the ThirdParty builds directory.
SET(SCOTCH_SRC ${TPBUILD}/scotch-6.0.0/src)
SET(SCOTCH_SRC ${TPBUILD}/scotch-6.0.4/src)
IF (APPLE)
SET(SCOTCH_MAKE Makefile.inc.i686_mac_darwin8)
......@@ -57,15 +59,15 @@ IF (NEKTAR_USE_SCOTCH)
INCLUDE(ExternalProject)
EXTERNALPROJECT_ADD(
scotch-6.0.0
scotch-6.0.4
PREFIX ${TPSRC}
URL ${TPURL}/scotch_6.0.0.tar.gz
URL_MD5 "ba117428c0a6cd97d0c93e8b872bb3fe"
URL ${TPURL}/scotch_6.0.4.tar.gz
URL_MD5 "d58b825eb95e1db77efe8c6ff42d329f"
STAMP_DIR ${TPBUILD}/stamp
DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPBUILD}/scotch-6.0.0
BINARY_DIR ${TPBUILD}/scotch-6.0.0
TMP_DIR ${TPBUILD}/scotch-6.0.0-tmp
SOURCE_DIR ${TPBUILD}/scotch-6.0.4
BINARY_DIR ${TPBUILD}/scotch-6.0.4
TMP_DIR ${TPBUILD}/scotch-6.0.4-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND rm -f ${SCOTCH_SRC}/Makefile.inc
COMMAND ln -s
......@@ -88,7 +90,7 @@ IF (NEKTAR_USE_SCOTCH)
MESSAGE(STATUS "Build Scotch: ${SCOTCH_LIBRARY}")
SET(SCOTCH_CONFIG_INCLUDE_DIR ${TPINC})
ELSE (THIRDPARTY_BUILD_SCOTCH)
ADD_CUSTOM_TARGET(scotch-6.0.0 ALL)
ADD_CUSTOM_TARGET(scotch-6.0.4 ALL)
MESSAGE(STATUS "Found Scotch: ${SCOTCH_LIBRARY}")
SET(SCOTCH_CONFIG_INCLUDE_DIR ${SCOTCH_INCLUDE_DIR})
ENDIF (THIRDPARTY_BUILD_SCOTCH)
......
Subproject commit e128cfaffbbd37c734a667cdc2a07b6f06291615
Subproject commit b1461b45abb08c48397fe6d046249703c4f8f160
......@@ -57,9 +57,10 @@ high-memory node, prior to being executed on a multi-node cluster.
\lstinline[style=BashInputStyle]{--use-metis}\\
\hangindent=1.5cm
Forces the use of METIS for mesh partitioning. If \nekpp{} is compiled with
Scotch support, the default is to use Scotch.
Forces the use of METIS for mesh partitioning. Requires the
\inltt{NEKTAR\_USE\_METIS} option to be set.
\lstinline[style=BashInputStyle]{--use-scotch}\\
\hangindent=1.5cm
Forces the use of Scotch for mesh partitioning.
Forces the use of Scotch for mesh partitioning. If \nekpp{} is compiled with
METIS support, the default is to use METIS.
......@@ -24,7 +24,7 @@ There are two ways to obtain the source code for \nekpp:
public repository. Use this initially if you would like to try using
Nektar++ or make local changes to the code.
\begin{lstlisting}[style=BashInputStyle]
git clone http://gitlab.nektar.info/clone/nektar/nektar.git nektar++
git clone https://gitlab.nektar.info/nektar/nektar.git nektar++
\end{lstlisting}
\item Using authenticated access. This will allow you to directly contribute
back into the code.
......@@ -49,7 +49,7 @@ be downloaded and compiled for use with Nektar++ \emph{automatically} (but not
installed system-wide).
\begin{center}
\begin{tabular}{lccccl}
\begin{tabularx}{\linewidth}{lccccX}
\toprule
& & \multicolumn{3}{c}{Installation} & \\ \cmidrule(r){3-5}
Package & Req. & Sys. & User & Auto. & Note \\
......@@ -65,7 +65,10 @@ LAPACK & \cmark & \cmark & \cmark & & \\
Boost $>=1.52$ & \cmark & \cmark & \cmark & \cmark & Compile
with iostreams
\\
ModMETIS & \cmark & & & \cmark & \\
Scotch & & \cmark & \cmark & \cmark & Required
for multi-level static condensation, highly recommended\\
METIS & & \cmark & \cmark & \cmark &
Alternative mesh partitioning\\
FFTW $>3.0$ & & \cmark & \cmark & \cmark & For
high-performance FFTs\\
ARPACK $>2.0$ & & \cmark & \cmark & & For
......@@ -78,12 +81,10 @@ HDF5 & & \cmark & \cmark & \cmark & For
large-scale parallel I/O (requires CMake >3.1)\\
PETSc & & & \cmark & \cmark &
Alternative linear solvers\\
Scotch & & \cmark & \cmark & \cmark &
Alternative mesh partitioning\\
VTK $>5.8$ & & \cmark & \cmark & & Visualisation
utilities\\
\bottomrule
\end{tabular}
\end{tabularx}
\end{center}
\begin{warningbox}
......@@ -208,7 +209,7 @@ system-wide).
\end{notebox}
\begin{center}
\begin{tabular}{lccccl}
\begin{tabularx}{\linewidth}{lccccX}
\toprule
& & \multicolumn{3}{c}{Installation} & \\ \cmidrule(r){3-5}
Package & Req. & MacPorts & User & Auto. & Note \\
......@@ -223,7 +224,10 @@ Xcode \\
Boost $>=1.52$ & \cmark & \texttt{boost} & \cmark & \cmark & Compile
with iostreams \\
TinyXML & \cmark & \texttt{tinyxml} & \cmark & \cmark & \\
ModMETIS & \cmark & & & \cmark & \\
Scotch & & \texttt{scotch} & \cmark & \cmark & Required
for multi-level static condensation, highly recommended\\
METIS & & \texttt{metis} & \cmark & \cmark &
Alternative mesh partitioning\\
FFTW $>3.0$ & & \texttt{fftw-3} & \cmark & \cmark & For
high-performance FFTs\\
ARPACK $>2.0$ & & \texttt{arpack} & \cmark & & For
......@@ -236,12 +240,10 @@ HDF5 & & \cmark & \cmark & \cmark & For
large-scale parallel I/O (requires CMake >3.1)\\
PETSc & & \texttt{petsc} & \cmark & \cmark &
Alternative linear solvers\\
Scotch & & \texttt{scotch} & \cmark & \cmark &
Alternative mesh partitioning\\
VTK $>5.8$ & & \texttt{vtk} & \cmark & &
Visualisation utilities\\
\bottomrule
\end{tabular}
\end{tabularx}
\end{center}
\newsavebox\installationOSXMacPortsTip
......@@ -364,7 +366,7 @@ additional build packages. These can either be installed by the user, or
automatically in the build process.
\begin{center}
\begin{tabular}{lcccl}
\begin{tabularx}{\linewidth}{lcccX}
\toprule
& & \multicolumn{2}{c}{Installation} & \\ \cmidrule(r){3-4}
Package & Req. & User & Auto. & Note \\
......@@ -374,9 +376,8 @@ CMake $\geq 3.0$ & \cmark & \cmark & & \\
BLAS & \cmark & \cmark & \cmark & \\
LAPACK & \cmark & \cmark & \cmark & \\
Boost $\geq 1.55$ & \cmark & \cmark & \cmark & Compile with iostreams\\
ModMETIS & \cmark & \cmark & \cmark & \\
\bottomrule
\end{tabular}
\end{tabularx}
\end{center}
\subsubsection{Detailed instructions}
......@@ -583,6 +584,12 @@ can be selected using the following options:
that \nekpp be built with MPI support with \inlsh{NEKTAR\_USE\_MPI} enabled
and that HDF5 is compiled with MPI support.
\item \inlsh{NEKTAR\_USE\_METIS}
Build \nekpp with support for the METIS graph partitioning library. This
provides both an alternative mesh partitioning algorithm to SCOTCH for
parallel simulations.
\item \inlsh{NEKTAR\_USE\_MKL}
Use the Intel MKL library. This is typically available on cluster
......@@ -604,12 +611,13 @@ can be selected using the following options:
Build \nekpp with support for the PETSc package for solving linear systems.
\item \inlsh{NEKTAR\_USE\_SCOTCH}
\item \inlsh{NEKTAR\_USE\_SCOTCH} (Recommended)
Build \nekpp with support for the SCOTCH graph partitioning library. This
provides an alternative mesh partitioning algorithm to METIS. However, METIS
is still required as it is used by the multi-level static condensation
algorithm.
provides both a mesh partitioning algorithm for parallel simulations and
enabled support for multi-level static condensation, so is highly
recommended and enabled by default. However for systems that do not support
SCOTCH build requirements (e.g. Windows), this can be disabled.
\item \inlsh{NEKTAR\_USE\_SMV}
......@@ -642,8 +650,8 @@ automatically built during the \nekpp build process. Below are the choices of X:
\item \inlsh{METIS}
A graph partitioning library used for substructuring of matrices and mesh
partitioning when \nekpp is run in parallel.
A graph partitioning library used for mesh partitioning when \nekpp is run
in parallel.
\item \inlsh{PETSC}
......@@ -651,8 +659,9 @@ automatically built during the \nekpp build process. Below are the choices of X:
\item \inlsh{SCOTCH}
An alternative graph partitioning library used for mesh partitioning when
\nekpp is run in parallel.
A graph partitioning library used for mesh partitioning when \nekpp is run
in parallel, and reordering routines that are used in multi-level static
condensation.
\item \inlsh{TINYXML}
......
......@@ -243,6 +243,7 @@ Under this section it is possible to set the solver information.
<I PROPERTY="UpwindType" VALUE="ExactToro" />
<I PROPERTY="ProblemType" VALUE="General" />
<I PROPERTY="ViscosityType" VALUE="Constant" />
<I PROPERTY="EquationOfState" VALUE="IdealGas" />
</SOLVERINFO>
\end{lstlisting}
\begin{itemize}
......@@ -303,6 +304,15 @@ we want to use for the advection operator:
\item \inltt{Constant} (Constant viscosity);
\item \inltt{Variable} (Variable viscosity through the Sutherland's law.);
\end{itemize}
\item \inltt{EquationOfState} allows selecting an equation of state for
accounting for non-ideal gas behaviour:
\begin{itemize}
\item \inltt{IdealGas} (default option);
\item \inltt{VanDerWaals} (requires additional parameters \inltt{Tcrit} and \inltt{Pcrit});
\item \inltt{RedlichKwong} (requires additional parameters \inltt{Tcrit} and \inltt{Pcrit});
\item \inltt{PengRobinson} (requires additional parameters \inltt{Tcrit}, \inltt{Pcrit} and
\inltt{AcentricFactor});
\end{itemize}
\end{itemize}
\subsection*{Boundary conditions}
......
......@@ -214,7 +214,7 @@ and Chryssostomidis \cite{DoKa14}. In this paper they suggest to
impose a pressure Dirichlet outflow condition of the form
\begin{equation}
p^{n+1}= \nu \nabla\mathbf{u}^{*,n+1}\cdot \mathbf{n}-\frac{1}{2}
p^{n+1}= \nu \mathbf{n} \cdot \nabla\mathbf{u}^{*,n+1}\cdot \mathbf{n}-\frac{1}{2}
\mid \mathbf{u}^{*,n+1} \mid^2 S_o(\mathbf{n}\cdot
\mathbf{u}^{*,n+1})+\mathbf{f}_b^{n+1}\cdot \mathbf{n}
\end{equation}
......@@ -411,7 +411,7 @@ viscosity, which arise for non-Newtonian flows, with only minor
modifications.
We consider the weak form of the Stokes problem for the velocity field
$boldsymbol{u}=[u,v]^{T}$ and the pressure field $p$:
$\boldsymbol{u}=[u,v]^{T}$ and the pressure field $p$:
\begin{subequations}
\begin{equation}
......
......@@ -157,7 +157,7 @@ Specifically, FieldConvert has these additional functionalities
\item \inltt{QCriterion}: Computes the Q-Criterion for a given output file;
\item \inltt{L2Criterion}: Computes the Lambda 2 Criterion for a given output file;
\item \inltt{addcompositeid}: Adds the composite ID of an element as an additional field;
\item \inltt{addfieldfromstring}: Adds a new field from an expression involving the existing fields;
\item \inltt{fieldfromstring}: Modifies or adds a new field from an expression involving the existing fields;
\item \inltt{addFld}: Sum two .fld files;
\item \inltt{combineAvg}: Combine two \nekpp binary output (.chk or .fld) field file containing averages of fields (and
possibly also Reynolds stresses) into single file;
......@@ -286,18 +286,18 @@ obtained through the \nm \inltt{extract} module (see section
%
%
%
\subsection{Add new field: \textit{addfieldfromstring} module}
To create a new field using an expression involving the existing fields, one can
use the \inltt{addfieldfromstring} module of FieldConvert
\subsection{Add new field: \textit{fieldfromstring} module}
To modify or create a new field using an expression involving the existing fields, one can
use the \inltt{fieldfromstring} module of FieldConvert
%
\begin{lstlisting}[style=BashInputStyle]
FieldConvert -m addfieldfromstring:fieldstr="x+y+u":fieldname="result" \
FieldConvert -m fieldfromstring:fieldstr="x+y+u":fieldname="result" \
file1.xml file2.fld file3.fld
\end{lstlisting}
%
In this case \inltt{fieldstr} is a required parameter describing a function of
the coordinates and the existing variables, and \inltt{fieldname} is an optional
parameter defining the name of the new field (the default is newfield).
parameter defining the name of the new or modified field (the default is newfield).
\inltt{file3.fld} is the output containing both the original and the new fields,
and can be processed in a similar way as described
in section \ref{s:utilities:fieldconvert:sub:convert} to visualise
......
......@@ -315,7 +315,7 @@ class IProductWRTDerivBase_IterPerExp : public Operator
{
LibUtilities::PointsKeyVector PtsKey = m_stdExp->GetPointsKeys();
m_dim = PtsKey.size();
m_coordim = m_stdExp->GetCoordim();
m_coordim = pCollExp[0]->GetCoordim();
int nqtot = m_stdExp->GetTotPoints();
......@@ -602,7 +602,7 @@ class IProductWRTDerivBase_SumFac_Quad : public Operator
{
Vmath::Vmul (ntot,m_derivFac[i],1, in[0],1,
tmp[i],1);
for(int j = 1; j < m_coordim; ++j)
for(int j = 1; j < 2; ++j)
{
Vmath::Vvtvp (ntot,m_derivFac[i +j*2],1,
in[j],1, tmp[i], 1, tmp[i],1);
......@@ -667,7 +667,7 @@ class IProductWRTDerivBase_SumFac_Quad : public Operator
m_derbase1(m_stdExp->GetBasis(1)->GetDbdata())
{
LibUtilities::PointsKeyVector PtsKey = m_stdExp->GetPointsKeys();
m_coordim = m_stdExp->GetCoordim();
m_coordim = pCollExp[0]->GetCoordim();
m_derivFac = pGeomData->GetDerivFactors(pCollExp);
m_jac = pGeomData->GetJacWithStdWeights(pCollExp);
......@@ -753,7 +753,7 @@ class IProductWRTDerivBase_SumFac_Tri : public Operator
{