Nektar++
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
docs
doxygen
Structure.h
Go to the documentation of this file.
1
/**
2
3
* \page pageStructure Structure
4
5
A major challenge which arises when one aims to develop a software
6
package that implements the spectral/hp element method is to implement
7
the mathematical structure of the method in a digestible and coherent
8
matter. Obviously, there are many ways to encapsulate the fundamental
9
concepts related to the spectral/hp element method, depending on e.g.
10
the intended goal of the developer or the chosen programming
11
language. We will (without going in too much
12
detail) give a an overview of how we have chosen to abstract and
13
implement spectral/hp elements in the \a Nektar++ library.
14
However, we want to emphasise that this is not the only possible choice.
15
16
Five different sublibraries, employing this characteristic pattern,
17
are provided in the full \a Nektar++ library:
18
19
- the standard elemental region sublibrary (@link Nektar#StdRegions StdRegions @endlink library)
20
- the parametric mapping sublibrary (@link Nektar#SpatialDomains SpatialDomains @endlink library)
21
- the local elemental region sublibrary (@link Nektar#LocalRegions LocalRegions @endlink library)
22
- the global region sublibrary (@link Nektar#MultiRegions MultiRegions @endlink library)
23
- the supporting utilities sublibrary (@link Nektar#LibUtilities LibUtilities @endlink library)
24
25
This structure can also be related to the formulation of a global
26
spectral/hp element expansion, i.e.
27
28
\f[
29
30
u(\boldsymbol{x})=\overbrace{\sum_{e\in\mathcal{E}}\underbrace{\sum_{n\in\mathcal{N}}\phi^e_n(\boldsymbol{x})\hat{u}^e_n}_{\mbox{\scriptsize{LocalRegions library}}}}^{\mbox{\scriptsize{MultiRegions library}}}=\sum_{e\in\mathcal{E}}\underbrace{\sum_{n\in\mathcal{N}}\phi^{std}_n\overbrace{(\left[\chi^e\right]^{-1}(\boldsymbol{x}))}^{\mbox{\scriptsize{SpatialDomains library}}}\hat{u}^e_n}_{\mbox{\scriptsize{StdRegions library}}}.
31
\f]
32
33
A more detailed overview of the \a Nektar++ structure, including an
34
overview of the most important classes per sublibrary, is depicted in
35
the figure below.
36
37
* \image html overview.png "Main structure of \a Nektar++"
38
39
*/
40
Generated on Sun Mar 15 2015 00:11:35 for Nektar++ by
1.8.1.2