Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • nektar/nektar
  • dmoxey/nektar
  • meshing/nektar
  • gm2511/nektar
  • mvymaza1/nektar
  • ssherw/nektar
  • hongfu2233/nektar
  • lackhove/nektar
  • zbhui/nektar
  • hectordo/nektar
  • kayarre/nektar
  • li12242/nektar
  • Russ/nektar
  • MMFSolver/nektar
  • JDocampo/nektar
  • jkr/nektar
  • Xulia/nektar
  • dperry/nektar
  • dav/nektar
  • bing/nektar
  • mt4313/nektar
  • Dappur/nektar
  • castigli/nektar
  • ARSanderson/nektar
  • tz722/nektar
  • tim48/nektar
  • hl2323/nektar-phys-deriv
  • fei/nektar
  • Leileiji/nektar
  • tsb121/nektar-fyp-thilak
  • victorballester7/nektar
  • mb321/nektar-cu-blas-mika
32 results
Show changes
Commits on Source (186)
Showing
with 223 additions and 32 deletions
Changelog
=========
v4.3.4
------
**Library:**
- Fix performance issue with `v_ExtractDataToCoeffs` for post-processing of
large simulations (!672)
- Added additional assertions to ensure homogeneous simulations have an even
number of planes per process (!666)
- Fix compilation with NEKTAR_USE_MESHGEN option
- Fix IterativeFull solver in parallel (!685)
**IncNavierStokesSolver:**
- Fix 2nd order time-integration for VCSMapping (!687)
v4.3.3
------
**Library**:
- Auto-detect a shared filesystem and removed --shared-filesystem option (!654)
- Fix filters when using adaptive driver to avoid output being overwritten after
each adaptive update (!588)
- Minor fix to suppress Xxt output unless `--verbose` is specified (!642)
- Fix of DirectFull solver in case where only Neumann boundary conditions
are imposed. (!655)
**FieldConvert**:
- Fix to avoid repeated import of field file (!649)
- Fix issue with C^0 projection (!644)
- Fix verbose output when using --procid (!648)
**NekMesh:**
- Fix namespace issue in Star-CCM+ input header in NekMesh (!661)
**CompressibleFlowSolver**:
- Fix issue with residual output (!647)
- Issues with 1D Euler solver fixed (!565)
- Fix deadlocking issue with boundary conditions (!657)
**Packaging**:
- Fix NekMesh dependencies for DEB package (!650)
- Fix PETSc build on newer linux distributions (!646)
v4.3.2
------
**Library**:
- Add small optimisation for DriverAdaptive (!618)
- Updated FFTW build to use the compiler used for building Nektar++ (!629)
- Fix numbering bug in periodic boundary conditions (!631)
- Print error message for invalid equation also in release version (!634)
- HistoryPoints filter now uses closest plane to requested z-coordinate and
output is produced in physical space (!621).
- Fix minor performance issue with time integration schemes (!632)
- Fix FilterCheckpoint filter to be consistent with `IO_CheckSteps` (!633)
- Fix `IO_CheckSteps` to avoid missing first checkpoint (!639)
- Fix bug in iterative solver where only root process would ASSERT when
exceeding the maximum number of iterations (!636)
- Fix CMake configuration for building on Windows 10 with VS 2015 (!641)
**FieldConvert**:
- Fix appearence of duplicate messages when running in parallel (!626)
- Fix issue with efficiency when using large number of 3DH1D planes (!627)
- Add module for combining average fields (!620)
- Fix wall shear stress processing module for parallel execution (!635)
**Packaging**:
- Fixes for DEB package dependencies (!630)
v4.3.1
------
**Library**:
- Add `THIRDPARTY_USE_SSL` option to disable use of SSL on systems where CMake
is not compiled with SSL support. (!602)
- Fixed a number of documentation issues (!586, !593, !596)
- Fix Homogeneous transform when unshuffling is not used. (!599)
- Fix namespace pollution in library header files. (!601)
- Fix issue with METIS compilation on clang 7.3 (!603)
- Fix issue with heterogeneous quadrilaterals (!607)
- Fix bug in modified Arnoldi algorithm causing convergence to be reported when
number of vectors is less than `nvec` (!608)
- Fix uninitialised array bug in AssemblyMap (!598)
- Fix issue with LAPACK call in eigenvalue calculation (!610)
- Fix FieldConvert processing of partitions in serial (!612)
- Fix use of multi-level static condensation in parallel with periodic
boundary conditions (!614)
- Fix NaN detection to work in parallel (!605)
- Add additional constructor to ContField3DHomogeneous1D for FieldConvert
extract module. (!590)
**NekMesh**:
- Fix incorrect link directory on CCMIO library.
**FieldConvert**:
- Fix to FLD input to update the field definitions always, not just when a range
is specified. (!611)
**Tester**:
- Remove requirement for executable to be specified in .tst file if it is
overridden on the command-line (!595)
**Packaging**:
- Fix dependency resolution on generation of DEB packages. (!616)
v4.3.0
------
......@@ -28,7 +122,7 @@ v4.3.0
(!537)
- Fix bug with initial conditions of CG simulations using variable P (!543)
- Fix bug in 3DH2D with non-zero Dirichlet boundary conditions (!545)
- Added in a method to convert equispaced interpolated points back to
- Added in a method to convert equispaced interpolated points back to
coefficients which requires the introduction of a new StdRegions matrix.(!561)
- Empty XML tags which would override non-empty XML tags are now ignored (!581)
- Add contribution guide (!551)
......
......@@ -51,6 +51,7 @@ project. It's a pretty simple process:
new features?
- Have you run your branch through buildbot and do all the tests pass?
- Is there documentation in the user guide and/or developer guide?
- Have you added a CHANGELOG entry, including the MR number?
- Are there any massive files you might have added in the commit history? We try
to keep test files as small as possible. If so you'll need to rebase or
filter-branch to remove those from the commit history.
......
4.3.0
4.3.4
......@@ -2,7 +2,7 @@ FIND_LIBRARY(WIN32_BLAS NAMES libblas PATHS ${TPSRC})
FIND_LIBRARY(WIN32_LAPACK NAMES liblapack PATHS ${TPSRC})
IF (NOT WIN32_BLAS OR NOT WIN32_LAPACK)
IF (CMAKE_CL_64)
IF (CMAKE_CL_64 OR CMAKE_GENERATOR MATCHES Win64)
SET(WIN_ZIP_FILE "win64-blas-lapack.zip")
SET(WIN_ZIP_MD5_VALUE "b5ad4f7335ca964bbdafab129e44a046")
SET(WIN_ZIP_SHA1_VALUE "adb331fa195db264e95e46b902887f12971dbf48")
......
......@@ -86,6 +86,8 @@ IF (THIRDPARTY_BUILD_BOOST)
SET(TOOLSET msvc-11.0)
ELSEIF (MSVC12)
SET(TOOLSET msvc-12.0)
ELSEIF (MSVC14)
SET(TOOLSET msvc-14.0)
ENDIF()
ELSE(APPLE)
SET(TOOLSET gcc)
......
......@@ -16,6 +16,8 @@ IF( NEKTAR_USE_CCM )
MARK_AS_ADVANCED(CCMIO_LIBRARY)
ADD_DEFINITIONS(-DNEKTAR_USE_CCM)
FIND_PATH (CCMIO_INCLUDE_DIR ccmio.h)
GET_FILENAME_COMPONENT(CCMIO_LIBRARY_PATH ${CCMIO_LIBRARY} PATH)
LINK_DIRECTORIES(${CCMIO_LIBRARY_PATH})
ELSE()
MESSAGE(FATAL_ERROR "Cound not find ccmio library")
ENDIF()
......
......@@ -38,7 +38,7 @@ IF (NEKTAR_USE_FFTW)
BINARY_DIR ${TPBUILD}/fftw-3.2.2
TMP_DIR ${TPBUILD}/fftw-3.2.2-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${TPSRC}/fftw-3.2.2/configure --prefix=${TPDIST} --quiet --enable-shared --disable-dependency-tracking
CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} ${TPSRC}/fftw-3.2.2/configure --prefix=${TPDIST} --quiet --enable-shared --disable-dependency-tracking
)
SET(FFTW_LIBRARY fftw3 CACHE FILEPATH
......
......@@ -27,7 +27,18 @@ EXTERNALPROJECT_ADD(
-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()
SET(METIS_LIB metis CACHE FILEPATH "METIS library" FORCE)
MARK_AS_ADVANCED(METIS_LIB)
......
......@@ -26,6 +26,8 @@ IF (NEKTAR_USE_PETSC)
IF (THIRDPARTY_BUILD_PETSC)
INCLUDE(ExternalProject)
FIND_PACKAGE(PythonInterp 2 REQUIRED)
SET(PETSC_C_COMPILER "${CMAKE_C_COMPILER}")
SET(PETSC_CXX_COMPILER "${CMAKE_CXX_COMPILER}")
......@@ -39,24 +41,23 @@ IF (NEKTAR_USE_PETSC)
ENDIF (NEKTAR_USE_MPI)
EXTERNALPROJECT_ADD(
petsc-3.5.2
petsc-3.7.2
PREFIX ${TPSRC}
STAMP_DIR ${TPBUILD}/stamp
DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPBUILD}/petsc-3.5.2
TMP_DIR ${TPBUILD}/petsc-3.5.2-tmp
SOURCE_DIR ${TPBUILD}/petsc-3.7.2
TMP_DIR ${TPBUILD}/petsc-3.7.2-tmp
INSTALL_DIR ${TPDIST}
BINARY_DIR ${TPBUILD}/petsc-3.5.2
URL http://www.nektar.info/thirdparty/petsc-lite-3.5.2.tar.gz
URL_MD5 "d707336a98d7cb31d843804d020edc94"
BINARY_DIR ${TPBUILD}/petsc-3.7.2
URL http://www.nektar.info/thirdparty/petsc-lite-3.7.2.tar.gz
URL_MD5 "26c2ff8eaaa9e49aea063f839f5daa7e"
CONFIGURE_COMMAND
OMPI_CC=${CMAKE_C_COMPILER}
OMPI_CXX=${CMAKE_CXX_COMPILER}
./configure
${PYTHON_EXECUTABLE} ./configure
--with-cc=${PETSC_C_COMPILER}
--with-cxx=${PETSC_CXX_COMPILER}
--with-shared-libraries=0
--with-pic=1
--with-shared-libraries=1
--with-x=0
--with-ssl=0
--prefix=${TPDIST}
......@@ -71,7 +72,7 @@ IF (NEKTAR_USE_PETSC)
"PETSc includes" FORCE)
LINK_DIRECTORIES(${TPDIST}/lib)
MESSAGE(STATUS "Build PETSc: ${TPDIST}/${LIB_DIR}/lib${PETSC_LIBRARIES}.a")
MESSAGE(STATUS "Build PETSc: ${TPDIST}/${LIB_DIR}/lib${PETSC_LIBRARIES}.so")
SET(PETSC_CONFIG_INCLUDE_DIR ${TPINC})
ELSE (THIRDPARTY_BUILD_PETSC)
INCLUDE(FindPETSc)
......@@ -82,13 +83,13 @@ IF (NEKTAR_USE_PETSC)
ENDIF (NOT PETSC_FOUND)
SET(PETSC_CONFIG_INCLUDE_DIR ${PETSC_INCLUDES})
INCLUDE_DIRECTORIES(${PETSC_INCLUDES})
ADD_CUSTOM_TARGET(petsc-3.5.2 ALL)
ADD_CUSTOM_TARGET(petsc-3.7.2 ALL)
ENDIF (THIRDPARTY_BUILD_PETSC)
ADD_DEFINITIONS(-DNEKTAR_USING_PETSC)
INCLUDE_DIRECTORIES(SYSTEM ${PETSC_INCLUDES})
IF (NOT NEKTAR_USE_MPI)
INCLUDE_DIRECTORIES(SYSTEM ${PETSC_INCLUDES}/mpiuni)
INCLUDE_DIRECTORIES(SYSTEM ${PETSC_INCLUDES}/petsc/mpiuni)
ENDIF (NOT NEKTAR_USE_MPI)
MARK_AS_ADVANCED(PETSC_CURRENT PETSC_DIR PETSC_LIBRARIES PETSC_INCLUDES)
......
......@@ -17,7 +17,7 @@ IF(NEKTAR_USE_MESHGEN)
EXTERNALPROJECT_ADD(
tetgen-1.5
PREFIX ${TPSRC}
URL http://ae-nektar.ae.ic.ac.uk/~mt4313/tetgen.zip
URL ${TPURL}/tetgen.zip
URL_MD5 6d62e63f9b1e7a8ce53d5bc87e6a0a09
STAMP_DIR ${TPBUILD}/stamp
DOWNLOAD_DIR ${TPSRC}
......
......@@ -17,7 +17,7 @@ IF(NEKTAR_USE_MESHGEN)
EXTERNALPROJECT_ADD(
triangle-1.6
PREFIX ${TPSRC}
URL http://ae-nektar.ae.ic.ac.uk/~mt4313/triangle.zip
URL ${TPURL}/triangle.zip
URL_MD5 357cb7107f51f3f89940c47435d4fa49
STAMP_DIR ${TPBUILD}/stamp
DOWNLOAD_DIR ${TPSRC}
......
......@@ -38,7 +38,7 @@ in the core sub-libraries, is depicted in the Figure~\ref{f:library:overview}.
\begin{figure}
\centering
\includegraphics[width=0.6\textwidth]{img/architecture}
\includegraphics[width=0.6\textwidth]{library-design/img/architecture}
\caption{Structural overview of the Nektar++ libraries}
\label{f:library:structure}
\end{figure}
......
Subproject commit 244b5128da8a9c9baedf71230db81344c790b03b
Subproject commit a20044f232e15e3fe2754a90215f8646db241147
......@@ -23,10 +23,6 @@ Override a parameter (or define a new one) specified in the XML file.
\hangindent=1.5cm
Override a solverinfo (or define a new one) specified in the XML file.
\lstinline[style=BashInputStyle]{--shared-filesystem}\\
\hangindent=1.5cm
By default when running in parallel the complete mesh is loaded by all processes, although partitioning is done uniquely on the root process only and communicated to the other processes. Each process then writes out its own partition to the local working directory. This is the most robust approach in accounting for systems where the distributed nodes do not share a common filesystem. In the case that there is a common filesystem, this option forces only the root process to load the complete mesh, perform partitioning and write out the session files for all partitions. This avoids potential memory issues when multiple processes attempt to load the complete mesh on a single node.
\lstinline[style=BashInputStyle]{--npx [int]}\\
\hangindent=1.5cm
When using a fully-Fourier expansion, specifies the number of processes to use in the x-coordinate direction.
......
\section{Compiling Documentation}
Documentation for Nektar++ is provided in a number of forms:
\begin{itemize}
\item User Guide (LaTeX, compiled to pdf or html)
\item Source code documentation (Doxygen compiled to html)
\end{itemize}
\subsection{Dependencies}
To build the LaTeX documents (user guide or tutorials), the following
dependencies are required:
\begin{itemize}
\item texlive-base
\item texlive-latex-extra
\item texlive-science
\item imagemagick
\end{itemize}
To build the Doxygen documentation, the following dependencies are required:
\begin{itemize}
\item doxygen
\item graphviz
\end{itemize}
\subsection{Compiling the User Guide}
To compile the User Guide:
\begin{enumerate}
\item Configure the Nektar++ build tree as normal.
\item Run
\begin{lstlisting}[style=BashInputStyle]
make user-guide-pdf
\end{lstlisting}
to make the PDF version, or run
\begin{lstlisting}[style=BashInputStyle]
make user-guide-html
\end{lstlisting}
to make the HTML version.
\end{enumerate}
\subsection{Compiling the code documentation}
To compile the code documentation enable the \inltt{NEKTAR\_BUILD\_DOC} option
in the \inlsh{ccmake} configuration tool.
You can then compile the HTML code documentation using:
\begin{lstlisting}[style=BashInputStyle]
make doc
\end{lstlisting}
\section{Compiling Tutorials}
If you are using a clone of the \nekpp git repository, you can also download
the source for the \nekpp tutorials which is available as a \emph{git submodule}.
\begin{enumerate}
\item From a \nekpp working directory (e.g. \inlsh{\$NEKPP}):
\begin{lstlisting}[style=BashInputStyle]
git submodule init
git submodule update --remote
\end{lstlisting}
\item From your build directory (e.g. \inlsh{\$NEKPP/build}), re-run \inlsh{cmake} to update the build system to include the tutorials
\begin{lstlisting}[style=BashInputStyle]
cmake ../
\end{lstlisting}
\item Compile each required tutorial, for example
\begin{lstlisting}[style=BashInputStyle]
make flow-stability-channel
\end{lstlisting}
\end{enumerate}
......@@ -9,4 +9,4 @@ solvers for simulation and do not need to perform additional code development.
\input{source}
\input{doc}
......@@ -34,7 +34,7 @@ $\epsilon \nabla^2 u + \mathbf{V}\nabla u = f$ &
\inltt{SteadyAdvectionDiffusion} & 2D only & Continuous/Discontinuous \\
$\epsilon \nabla^2 u + \lambda u = f$ &
\inltt{SteadyDiffusionReaction} & 2D only & Continuous/Discontinuous \\
$\epsilon \nabla^2 u \mathbf{V}\nabla u + \lambda u = f$ &
$\epsilon \nabla^2 u + \mathbf{V}\nabla u + \lambda u = f$ &
\inltt{SteadyAdvectionDiffusionReaction} & 2D only &
Continuous/Discontinuous \\
$ \dfrac{\partial u}{\partial t} + \mathbf{V}\nabla u = f$ &
......
......@@ -96,6 +96,8 @@ Specifically, FieldConvert has these additional functionalities
\item \inltt{C0Projection}: Computes the C0 projection of a given output file;
\item \inltt{QCriterion}: Computes the Q-Criterion for a given output file;
\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;
\item \inltt{concatenate}: Concatenate a \nekpp binary output (.chk or .fld) field file into single file;
\item \inltt{equispacedoutput}: Write data as equi-spaced output using simplices to represent the data for connecting points;
\item \inltt{extract}: Extract a boundary field;
......@@ -202,6 +204,21 @@ the result either in Tecplot, Paraview or VisIt.
%
%
%
\subsection{Combine two .fld files containing time averages: \textit{combineAvg} module}
To combine two .fld files obtained through the AverageFields or ReynoldsStresses filters,
use the \inltt{combineAvg} module of FieldConvert
%
\begin{lstlisting}[style=BashInputStyle]
FieldConvert -m combineAvg:fromfld=file1.fld file1.xml file2.fld \
file3.fld
\end{lstlisting}
%
\inltt{file3.fld} can be processed in a similar way as described
in section \ref{s:utilities:fieldconvert:sub:convert} to visualise
the result either in Tecplot, Paraview or VisIt.
%
%
%
\subsection{Concatenate two files: \textit{concatenate} module}
To concatenate \inltt{file1.fld} and \inltt{file2.fld} into \inltt{file-conc.fld}
one can run the following command
......
......@@ -32,7 +32,7 @@ mesh-generator \gmsh to the XML file format.
converted into base64. This is identified for each section by the attribute
\inltt{COMPRESSED="B64Z-LittleEndian''}. To output
in ascii format add the module option ``:xml:uncompress'' to the .xml file,
i.e. \\ \inltt{ MeshConvert file.msh newfile.xml:xml:uncompress}
i.e. \\ \inltt{ \mc file.msh newfile.xml:xml:uncompress}
\end{notebox}
\section{Exporting a mesh from \gmsh}
......@@ -290,7 +290,7 @@ converted into base64. If you wish to see an ascii output you need to
specify the output module option \inltt{uncompress} by executing:
\begin{lstlisting}[style=BashInputStyle]
MeshConvert Mesh.msh output.xml:xml:uncompress
NekMesh Mesh.msh output.xml:xml:uncompress
\end{lstlisting}
In the rest of these subsections, we discuss the various processing modules
......@@ -302,13 +302,13 @@ To extract composite surfaces 2 and 3 from a mesh use the module \inltt{extract
module:
%
\begin{lstlisting}[style=BashInputStyle]
MeshConvert -m extract:surf=2,3 Mesh.xml output.xml
NekMesh -m extract:surf=2,3 Mesh.xml output.xml
\end{lstlisting}
%
If you also wish to have the boundaries of the extracted surface detected add the \inltt{detectbnd} option
%
\begin{lstlisting}[style=BashInputStyle]
MeshConvert -m extract:surf=2,3:detectbnd Mesh.xml output.xml
NekMesh -m extract:surf=2,3:detectbnd Mesh.xml output.xml
\end{lstlisting}
\subsection{Negative Jacobian detection}
......
......@@ -48,7 +48,7 @@ The description below explains how the \inltt{GEOMETRY} section is laid out in
uncompressed ascii format. From Jan 2016 the distribution uses the compressed
format for each of the above sections. To convert a compressed xml file into
ascii format use \\
\inltt{ MeshConvert file.msh newfile.xml:xml:uncompress}
\inltt{ NekMesh file.msh newfile.xml:xml:uncompress}
\end{notebox}
......