Nektar++
Initial release | 4th May 2006 (10 years) |
---|---|
Stable release |
4.3.5
/ December 2016 |
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
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
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.[15] It also supports the linearised and adjoint forms of the Navier-Stokes equations for evaluating hydrodynamic stability of flows.[23][24]
Compressible flow
External aerodynamics simulations of high-speed compressible flows are supported through solution of the compressible Euler or Navier-Stokes equations.[25]
Cardiac Electrophysiology
This solver supports the solution of the monodomain model and bidomain model of action potential propagation through myocardium.[26]
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.[27]
Alternative software
Free and open-source software
- Nek5000 (GPL)
- Advanced Simulation Library (AGPL)
- Code Saturne (GPL)
- FEATool Multiphysics[28]
- Gerris Flow Solver (GPL)
- OpenFOAM (GPL)
- SU2 code (LGPL)
Proprietary software
References
- 1 2 3 Cantwell, C. D.; Moxey, D.; Comerford, A.; Bolis, A.; Rocco, G.; Mengaldo, G.; De Grazia, D.; Yakovlev, S.; Lombard, J. -E. (2015-07-01). "Nektar++: An open-source spectral/ element framework". Computer Physics Communications. 192: 205–219. doi:10.1016/j.cpc.2015.02.008.
- ↑ "Nektar++ – Spectral/hp Element Framework". www.nektar.info. Retrieved 2016-06-14.
- ↑ Sherwin, S. J.; Kirby, R. M.; Peiró, J.; Taylor, R. L.; Zienkiewicz, O. C. (2006-01-29). "On 2D elliptic discontinuous Galerkin methods". International Journal for Numerical Methods in Engineering. 65 (5): 752–784. doi:10.1002/nme.1466. ISSN 1097-0207.
- ↑ Kirby, Robert M.; Sherwin, Spencer J.; Cockburn, Bernardo (2011-07-01). "To CG or to HDG: A Comparative Study". Journal of Scientific Computing. 51 (1): 183–212. doi:10.1007/s10915-011-9501-7. ISSN 0885-7474.
- ↑ Yakovlev, Sergey; Moxey, David; Kirby, Robert M.; Sherwin, Spencer J. (2015-07-28). "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. ISSN 0885-7474.
- ↑ Mengaldo, G.; Grazia, D.; Vincent, P. E.; Sherwin, S. J. (2015-10-19). "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. ISSN 0885-7474.
- ↑ Vos, Peter E. J.; Sherwin, Spencer J.; Kirby, Robert M. (2010-07-01). "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. doi:10.1016/j.jcp.2010.03.031.
- ↑ Cantwell, C. D.; Sherwin, S. J.; Kirby, R. M.; Kelly, P. H. J. (2011-04-01). "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. (2011-01-01). "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. (2011-03-01). "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. doi:10.1080/10618562.2011.575368. ISSN 1061-8562.
- ↑ Bolis, A.; Cantwell, C. D.; Kirby, R. M.; Sherwin, S. J. (2014-07-20). "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. doi:10.1002/fld.3909. ISSN 1097-0363. PMC 4394998. PMID 25892840.
- ↑ Kirby, Robert M.; Sherwin, Spencer J. (2006-10-03). "Aliasing errors due to quadratic nonlinearities on triangular spectral /hp element discretisations". Journal of Engineering Mathematics. 56 (3): 273–288. doi:10.1007/s10665-006-9079-5. ISSN 0022-0833.
- ↑ Kirby, Robert M.; Sherwin, Spencer J. (2006-04-15). "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. doi:10.1016/j.cma.2004.09.019.
- ↑ Moura, R. C.; Sherwin, S. J.; Peiró, J. (2016-02-15). "Eigensolution analysis of spectral/hp continuous Galerkin approximations to advection–diffusion problems: Insights into spectral vanishing viscosity". Journal of Computational Physics. 307: 401–422. doi:10.1016/j.jcp.2015.12.009.
- 1 2 Lombard, Jean-Eloi W.; Moxey, David; Sherwin, Spencer J.; Hoessler, Julien F. A.; Dhandapani, Sridar; Taylor, Mark J. (2015-11-26). "Implicit Large-Eddy Simulation of a Wingtip Vortex". AIAA Journal. 54 (2): 506–518. doi:10.2514/1.J054181. ISSN 0001-1452.
- ↑ Moxey, D.; Green, M. D.; Sherwin, S. J.; Peiró, J. (2015-01-01). "An isoparametric approach to high-order curvilinear boundary-layer meshing". Computer Methods in Applied Mechanics and Engineering. 283: 636–650. doi:10.1016/j.cma.2014.09.019.
- ↑ Cohen, J.; Moxey, D.; Cantwell, C.; Burovskiy, P.; Darlington, J.; Sherwin, S. J. (2013-09-01). "Nekkloud: A software environment for high-order finite element analysis on clusters and clouds". 2013 IEEE International Conference on Cluster Computing (CLUSTER): 1–5. doi:10.1109/CLUSTER.2013.6702616.
- ↑ Cohen, Jeremy; Cantwell, Chris; Hong, Neil Chue; Moxey, David; Illingworth, Malcolm; Turner, Andrew; Darlington, John; Sherwin, Spencer (2014-07-09). "Simplifying the Development, Use and Sustainability of HPC Software". Journal of Open Research Software. 2 (1). doi:10.5334/jors.az. ISSN 2049-9647.
- ↑ "Community – Nektar++". www.nektar.info. Retrieved 2016-06-14.
- ↑ "Nektar++ Workshop 2016 – Nektar++". www.nektar.info. Retrieved 2016-06-14.
- ↑ "Nektar++ Buildbot". buildbot.nektar.info. Retrieved 2016-06-14.
- ↑ Ekelschot, D.; Moxey, D.; Sherwin, S. J.; Peiró, J. "A p-adaptation method for compressible flow problems using a goal-based error indicator". Computers & Structures. doi:10.1016/j.compstruc.2016.03.004.
- ↑ Rocco, G.; Sherwin, S. J. (2015-01-01). Theofilis, Vassilis; Soria, Julio, eds. The Role of Spanwise Forcing on Vortex Shedding Suppression in a Flow Past a Cylinder. Fluid Mechanics and Its Applications. 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. (2015-07-01). "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. (2015-07-01). "Triple-deck and direct numerical simulation analyses of high-speed subsonic flows past a roughness element". Journal of Fluid Mechanics. 774: 311–323. doi:10.1017/jfm.2015.281. ISSN 1469-7645.
- ↑ Cantwell, Chris D.; Yakovlev, Sergey; Kirby, Robert M.; Peters, Nicholas S.; Sherwin, Spencer J. (2014-01-15). "High-order spectral/hp element discretisation for reaction–diffusion problems on surfaces: Application to cardiac electrophysiology". Journal of Computational Physics. 257, Part A: 813–829. doi:10.1016/j.jcp.2013.10.019. PMC 3991332. PMID 24748685.
- ↑ "License – Nektar++". www.nektar.info. Retrieved 2016-06-14.
- ↑ FEATool Multiphysics homepage