Jump to content

英文维基 | 中文维基 | 日文维基 | 草榴社区

Nektar++

From Wikipedia, the free encyclopedia

Nektar++
Initial release4 May 2006; 18 years ago (2006-05-04)
Stable release
5.6.0 / 15 May 2024; 5 months ago (2024-05-15)
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

[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]

License

[edit]

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

Alternative software

[edit]

Free and open-source software

[edit]

Proprietary software

[edit]

References

[edit]
  1. ^ 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.
  2. ^ "Nektar++ – Spectral/hp Element Framework". www.nektar.info. Retrieved 14 June 2016.
  3. ^ 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.
  4. ^ 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.
  5. ^ 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.
  6. ^ 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.
  7. ^ 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.
  8. ^ 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.
  9. ^ 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.
  10. ^ 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.
  11. ^ 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.
  12. ^ 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.
  13. ^ 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.
  14. ^ 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.
  15. ^ 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.
  16. ^ 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.
  17. ^ 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.
  18. ^ 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.
  19. ^ "Community – Nektar++". www.nektar.info. Retrieved 14 June 2016.
  20. ^ "Nektar++ Workshop 2016 – Nektar++". www.nektar.info. Retrieved 14 June 2016.
  21. ^ "Nektar++ Buildbot". buildbot.nektar.info. Retrieved 14 June 2016.
  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. hdl:10871/26757.
  23. ^ 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.
  24. ^ 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.
  25. ^ 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.
  26. ^ 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.
  27. ^ "License – Nektar++". www.nektar.info. Retrieved 14 June 2016.
  28. ^ "Nek5000 License file on Github".
  29. ^ FEATool Multiphysics homepage
[edit]

Official resources

[edit]