Nektar++
Initial release | 4 May 2006 |
---|---|
Stable release | 5.6.0
/ 15 May 2024 |
Written in | C++ |
Operating system | Unix/Linux/OS X/Windows, |
Type | Spectral element method, Hp-FEM, Computational fluid dynamics, |
License | MIT License, |
Website | 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).[1][2] 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
[edit]Nektar++ includes the following capabilities:
- One-, two- and three-dimensional problems;[1]
- Multiple and mixed element types, i.e. triangles, quadrilaterals, tetrahedra, prisms and hexahedra;[1]
- Both hierarchical and nodal expansion bases with variable and heterogeneous polynomial order between elements;
- Continuous Galerkin, discontinuous Galerkin,[3] hybridizable discontinuous Galerkin[4][5] and flux reconstruction[6] operators;
- Multiple implementations of finite element operators for efficient execution on a wide range of CPU architectures;[7][8][9]
- Comprehensive range of explicit, implicit and implicit-explicit (IMEX) time-integration schemes;[10][11]
- Preconditioners tailored to high-order finite element methods;
- Numerical stabilization techniques such as dealiasing[12] and spectral vanishing viscosity;[13][14]
- Parallel execution and scalable to thousands of processor cores;[15]
- Pre-processing tools to generate meshes, or manipulate and convert meshes generated with third-party software into a Nektar++-readable format;[16]
- 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[17] from the libhpc project;[18]
- Wide user community,[19] support and annual workshop.[20]
Stable versions of the software are released on a 1-month basis and it is supported by an extensive testing framework[21] which ensures correctness across a range of platforms and architectures.
Other capabilities currently under active development include p-adaption,[22] r-adaption and support for accelerators (GPGPU, Intel Xeon Phi).
Application domains
[edit]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
[edit]This solver time-integrates the incompressible Navier-Stokes equations for performing large-scale direct numerical simulation (DNS) in complex geometries.[15] It also supports the linearised and adjoint forms of the Navier-Stokes equations for evaluating hydrodynamic stability of flows.[23][24]
Compressible flow
[edit]External aerodynamics simulations of high-speed compressible flows are supported through solution of the compressible Euler or Navier-Stokes equations.[25]
Cardiac Electrophysiology
[edit]This solver supports the solution of the monodomain model and bidomain model of action potential propagation through myocardium.[26]
Other application areas
[edit]- shallow water equations;
- reaction-diffusion-advection problems;
- pulse wave propagation solver for modelling arterial networks;
- acoustic perturbation equations;
- linear elasticity equations.
License
[edit]Nektar++ is free and open source software, released under the MIT license.[27]
Alternative software
[edit]Free and open-source software
[edit]- Nek5000 (BSD[28])
- Advanced Simulation Library (AGPL)
- Code Saturne (GPL)
- FEATool Multiphysics[29]
- Gerris Flow Solver (GPL)
- OpenFOAM (GPL)
- SU2 code (LGPL)
- PyFR
Proprietary software
[edit]- ADINA CFD
- ANSYS CFX
- ANSYS Fluent
- COMSOL Multiphysics
- Pumplinx
- Simcenter STAR-CCM+
- KIVA (software)
- RELAP5-3D
References
[edit]- ^ a b c Cantwell, C. D.; Moxey, D.; Comerford, A.; Bolis, A.; Rocco, G.; Mengaldo, G.; De Grazia, D.; Yakovlev, S.; Lombard, J. -E. (1 July 2015). "Nektar++: An open-source spectral/ element framework". Computer Physics Communications. 192: 205–219. Bibcode:2015CoPhC.192..205C. doi:10.1016/j.cpc.2015.02.008.
- ^ "Nektar++ – Spectral/hp Element Framework". www.nektar.info. Retrieved 14 June 2016.
- ^ Sherwin, S. J.; Kirby, R. M.; Peiró, J.; Taylor, R. L.; Zienkiewicz, O. C. (29 January 2006). "On 2D elliptic discontinuous Galerkin methods". International Journal for Numerical Methods in Engineering. 65 (5): 752–784. Bibcode:2006IJNME..65..752S. CiteSeerX 10.1.1.130.6271. doi:10.1002/nme.1466. ISSN 1097-0207. S2CID 122060519.
- ^ Kirby, Robert M.; Sherwin, Spencer J.; Cockburn, Bernardo (1 July 2011). "To CG or to HDG: A Comparative Study". Journal of Scientific Computing. 51 (1): 183–212. CiteSeerX 10.1.1.308.6739. doi:10.1007/s10915-011-9501-7. ISSN 0885-7474. S2CID 697080.
- ^ Yakovlev, Sergey; Moxey, David; Kirby, Robert M.; Sherwin, Spencer J. (28 July 2015). "To CG or to HDG: A Comparative Study in 3D". Journal of Scientific Computing. 67 (1): 192–220. doi:10.1007/s10915-015-0076-6. hdl:10044/1/28889. ISSN 0885-7474. S2CID 39612391.
- ^ Mengaldo, G.; Grazia, D.; Vincent, P. E.; Sherwin, S. J. (19 October 2015). "On the Connections Between Discontinuous Galerkin and Flux Reconstruction Schemes: Extension to Curvilinear Meshes". Journal of Scientific Computing. 67 (3): 1272–1292. doi:10.1007/s10915-015-0119-z. hdl:10044/1/27678. ISSN 0885-7474.
- ^ Vos, Peter E. J.; Sherwin, Spencer J.; Kirby, Robert M. (1 July 2010). "From h to p efficiently: Implementing finite and spectral/hp element methods to achieve optimal performance for low- and high-order discretisations". Journal of Computational Physics. 229 (13): 5161–5181. Bibcode:2010JCoPh.229.5161V. doi:10.1016/j.jcp.2010.03.031. hdl:10044/1/14735.
- ^ Cantwell, C. D.; Sherwin, S. J.; Kirby, R. M.; Kelly, P. H. J. (1 April 2011). "From h to p efficiently: Strategy selection for operator evaluation on hexahedral and tetrahedral elements". Computers & Fluids. Symposium on High Accuracy Flow Simulations. Special Issue Dedicated to Prof. Michel DevilleSymposium on High Accuracy Flow Simulations. 43 (1): 23–28. doi:10.1016/j.compfluid.2010.08.012.
- ^ Cantwell, C. D.; Sherwin, S. J.; Kirby, R. M.; Kelly, P. H. J. (1 January 2011). "From h to p Efficiently: Selecting the Optimal Spectral/ hp Discretisation in Three Dimensions". Mathematical Modelling of Natural Phenomena. 6 (3): 84–96. doi:10.1051/mmnp/20116304. ISSN 0973-5348.
- ^ Vos, Peter E. J.; Eskilsson, Claes; Bolis, Alessandro; Chun, Sehun; Kirby, Robert M.; Sherwin, Spencer J. (1 March 2011). "A generic framework for time-stepping partial differential equations (PDEs): general linear methods, object-oriented implementation and application to fluid problems". International Journal of Computational Fluid Dynamics. 25 (3): 107–125. Bibcode:2011IJCFD..25..107V. doi:10.1080/10618562.2011.575368. ISSN 1061-8562. S2CID 119731214.
- ^ Bolis, A.; Cantwell, C. D.; Kirby, R. M.; Sherwin, S. J. (20 July 2014). "From h to p efficiently: optimal implementation strategies for explicit time-dependent problems using the spectral/hp element method". International Journal for Numerical Methods in Fluids. 75 (8): 591–607. Bibcode:2014IJNMF..75..591B. doi:10.1002/fld.3909. ISSN 1097-0363. PMC 4394998. PMID 25892840.
- ^ Kirby, Robert M.; Sherwin, Spencer J. (3 October 2006). "Aliasing errors due to quadratic nonlinearities on triangular spectral /hp element discretisations". Journal of Engineering Mathematics. 56 (3): 273–288. CiteSeerX 10.1.1.130.6964. doi:10.1007/s10665-006-9079-5. ISSN 0022-0833. S2CID 14810812.
- ^ Kirby, Robert M.; Sherwin, Spencer J. (15 April 2006). "Stabilisation of spectral/hp element methods through spectral vanishing viscosity: Application to fluid mechanics modelling". Computer Methods in Applied Mechanics and Engineering. Incompressible CFD. 195 (23–24): 3128–3144. Bibcode:2006CMAME.195.3128K. doi:10.1016/j.cma.2004.09.019. hdl:10044/1/355.
- ^ Moura, R. C.; Sherwin, S. J.; Peiró, J. (15 February 2016). "Eigensolution analysis of spectral/hp continuous Galerkin approximations to advection–diffusion problems: Insights into spectral vanishing viscosity". Journal of Computational Physics. 307: 401–422. Bibcode:2016JCoPh.307..401M. doi:10.1016/j.jcp.2015.12.009. hdl:10044/1/28346.
- ^ a b Lombard, Jean-Eloi W.; Moxey, David; Sherwin, Spencer J.; Hoessler, Julien F. A.; Dhandapani, Sridar; Taylor, Mark J. (26 November 2015). "Implicit Large-Eddy Simulation of a Wingtip Vortex". AIAA Journal. 54 (2): 506–518. doi:10.2514/1.J054181. hdl:10044/1/32883. ISSN 0001-1452.
- ^ Moxey, D.; Green, M. D.; Sherwin, S. J.; Peiró, J. (1 January 2015). "An isoparametric approach to high-order curvilinear boundary-layer meshing". Computer Methods in Applied Mechanics and Engineering. 283: 636–650. Bibcode:2015CMAME.283..636M. doi:10.1016/j.cma.2014.09.019. hdl:10044/1/19968.
- ^ Cohen, J.; Moxey, D.; Cantwell, C.; Burovskiy, P.; Darlington, J.; Sherwin, S. J. (1 September 2013). "Nekkloud: A software environment for high-order finite element analysis on clusters and clouds". 2013 IEEE International Conference on Cluster Computing (CLUSTER). pp. 1–5. doi:10.1109/CLUSTER.2013.6702616. ISBN 978-1-4799-0898-1. S2CID 14429055.
- ^ Cohen, Jeremy; Cantwell, Chris; Hong, Neil Chue; Moxey, David; Illingworth, Malcolm; Turner, Andrew; Darlington, John; Sherwin, Spencer (9 July 2014). "Simplifying the Development, Use and Sustainability of HPC Software". Journal of Open Research Software. 2 (1): e16. arXiv:1309.1101. doi:10.5334/jors.az. ISSN 2049-9647. S2CID 1350846.
- ^ "Community – Nektar++". www.nektar.info. Retrieved 14 June 2016.
- ^ "Nektar++ Workshop 2016 – Nektar++". www.nektar.info. Retrieved 14 June 2016.
- ^ "Nektar++ Buildbot". buildbot.nektar.info. Retrieved 14 June 2016.
- ^ Ekelschot, D.; Moxey, D.; Sherwin, S. J.; Peiró, J. (2017). "A p-adaptation method for compressible flow problems using a goal-based error indicator". Computers & Structures. 181: 55–69. doi:10.1016/j.compstruc.2016.03.004. hdl:10871/26757.
- ^ Rocco, G.; Sherwin, S. J. (1 January 2015). "The Role of Spanwise Forcing on Vortex Shedding Suppression in a Flow Past a Cylinder". In Theofilis, Vassilis; Soria, Julio (eds.). Instability and Control of Massively Separated Flows. Fluid Mechanics and Its Applications. Vol. 107. Springer International Publishing. pp. 105–110. doi:10.1007/978-3-319-06260-0_15. ISBN 9783319062594.
- ^ Rocco, G.; Zaki, T. A.; Mao, X.; Blackburn, H.; Sherwin, S. J. (1 July 2015). "Floquet and transient growth stability analysis of a flow through a compressor passage". Aerospace Science and Technology. Instability and Control of Massively Separated Flows. 44: 116–124. doi:10.1016/j.ast.2015.02.004.
- ^ Mengaldo, G.; Kravtsova, M.; Ruban, A. I.; Sherwin, S. J. (1 July 2015). "Triple-deck and direct numerical simulation analyses of high-speed subsonic flows past a roughness element". Journal of Fluid Mechanics. 774: 311–323. Bibcode:2015JFM...774..311M. doi:10.1017/jfm.2015.281. hdl:10044/1/25331. ISSN 1469-7645.
- ^ Cantwell, Chris D.; Yakovlev, Sergey; Kirby, Robert M.; Peters, Nicholas S.; Sherwin, Spencer J. (15 January 2014). "High-order spectral/hp element discretisation for reaction–diffusion problems on surfaces: Application to cardiac electrophysiology". Journal of Computational Physics. 257 (PA): 813–829. Bibcode:2014JCoPh.257..813C. doi:10.1016/j.jcp.2013.10.019. PMC 3991332. PMID 24748685.
- ^ "License – Nektar++". www.nektar.info. Retrieved 14 June 2016.
- ^ "Nek5000 License file on Github".
- ^ FEATool Multiphysics homepage