Nektar++: Enhancing the capability and application of high-fidelity spectral/hp element methods
Autor: | Yan Bao, Hui Xu, Robert M. Kirby, Douglas Serson, Gianmarco Mengaldo, Michael Turner, Joaquim Peiró, Ehsan Kazemi, Emilia Juda, Julian Marcon, Spencer J. Sherwin, Kilian Lackhove, Sehun Chun, David Moxey, Andrea Cassinelli, Giacomo Castiglioni, Chris D. Cantwell |
---|---|
Rok vydání: | 2020 |
Předmět: |
Partial differential equation
Discretization business.industry Numerical analysis General Physics and Astronomy Python (programming language) 01 natural sciences 010305 fluids & plasmas Computational science Software Hardware and Architecture Mesh generation 0103 physical sciences Scalability 010306 general physics business Spectral method computer computer.programming_language |
Zdroj: | Computer Physics Communications. 249:107110 |
ISSN: | 0010-4655 |
DOI: | 10.1016/j.cpc.2019.107110 |
Popis: | Nektar++ is an open-source framework that provides a flexible, high-performance and scalable platform for the development of solvers for partial differential equations using the high-order spectral/ h p element method. In particular, Nektar++ aims to overcome the complex implementation challenges that are often associated with high-order methods, thereby allowing them to be more readily used in a wide range of application areas. In this paper, we present the algorithmic, implementation and application developments associated with our Nektar++ version 5.0 release. We describe some of the key software and performance developments, including our strategies on parallel I/O, on in situ processing, the use of collective operations for exploiting current and emerging hardware, and interfaces to enable multi-solver coupling. Furthermore, we provide details on a newly developed Python interface that enables a more rapid introduction for new users unfamiliar with spectral/ h p element methods, C++ and/or Nektar++. This release also incorporates a number of numerical method developments – in particular: the method of moving frames (MMF), which provides an additional approach for the simulation of equations on embedded curvilinear manifolds and domains; a means of handling spatially variable polynomial order; and a novel technique for quasi-3D simulations (which combine a 2D spectral element and 1D Fourier spectral method) to permit spatially-varying perturbations to the geometry in the homogeneous direction. Finally, we demonstrate the new application-level features provided in this release, namely: a facility for generating high-order curvilinear meshes called NekMesh; a novel new AcousticSolver for aeroacoustic problems; our development of a ‘thick’ strip model for the modelling of fluid–structure interaction (FSI) problems in the context of vortex-induced vibrations (VIV). We conclude by commenting on some lessons learned and by discussing some directions for future code development and expansion. Program summary Program Title: Nektar++ Program Files doi: http://dx.doi.org/10.17632/9drxd9d8nx.1 Code Ocean Capsule: https://doi.org/10.24433/CO.9865757.v1 Licensing provisions: MIT Programming language: C++ External routines/libraries: Boost, METIS, FFTW, MPI, Scotch, PETSc, TinyXML, HDF5, OpenCASCADE, CWIPI Nature of problem: The Nektar++ framework is designed to enable the discretisation and solution of time-independent or time-dependent partial differential equations. Solution method: spectral/ h p element method |
Databáze: | OpenAIRE |
Externí odkaz: |