Chapter 9
Inside the Library: MultiRegions

In this chapter, we walk the reader through the different components of the MultiRegions Directory. We begin with a discussion of the mathematical fundamentals, for which we use the book by Karniadakis and Sherwin [48] as our principle reference. We then provide the reader with an overview of the primary data structures introduced within the MultiRegions Directory (often done through C++ objects), and then present the major algorithms – expressed as either object methods or functions – employed over these data structures.

 9.1 The Fundamentals Behind MultiRegions
 9.2 The Fundamental Data Structures within MultiRegions
  9.2.1 Variables at the Level of ExpList
  9.2.2 Variables at the Level of ExpList$D for various Dimensions
  9.2.3 Variables at the Level of Discontinuous Field Expansions
  9.2.4 Variables at the Level of Continuous Field Expansions
 9.3 The Fundamental Algorithms within MultiRegions
 9.4 Preconditioners
  9.4.1 Mathematical formulation
  9.4.2 Preconditioners
  9.4.3 Low energy