WaveBlocksND
|
This class implements the hypercubic basis shape. More...
#include <shape_hypercubic.hpp>
Public Member Functions | |
HyperCubicShape (const std::array< int, D > &limits) | |
HyperCubicShape (int limit) | |
Set limits to \( K_d := K \; \forall d \). More... | |
HyperCubicShape (std::initializer_list< int > list) | |
HyperCubicShape (const HyperCubicShape &that) | |
HyperCubicShape & | operator= (const HyperCubicShape &that) |
virtual int | limit (int const *base_node, dim_t axis) const override |
Evaluates one surface function on a base node. More... | |
virtual int | bbox (dim_t axis) const override |
Retrieves the length of the minimum bounding box in one direction. More... | |
virtual void | print (std::ostream &out) const override |
Prints a pretty description of the shape. More... | |
Public Member Functions inherited from waveblocks::wavepackets::shapes::AbstractShape< D > | |
virtual | ~AbstractShape () |
Private Attributes | |
std::array< int, D > | limits_ |
This class implements the hypercubic basis shape.
A \( D \)-dimensional hypercubic shape with limits \( \mathbf{K}=\{K_1,\dots,K_D\} \) is defined as the set
\[ \mathfrak{K}(D,\mathbf{K}) := \left\{ (k_1, \dots, k_D) \in \mathbb{N}_0^D | k_d < K_d \forall d \right\} \]
D | basis shape dimensionality |
|
inline |
[in] | limits | Array of all limits \( \{K_d\} \). |
|
inline |
Set limits to \( K_d := K \; \forall d \).
limit | Limit \( K \). |
|
inline |
list | List of all limits \( \{K_d\} \). |
|
inline |
|
inlineoverridevirtual |
Retrieves the length of the minimum bounding box in one direction.
The minimum bounding box is given by
\[ L_{\alpha}=\max_{k_{\alpha}}\left\{\underline{k} \in \mathfrak{K}\right\} \]
axis | The direction \( \alpha \). |
Implements waveblocks::wavepackets::shapes::AbstractShape< D >.
|
inlineoverridevirtual |
Evaluates one surface function on a base node.
The surface function to direction \( \alpha \) is given by
\[ s_{\alpha}(\underline{n})=\max_{k_{\alpha}} \left\{\underline{k} \in \mathfrak{K} \;|\; k_d = n_d \; \forall d \neq \alpha \right\} \]
Notice that the \( \alpha \)-th entry of \( \underline{n} \) does not influence return value. It can be of any value since it is simply ignored.
base_node | The basis node \( \underline{n} \). It contains D indices. |
axis | The direction \( \alpha \). |
Implements waveblocks::wavepackets::shapes::AbstractShape< D >.
|
inline |
|
inlineoverridevirtual |
Prints a pretty description of the shape.
out | The output stream. |
Implements waveblocks::wavepackets::shapes::AbstractShape< D >.
|
private |