Chapter 4
Inside the Library: LibUtilities

In this chapter, we walk the reader through the different components of the LibUtilities Directory. We have ordered them in alphabetical order by directory name, not by level of importance or relevance to the code. Since all of these items are considered foundational to Nektar++, they should all be considered equally important and relevant. Along the same lines – since all of these areas of the code represent the deepest members of the code hierarchy, these items should rarely be modified.

 4.1 BasicConst
 4.2 BasicUtils
 4.3 Communication
 4.4 FFT
 4.5 Foundations
  4.5.1 Points
  4.5.2 Basis
 4.6 Interpreter
 4.7 Kernel
 4.8 Linear Algebra
 4.9 Memory
 4.10 Polylib
 4.11 SIMDLib
 4.12 Time Integration
  4.12.1 General Linear Methods
  4.12.2 Extrapolation Integration Schemes
  4.12.3 Spectral Deferred Correction Integration Schemes
  4.12.4 Fractional-in-time Integration Schemes
  4.12.5 Usage
  4.12.6 Implementation of a time-dependent problem
  4.12.7 Strongly imposed essential boundary conditions
  4.12.8 How to add a new GLM time-stepping method
  4.12.9 Examples of already implemented time stepping schemes