Chapter 1Introduction

Welcome to the tutorial on the fundamentals of the Nektar++ framework where we will look at how to perform Differentiation using the Nektar++ LibUtilities library. If you have not already downloaded and installed Nektar++, please do so by visiting http://www.nektar.info, where you can also find the User-Guide with the instructions on how to install the library.

This tutorial requires:

• Nektar++ compiled libraries and include files compiled from source so additional code can be compiled with the framework libraries

Goals

After completing this tutorial, you should be familiar with:

• The concept of differentiation using classical Gauss and Gauss-Lobatto rules in a standard interval ξ ∈ [-1,1];
• Using the Nektar++ programming concepts of a `NekMatrix`, an `Array`, a `PointsKey` and the `PointsManager` to generate Gaussian quadrature zeros and differentiation matrices;
• Differentiating in the standard segment (ξ ∈ [-1,1]) and quadrilateral region (ξ ∈ [-1,1] × [-1,1]);
• The mathematical concept of mapping a general quadrilateral region to the standard region, evaluating the jacobian of this mapping and using this to evaluate a derivative in a general straight sided quadrilateral region.

Task: 1.1 Prepare for the tutorial. Make sure that you have:

• Installed and tested Nektar++ v5.3.0 compiled from source. We will refer to the directory where you installed Nektar++ as `\$NEKDIST` for the remainder of the tutorial.

The tutorial folder also contains:

• CMakeList.txt
• LocDifferentiation2D.cpp
• StdDifferentiation1D.cpp
• StdDifferentiation2D.cpp
• Make a directory of your chosing, for example `tutorial`, and download the tutorial files from fundamentals-differentiation.tar.gz into this directory.
• Unpack the tutorial files by using

`tar -xzvf fundamentals-differentiation.tar.gz`

to produce a directory `fundamentals-differentiation` with subdirectories called `tutorial` and `complete`.

• Change to the

`fundamentals-differentiation/tutorial`

directory and configure the tutorial examples for compilation by typing the command

`cmake -DCMAKE_PREFIX_PATH=\$NEKDIST/build . `

You should now see a file called `Makefile` in this directory.

• Change to the

`\$NEKDIST/tutorial/fundamentals-differentiation/complete`

directory and configure the completed version of the tutorial examples for compilation by again typing the command

`cmake -DCMAKE_PREFIX_PATH=\$NEKDIST/build`

You should now see a file called `Makefile` in this directory.