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; Continuous Galerkin, discontinuous Galerkin, hybridizable discontinuous Galerkin and flux reconstruction operators; 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.
Alternative software
Free and open-source software Nek5000 (BSD) Advanced Simulation Library (AGPL) Code Saturne (GPL) FEATool Multiphysics Gerris Flow Solver (GPL) OpenFOAM (GPL) SU2 code (LGPL) PyFR
Proprietary software ADINA CFD ANSYS CFX ANSYS Fluent COMSOL Multiphysics Pumplinx Simcenter STAR-CCM+ KIVA (software) RELAP5-3D
References
External links
Official resources Nektar++ home page Nektar++ Gitlab repository
