Software:Nektar++

From HandWiki
Nektar++
Nektar++ logo.png
Initial release4 May 2006; 18 years ago (2006-05-04)
Stable release
5.5.0 / 31 January 2024; 5 months ago (2024-01-31)
Written inC++
Operating systemUnix/Linux/OS X/Windows,
TypeSpectral element method, Hp-FEM, Computational fluid dynamics,
LicenseMIT License,
Websitehttp://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

License

Nektar++ is free and open source software, released under the MIT license.[27]

Alternative software

Free and open-source software

Proprietary software

References

  1. 1.0 1.1 1.2 Cantwell, C. D.; Moxey, D.; Comerford, A.; Bolis, A.; Rocco, G.; Mengaldo, G.; De Grazia, D.; Yakovlev, S. et al. (2015-07-01). "Nektar++: An open-source spectral/ element framework". Computer Physics Communications 192: 205–219. doi:10.1016/j.cpc.2015.02.008. Bibcode2015CoPhC.192..205C. 
  2. "Nektar++ – Spectral/hp Element Framework". http://www.nektar.info. 
  3. Sherwin, S. J.; Kirby, R. M.; Peiró, J.; Taylor, R. L.; Zienkiewicz, O. C. (2006-01-29). "On 2D elliptic discontinuous Galerkin methods" (in en). International Journal for Numerical Methods in Engineering 65 (5): 752–784. doi:10.1002/nme.1466. ISSN 1097-0207. Bibcode2006IJNME..65..752S. 
  4. Kirby, Robert M.; Sherwin, Spencer J.; Cockburn, Bernardo (2011-07-01). "To CG or to HDG: A Comparative Study" (in en). Journal of Scientific Computing 51 (1): 183–212. doi:10.1007/s10915-011-9501-7. ISSN 0885-7474. 
  5. Yakovlev, Sergey; Moxey, David; Kirby, Robert M.; Sherwin, Spencer J. (2015-07-28). "To CG or to HDG: A Comparative Study in 3D" (in en). Journal of Scientific Computing 67 (1): 192–220. doi:10.1007/s10915-015-0076-6. ISSN 0885-7474. 
  6. 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" (in en). Journal of Scientific Computing 67 (3): 1272–1292. doi:10.1007/s10915-015-0119-z. ISSN 0885-7474. 
  7. 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. Bibcode2010JCoPh.229.5161V. 
  8. 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. 
  9. 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" (in en). Mathematical Modelling of Natural Phenomena 6 (3): 84–96. doi:10.1051/mmnp/20116304. ISSN 0973-5348. 
  10. 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. Bibcode2011IJCFD..25..107V. 
  11. 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" (in en). International Journal for Numerical Methods in Fluids 75 (8): 591–607. doi:10.1002/fld.3909. ISSN 1097-0363. PMID 25892840. Bibcode2014IJNMF..75..591B. 
  12. Kirby, Robert M.; Sherwin, Spencer J. (2006-10-03). "Aliasing errors due to quadratic nonlinearities on triangular spectral /hp element discretisations" (in en). Journal of Engineering Mathematics 56 (3): 273–288. doi:10.1007/s10665-006-9079-5. ISSN 0022-0833. 
  13. 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. Bibcode2006CMAME.195.3128K. 
  14. 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. Bibcode2016JCoPh.307..401M. 
  15. 15.0 15.1 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. 
  16. 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. Bibcode2015CMAME.283..636M. 
  17. 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). pp. 1–5. doi:10.1109/CLUSTER.2013.6702616. ISBN 978-1-4799-0898-1. 
  18. 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" (in en). Journal of Open Research Software 2 (1): e16. doi:10.5334/jors.az. ISSN 2049-9647. 
  19. "Community – Nektar++". http://www.nektar.info/community. 
  20. "Nektar++ Workshop 2016 – Nektar++". http://www.nektar.info/community/workshops/nektar-2016/. 
  21. "Nektar++ Buildbot". http://buildbot.nektar.info. 
  22. 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. 
  23. Rocco, G.; Sherwin, S. J. (2015-01-01). "The Role of Spanwise Forcing on Vortex Shedding Suppression in a Flow Past a Cylinder". in Theofilis, Vassilis (in en). Instability and Control of Massively Separated Flows. Fluid Mechanics and Its Applications. 107. Springer International Publishing. pp. 105–110. doi:10.1007/978-3-319-06260-0_15. ISBN 9783319062594. 
  24. 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. 
  25. 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. Bibcode2015JFM...774..311M. 
  26. 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 (PA): 813–829. doi:10.1016/j.jcp.2013.10.019. PMID 24748685. Bibcode2014JCoPh.257..813C. 
  27. "License – Nektar++". http://www.nektar.info/license/. 
  28. "Nek5000 License file on Github". https://raw.githubusercontent.com/Nek5000/Nek5000/master/LICENSE. 
  29. FEATool Multiphysics homepage

External links

Official resources