  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/$hp$ 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/$hp$
element methods, C++ and/or Nektar++. This release also incorporates a number
of numerical method developments - in particular: the method of moving frames,
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 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 problems in the context of vortex-induced vibrations. We conclude
by commenting some directions for future code development and expansion.
