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 (115)
Showing
with 182 additions and 18 deletions
Changelog
=========
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)
**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
------
......
4.3.0
4.3.2
......@@ -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)
......
......@@ -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}
......
\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}
......@@ -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
......
......@@ -37,6 +37,8 @@
#include <Collections/Operator.h>
#include <Collections/Collection.h>
using namespace std;
namespace Nektar {
namespace Collections {
......
......@@ -36,6 +36,8 @@
#include <Collections/Collection.h>
#include <sstream>
using namespace std;
namespace Nektar {
namespace Collections {
......
......@@ -36,6 +36,8 @@
#ifndef NEKTAR_LIBRARY_COLLECTIONS_COLLECTION_H
#define NEKTAR_LIBRARY_COLLECTIONS_COLLECTION_H
#include <vector>
#include <StdRegions/StdExpansion.h>
#include <SpatialDomains/Geometry.h>
#include <Collections/CollectionsDeclspec.h>
......@@ -56,8 +58,8 @@ class Collection
public:
COLLECTIONS_EXPORT Collection(
vector<StdRegions::StdExpansionSharedPtr> pCollExp,
OperatorImpMap &impTypes);
std::vector<StdRegions::StdExpansionSharedPtr> pCollExp,
OperatorImpMap &impTypes);
inline void ApplyOperator(
const OperatorType &op,
......@@ -81,7 +83,7 @@ class Collection
protected:
StdRegions::StdExpansionSharedPtr m_stdExp;
vector<SpatialDomains::GeometrySharedPtr> m_geom;
std::vector<SpatialDomains::GeometrySharedPtr> m_geom;
boost::unordered_map<OperatorType, OperatorSharedPtr> m_ops;
CoalescedGeomDataSharedPtr m_geomData;
......
......@@ -36,6 +36,8 @@
#include <Collections/CollectionOptimisation.h>
#include <LibUtilities/BasicUtils/ParseUtils.hpp>
using namespace std;
namespace Nektar
{
namespace Collections
......
......@@ -142,7 +142,7 @@ class CollectionOptimisation
// Get Map by doing autotuning testing.
COLLECTIONS_EXPORT OperatorImpMap SetWithTimings(
vector<StdRegions::StdExpansionSharedPtr> pGeom,
std::vector<StdRegions::StdExpansionSharedPtr> pGeom,
OperatorImpMap &impTypes,
bool verbose = true);
......@@ -152,10 +152,10 @@ class CollectionOptimisation
}
private:
typedef pair<LibUtilities::ShapeType, int> ElmtOrder;
typedef std::pair<LibUtilities::ShapeType, int> ElmtOrder;
static map<OpImpTimingKey,OperatorImpMap> m_opImpMap;
map<OperatorType, map<ElmtOrder, ImplementationType> > m_global;
static std::map<OpImpTimingKey,OperatorImpMap> m_opImpMap;
std::map<OperatorType, std::map<ElmtOrder, ImplementationType> > m_global;
bool m_setByXml;
bool m_autotune;
ImplementationType m_defaultType;
......
......@@ -36,6 +36,8 @@
#include <Collections/Collection.h>
#include <Collections/IProduct.h>
using namespace std;
namespace Nektar
{
namespace Collections
......
......@@ -38,6 +38,8 @@
#include <Collections/Collection.h>
#include <Collections/IProduct.h>
using namespace std;
namespace Nektar {
namespace Collections {
......
......@@ -38,6 +38,8 @@
#include <Collections/Collection.h>
#include <Collections/IProduct.h>
using namespace std;
namespace Nektar {
namespace Collections {
......
......@@ -46,7 +46,7 @@
static OperatorKey m_typeArr[]; \
friend class MemoryManager<cname>; \
static OperatorSharedPtr create( \
vector<StdRegions::StdExpansionSharedPtr> pCollExp, \
std::vector<StdRegions::StdExpansionSharedPtr> pCollExp,\
boost::shared_ptr<CoalescedGeomData> GeomData) \
{ \
return MemoryManager<cname> \
......@@ -99,7 +99,7 @@ const char* const ImplementationTypeMap[] =
typedef bool ExpansionIsNodal;
typedef map<OperatorType, ImplementationType> OperatorImpMap;
typedef std::map<OperatorType, ImplementationType> OperatorImpMap;
/// simple Operator Implementation Map generator
OperatorImpMap SetFixedImpType(ImplementationType defaultType);
......@@ -110,7 +110,7 @@ class Operator
public:
/// Constructor
Operator(
vector<StdRegions::StdExpansionSharedPtr> pCollExp,
std::vector<StdRegions::StdExpansionSharedPtr> pCollExp,
boost::shared_ptr<CoalescedGeomData> GeomData)
: m_stdExp(pCollExp[0]->GetStdExp()),
m_numElmt(pCollExp.size()),
......@@ -161,7 +161,7 @@ std::ostream &operator<<(std::ostream &os, OperatorKey const &p);
typedef Nektar::LibUtilities::NekFactory<
OperatorKey,
Operator,
vector<StdRegions::StdExpansionSharedPtr>,
std::vector<StdRegions::StdExpansionSharedPtr>,
CoalescedGeomDataSharedPtr> OperatorFactory;
/// Returns the singleton Operator factory object
......