Nektar++ is a spectral/hp element framework designed to support the construction of efficient high-performance scalable solvers for a wide range of partial differential equations…
Nektar++ is a spectral/hp element framework designed to support the construction of efficient high-performance scalable solvers for a wide range of partial differential equations (PDE). The code is released as open-source under the MIT license.
Nektar++ is a spectral/hp element framework designed to support the construction of efficient high-performance scalable solvers for a wide range of partial differential equations (PDE). The code is released as open-source under the MIT license. Although primarily driven by application-based research, it has been designed as a platform to support the development of novel numerical techniques in the area of high-order finite element methods.
Nektar++ is modern object-oriented code written in C++ and is being actively developed by members of the SherwinLab at Imperial College London (UK) and Kirby's group at the University of Utah (US).
Capabilities
Nektar++ includes the following capabilities:
One-, two- and three-dimensional problems;
Multiple and mixed element types, i.e. triangles, quadrilaterals, tetrahedra, prisms and hexahedra;
Both hierarchical and nodal expansion bases with variable and heterogeneous polynomial order between elements;
Multiple implementations of finite element operators for efficient execution on a wide range of CPU architectures;
Comprehensive range of explicit, implicit and implicit-explicit (IMEX) time-integration schemes;
Preconditioners tailored to high-order finite element methods;
Numerical stabilization techniques such as dealiasing and spectral vanishing viscosity;
Parallel execution and scalable to thousands of processor cores;
Pre-processing tools to generate meshes, or manipulate and convert meshes generated with third-party software into a Nektar++-readable format;
Extensive post-processing capabilities for manipulating output data;
Cross platform support for Linux, Mac OS X and Windows;
Support for running jobs on cloud computing platforms via the prototype Nekkloud interface from the libhpc project;
Wide user community, support and annual workshop.
Stable versions of the software are released on a 1-month basis and it is supported by an extensive testing framework which ensures correctness across a range of platforms and architectures.
Other capabilities currently under active development include p-adaption, r-adaption and support for accelerators (GPGPU, Intel Xeon Phi).
Application domains
The development of the Nektar++ framework is driven by a number of aerodynamics and biomedical engineering applications and consequently the software package includes a number of pre-written solvers for these areas.
Incompressible flow
This solver time-integrates the incompressible Navier-Stokes equations for performing large-scale direct numerical simulation (DNS) in complex geometries. It also supports the linearised and adjoint forms of the Navier-Stokes equations for evaluating hydrodynamic stability of flows.
Compressible flow
External aerodynamics simulations of high-speed compressible flows are supported through solution of the compressible Euler or Navier-Stokes equations.
Cardiac Electrophysiology
This solver supports the solution of the monodomain model and bidomain model of action potential propagation through myocardium.
Other application areas
shallow water equations;
reaction-diffusion-advection problems;
pulse wave propagation solver for modelling arterial networks;
acoustic perturbation equations;
linear elasticity equations.
License
Nektar++ is free and open source software, released under the MIT license.