Nektar++
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
20
@endlink library)
21
- the parametric mapping sublibrary (@link Nektar#SpatialDomains SpatialDomains
22
@endlink library)
23
- the local elemental region sublibrary (@link Nektar#LocalRegions LocalRegions
24
@endlink library)
25
- the global region sublibrary (@link Nektar#MultiRegions MultiRegions @endlink
26
library)
27
- the supporting utilities sublibrary (@link Nektar#LibUtilities LibUtilities
28
@endlink library)
29
30
This structure can also be related to the formulation of a global
31
spectral/hp element expansion, i.e.
32
33
\f[
34
35
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
36
library}}}}^{\mbox{\scriptsize{MultiRegions
37
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
38
library}}}\hat{u}^e_n}_{\mbox{\scriptsize{StdRegions library}}}. \f]
39
40
A more detailed overview of the \a Nektar++ structure, including an
41
overview of the most important classes per sublibrary, is depicted in
42
the figure below.
43
44
* \image html overview.png "Main structure of \a Nektar++"
45
46
*/
Generated on Wed Oct 30 2024 16:07:27 for Nektar++ by
1.9.4