WaveBlocksND
|
This class implements the hyperbolic cut shape. More...
#include <shape_hyperbolic.hpp>
Public Member Functions | |
HyperbolicCutShape (int S) | |
General constructor to set the sparsity parameter \( S \). More... | |
virtual int | bbox (dim_t axis) const override |
Retrieves the length of the minimum bounding box in one direction. More... | |
virtual int | limit (int const *base_node, dim_t axis) const override |
Evaluates one surface function on a base node. 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 | |
int | S_ |
This class implements the hyperbolic cut shape.
This class implements the hyperbolic cut basis shape, which is a special type of a sparse basis shape. The hyperbolic cut shape in \( D \) dimensions with sparsity \(S\) is defined as the set
\[ \mathfrak{K}(D,S) := \left\{(k_1,\dots,k_D) \in \mathbb{N}_0^D \mid \displaystyle\prod_{d=1}^{D} (1+k_d) \leq S \right\} \]
D | basis shape dimensionality |
|
inline |
General constructor to set the sparsity parameter \( S \).
S | The sparsity parameter \( S \). |
|
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 >.
|
inlineoverridevirtual |
Prints a pretty description of the shape.
out | The output stream. |
Implements waveblocks::wavepackets::shapes::AbstractShape< D >.
|
private |