Nektar++

{{Use dmy dates|date=June 2016}}

{{Infobox Software

| name = Nektar++

| logo = Nektar++ logo.png

| logo size = 250px

| caption = Nektar++ logo

| released = {{Start date and age|2006|5|4|df=yes}}

| latest release version = 5.6.0

| latest release date = {{Start date and age|2024|05|15|df=yes}}

| programming language = C++

| operating system = Unix/Linux/OS X/Windows,

| genre = Spectral element method, Hp-FEM, Computational fluid dynamics,

| license = MIT License,

| website = [http://www.nektar.info http://www.nektar.info]

}}

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).{{Cite journal|last1=Cantwell|first1=C. D.|last2=Moxey|first2=D.|last3=Comerford|first3=A.|last4=Bolis|first4=A.|last5=Rocco|first5=G.|last6=Mengaldo|first6=G.|last7=De Grazia|first7=D.|last8=Yakovlev|first8=S.|last9=Lombard|first9=J. -E.|date=2015-07-01|title=Nektar++: An open-source spectral/ element framework|journal=Computer Physics Communications|volume=192|pages=205–219|doi=10.1016/j.cpc.2015.02.008|bibcode=2015CoPhC.192..205C|doi-access=free}}{{Cite web|url=http://www.nektar.info|title=Nektar++ – Spectral/hp Element Framework|website=www.nektar.info|access-date=2016-06-14}} 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,{{Cite journal|last1=Sherwin|first1=S. J.|last2=Kirby|first2=R. M.|last3=Peiró|first3=J.|last4=Taylor|first4=R. L.|last5=Zienkiewicz|first5=O. C.|date=2006-01-29|title=On 2D elliptic discontinuous Galerkin methods|journal=International Journal for Numerical Methods in Engineering|language=en|volume=65|issue=5|pages=752–784|doi=10.1002/nme.1466|bibcode=2006IJNME..65..752S|issn=1097-0207|citeseerx=10.1.1.130.6271|s2cid=122060519 }} hybridizable discontinuous Galerkin{{Cite journal|last1=Kirby|first1=Robert M.|last2=Sherwin|first2=Spencer J.|last3=Cockburn|first3=Bernardo|date=2011-07-01|title=To CG or to HDG: A Comparative Study|journal=Journal of Scientific Computing|language=en|volume=51|issue=1|pages=183–212|doi=10.1007/s10915-011-9501-7|issn=0885-7474|citeseerx=10.1.1.308.6739|s2cid=697080}}{{Cite journal|last1=Yakovlev|first1=Sergey|last2=Moxey|first2=David|last3=Kirby|first3=Robert M.|last4=Sherwin|first4=Spencer J.|date=2015-07-28|title=To CG or to HDG: A Comparative Study in 3D|journal=Journal of Scientific Computing|language=en|volume=67|issue=1|pages=192–220|doi=10.1007/s10915-015-0076-6|issn=0885-7474|hdl=10044/1/28889|s2cid=39612391|hdl-access=free}} and flux reconstruction{{Cite journal|last1=Mengaldo|first1=G.|last2=Grazia|first2=D.|last3=Vincent|first3=P. E.|last4=Sherwin|first4=S. J.|date=2015-10-19|title=On the Connections Between Discontinuous Galerkin and Flux Reconstruction Schemes: Extension to Curvilinear Meshes|journal=Journal of Scientific Computing|language=en|volume=67|issue=3|pages=1272–1292|doi=10.1007/s10915-015-0119-z|issn=0885-7474|doi-access=free|hdl=10044/1/27678|hdl-access=free}} operators;
  • Multiple implementations of finite element operators for efficient execution on a wide range of CPU architectures;{{Cite journal|last1=Vos|first1=Peter E. J.|last2=Sherwin|first2=Spencer J.|last3=Kirby|first3=Robert M.|date=2010-07-01|title=From h to p efficiently: Implementing finite and spectral/hp element methods to achieve optimal performance for low- and high-order discretisations|journal=Journal of Computational Physics|volume=229|issue=13|pages=5161–5181|doi=10.1016/j.jcp.2010.03.031|bibcode=2010JCoPh.229.5161V|hdl=10044/1/14735|hdl-access=free}}{{Cite journal|last1=Cantwell|first1=C. D.|last2=Sherwin|first2=S. J.|last3=Kirby|first3=R. M.|last4=Kelly|first4=P. H. J.|date=2011-04-01|title=From h to p efficiently: Strategy selection for operator evaluation on hexahedral and tetrahedral elements|journal=Computers & Fluids|series=Symposium on High Accuracy Flow Simulations. Special Issue Dedicated to Prof. Michel DevilleSymposium on High Accuracy Flow Simulations|volume=43|issue=1|pages=23–28|doi=10.1016/j.compfluid.2010.08.012}}{{Cite journal|last1=Cantwell|first1=C. D.|last2=Sherwin|first2=S. J.|last3=Kirby|first3=R. M.|last4=Kelly|first4=P. H. J.|date=2011-01-01|title=From h to p Efficiently: Selecting the Optimal Spectral/ hp Discretisation in Three Dimensions|journal=Mathematical Modelling of Natural Phenomena|language=en|volume=6|issue=3|pages=84–96|doi=10.1051/mmnp/20116304|issn=0973-5348|doi-access=free}}
  • Comprehensive range of explicit, implicit and implicit-explicit (IMEX) time-integration schemes;{{Cite journal|last1=Vos|first1=Peter E. J.|last2=Eskilsson|first2=Claes|last3=Bolis|first3=Alessandro|last4=Chun|first4=Sehun|last5=Kirby|first5=Robert M.|last6=Sherwin|first6=Spencer J.|date=2011-03-01|title=A generic framework for time-stepping partial differential equations (PDEs): general linear methods, object-oriented implementation and application to fluid problems|journal=International Journal of Computational Fluid Dynamics|volume=25|issue=3|pages=107–125|doi=10.1080/10618562.2011.575368|bibcode=2011IJCFD..25..107V|s2cid=119731214|issn=1061-8562}}{{Cite journal|last1=Bolis|first1=A.|last2=Cantwell|first2=C. D.|last3=Kirby|first3=R. M.|last4=Sherwin|first4=S. J.|date=2014-07-20|title=From h to p efficiently: optimal implementation strategies for explicit time-dependent problems using the spectral/hp element method|journal=International Journal for Numerical Methods in Fluids|language=en|volume=75|issue=8|pages=591–607|doi=10.1002/fld.3909|issn=1097-0363|pmc=4394998|pmid=25892840|bibcode=2014IJNMF..75..591B}}
  • Preconditioners tailored to high-order finite element methods;
  • Numerical stabilization techniques such as dealiasing{{Cite journal|last1=Kirby|first1=Robert M.|last2=Sherwin|first2=Spencer J.|date=2006-10-03|title=Aliasing errors due to quadratic nonlinearities on triangular spectral /hp element discretisations|journal=Journal of Engineering Mathematics|language=en|volume=56|issue=3|pages=273–288|doi=10.1007/s10665-006-9079-5|issn=0022-0833|citeseerx=10.1.1.130.6964|s2cid=14810812}} and spectral vanishing viscosity;{{Cite journal|last1=Kirby|first1=Robert M.|last2=Sherwin|first2=Spencer J.|date=2006-04-15|title=Stabilisation of spectral/hp element methods through spectral vanishing viscosity: Application to fluid mechanics modelling|journal=Computer Methods in Applied Mechanics and Engineering|series=Incompressible CFD|volume=195|issue=23–24|pages=3128–3144|doi=10.1016/j.cma.2004.09.019|bibcode=2006CMAME.195.3128K|hdl=10044/1/355|hdl-access=free}}{{Cite journal|last1=Moura|first1=R. C.|last2=Sherwin|first2=S. J.|last3=Peiró|first3=J.|date=2016-02-15|title=Eigensolution analysis of spectral/hp continuous Galerkin approximations to advection–diffusion problems: Insights into spectral vanishing viscosity|journal=Journal of Computational Physics|volume=307|pages=401–422|doi=10.1016/j.jcp.2015.12.009|bibcode=2016JCoPh.307..401M|doi-access=free|hdl=10044/1/28346|hdl-access=free}}
  • Parallel execution and scalable to thousands of processor cores;{{Cite journal|last1=Lombard|first1=Jean-Eloi W.|last2=Moxey|first2=David|last3=Sherwin|first3=Spencer J.|last4=Hoessler|first4=Julien F. A.|last5=Dhandapani|first5=Sridar|last6=Taylor|first6=Mark J.|date=2015-11-26|title=Implicit Large-Eddy Simulation of a Wingtip Vortex|journal=AIAA Journal|volume=54|issue=2|pages=506–518|doi=10.2514/1.J054181|issn=0001-1452|hdl=10044/1/32883|hdl-access=free}}
  • Pre-processing tools to generate meshes, or manipulate and convert meshes generated with third-party software into a Nektar++-readable format;{{Cite journal|last1=Moxey|first1=D.|last2=Green|first2=M. D.|last3=Sherwin|first3=S. J.|last4=Peiró|first4=J.|date=2015-01-01|title=An isoparametric approach to high-order curvilinear boundary-layer meshing|journal=Computer Methods in Applied Mechanics and Engineering|volume=283|pages=636–650|doi=10.1016/j.cma.2014.09.019|bibcode=2015CMAME.283..636M|doi-access=free|hdl=10044/1/19968|hdl-access=free}}
  • 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{{Cite book|last1=Cohen|first1=J.|last2=Moxey|first2=D.|last3=Cantwell|first3=C.|last4=Burovskiy|first4=P.|last5=Darlington|first5=J.|last6=Sherwin|first6=S. J.|title=2013 IEEE International Conference on Cluster Computing (CLUSTER) |chapter=Nekkloud: A software environment for high-order finite element analysis on clusters and clouds |date=2013-09-01|pages=1–5|doi=10.1109/CLUSTER.2013.6702616|isbn=978-1-4799-0898-1|s2cid=14429055}} from the libhpc project;{{Cite journal|last1=Cohen|first1=Jeremy|last2=Cantwell|first2=Chris|last3=Hong|first3=Neil Chue|last4=Moxey|first4=David|last5=Illingworth|first5=Malcolm|last6=Turner|first6=Andrew|last7=Darlington|first7=John|last8=Sherwin|first8=Spencer|date=2014-07-09|title=Simplifying the Development, Use and Sustainability of HPC Software|journal=Journal of Open Research Software|language=en|volume=2|issue=1|doi=10.5334/jors.az|issn=2049-9647|page=e16|arxiv=1309.1101|s2cid=1350846 |doi-access=free }}
  • Wide user community,{{Cite web|url=http://www.nektar.info/community|title=Community – Nektar++|website=www.nektar.info|access-date=2016-06-14}} support and annual workshop.{{Cite web|url=http://www.nektar.info/community/workshops/nektar-2016/|title=Nektar++ Workshop 2016 – Nektar++|website=www.nektar.info|access-date=2016-06-14}}

Stable versions of the software are released on a 1-month basis and it is supported by an extensive testing framework{{Cite web|url=http://buildbot.nektar.info|title=Nektar++ Buildbot|website=buildbot.nektar.info|access-date=2016-06-14}} which ensures correctness across a range of platforms and architectures.

Other capabilities currently under active development include p-adaption,{{Cite journal|last1=Ekelschot|first1=D.|last2=Moxey|first2=D.|last3=Sherwin|first3=S. J.|last4=Peiró|first4=J.|title=A p-adaptation method for compressible flow problems using a goal-based error indicator|journal=Computers & Structures|volume=181|pages=55–69|doi=10.1016/j.compstruc.2016.03.004|year=2017|hdl=10871/26757|hdl-access=free}} 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.{{Cite book|last1=Rocco|first1=G.|last2=Sherwin|first2=S. J.|title=Instability and Control of Massively Separated Flows |chapter=The Role of Spanwise Forcing on Vortex Shedding Suppression in a Flow Past a Cylinder |date=2015-01-01|publisher=Springer International Publishing|isbn=9783319062594|editor-last=Theofilis|editor-first=Vassilis|series=Fluid Mechanics and Its Applications|volume=107 |pages=105–110|language=en|doi=10.1007/978-3-319-06260-0_15|editor-last2=Soria|editor-first2=Julio}}{{Cite journal|last1=Rocco|first1=G.|last2=Zaki|first2=T. A.|last3=Mao|first3=X.|last4=Blackburn|first4=H.|last5=Sherwin|first5=S. J.|date=2015-07-01|title=Floquet and transient growth stability analysis of a flow through a compressor passage|journal=Aerospace Science and Technology|series=Instability and Control of Massively Separated Flows|volume=44|pages=116–124|doi=10.1016/j.ast.2015.02.004}}

= Compressible flow =

External aerodynamics simulations of high-speed compressible flows are supported through solution of the compressible Euler or Navier-Stokes equations.{{Cite journal|last1=Mengaldo|first1=G.|last2=Kravtsova|first2=M.|last3=Ruban|first3=A. I.|last4=Sherwin|first4=S. J.|date=2015-07-01|title=Triple-deck and direct numerical simulation analyses of high-speed subsonic flows past a roughness element|journal=Journal of Fluid Mechanics|volume=774|pages=311–323|doi=10.1017/jfm.2015.281|bibcode=2015JFM...774..311M|issn=1469-7645|doi-access=free|hdl=10044/1/25331|hdl-access=free}}

= Cardiac Electrophysiology =

This solver supports the solution of the monodomain model and bidomain model of action potential propagation through myocardium.{{Cite journal|last1=Cantwell|first1=Chris D.|last2=Yakovlev|first2=Sergey|last3=Kirby|first3=Robert M.|last4=Peters|first4=Nicholas S.|last5=Sherwin|first5=Spencer J.|date=2014-01-15|title=High-order spectral/hp element discretisation for reaction–diffusion problems on surfaces: Application to cardiac electrophysiology|journal=Journal of Computational Physics|volume=257|issue=PA|pages=813–829|doi=10.1016/j.jcp.2013.10.019|pmc=3991332|pmid=24748685|bibcode=2014JCoPh.257..813C}}

= Other application areas =

License

Nektar++ is free and open source software, released under the MIT license.{{Cite web|url=http://www.nektar.info/license/|title=License – Nektar++|website=www.nektar.info|access-date=2016-06-14}}

Alternative software

=Free and open-source software=

=Proprietary software=

References

{{Reflist}}

=Official resources=

  • [http://www.nektar.info Nektar++ home page]
  • [https://gitlab.nektar.info Nektar++ Gitlab repository]

{{CAE software}}

Category:Computational fluid dynamics

Category:Free science software

Category:Free computer-aided design software

Category:Scientific simulation software