This developer’s guide is designed for the experienced spectral/hp user who wishes to go beyond using various Nektar++ solvers and possibly to add new features or capabilities at the library, solver or utilities levels. Since the focus of this document is Nektar++, we cannot recapitulate all relevant mathematical or computer science concepts upon which our framework is built. In this section we provide a listing of areas and/or topics of assumed knowledge, and we provide a non-exhaustive list of references to help the reader see the general areas of additional reading they may need to benefit fully from this manual.
We assume the reader has a familiarity and comfort-level with the following areas:
Finite Element Methods (FEM) [42, 61, 9] and more generally the mathematical ideas surrounding continuous Galerkin (cG) methods. This includes basic calculus of variation concepts, basic partial differential equation knowledge, and general forms of discretization and approximation.
Polynomial Methods [19, 34, 38], and in particular concepts surrounding polynomial spaces, basis functions and numerical differentiation and quadrature.
Scientific Computing [37, 45]. We assume a graduate-level proficiency in basic computational techniques such as dealing with numerical precision (accuracy and conditioning), root-finding algorithms, differentiation and integration, and basic optimization.
Linear Algebra [66, 24]. We assume a strong knowledge of linear algebra and a reasonable comfort level with the various numerical algorithms used for the solution of symmetric and non-symmetric linear systems.