WaveBlocksND
|
Abstract superclass that represents a set of basis function to a scalar Hagedorn wavepacket. More...
#include <hawp_commons.hpp>
Public Member Functions | |
virtual real_t | eps () const =0 |
Retrieves the semi-classical scaling parameter \( \varepsilon \) of the wavepacket. More... | |
virtual HaWpParamSet< D > const & | parameters () const =0 |
Grants read-only access to the Hagedorn parameter set \( \Pi \) of the wavepacket. More... | |
virtual shapes::ShapeEnumSharedPtr< D, MultiIndex > | shape () const =0 |
Retrieves the basis shape \( \mathfrak{K} \) of the wavepacket. More... | |
template<int N> | |
HaWpEvaluator< D, MultiIndex, N > | create_evaluator (CMatrix< D, N > const &grid) const |
template<int N> | |
HaWpBasisVector< N > | evaluate_basis (CMatrix< D, N > const &grid) const |
Evaluates all basis functions \( \{\phi_k\} \) on complex grid nodes \( x \in \gamma \). More... | |
template<int N> | |
HaWpBasisVector< N > | evaluate_basis (RMatrix< D, N > const &rgrid) const |
Evaluates all basis functions \( \{\phi_k\} \) on real grid nodes \( x \in \gamma \). More... | |
shapes::ShapeEnumSharedPtr< D, MultiIndex > | extended_shape () const |
Computes the extension \( \mathfrak{K}_{ext} \) of the stored basis shape \( \mathfrak{K} \). More... | |
Private Attributes | |
shapes::ShapeExtensionCache< D, MultiIndex > | shape_extension_cache_ |
Abstract superclass that represents a set of basis function to a scalar Hagedorn wavepacket.
It provides read-only access to the scaling parameter \( \varepsilon \), the Hagedorn parameter set \( \Pi \) and the basis shape \( \mathfrak{K} \).
Therefore it is able to evaluate its basis functions \( \phi_k \) on quadrature points \( x \).
|
inline |
|
pure virtual |
Retrieves the semi-classical scaling parameter \( \varepsilon \) of the wavepacket.
Implemented in waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component, waveblocks::wavepackets::HomogeneousHaWp< D, MultiIndex >::Component, waveblocks::wavepackets::ScalarHaWp< D, MultiIndex >, waveblocks::wavepackets::AbstractScalarHaWp< D, MultiIndex >, waveblocks::wavepackets::HaWpGradient< D, MultiIndex >, and waveblocks::wavepackets::HaWpGradient< D, MultiIndex >::Component.
|
inline |
Evaluates all basis functions \( \{\phi_k\} \) on complex grid nodes \( x \in \gamma \).
grid | Complex grid nodes / quadrature points \( \gamma \). Complex matrix with shape (dimensionality, number of grid nodes). |
|
inline |
Evaluates all basis functions \( \{\phi_k\} \) on real grid nodes \( x \in \gamma \).
rgrid | Real grid nodes / quadrature points \( \gamma \). Real matrix with shape (dimensionality, number of grid nodes). |
N | Number of quadrature points. Don't choose Eigen::Dynamic. It works, but performance is bad. |
|
inline |
Computes the extension \( \mathfrak{K}_{ext} \) of the stored basis shape \( \mathfrak{K} \).
Computing an extended shape is expensive. Therefore this function caches computed extensions.
Thread-Safety: The stored pointer to the cached shape extension is not guarded by a mutex. Therefore race conditions may occur when calling this function concurrently.
|
pure virtual |
Grants read-only access to the Hagedorn parameter set \( \Pi \) of the wavepacket.
Implemented in waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component, waveblocks::wavepackets::HomogeneousHaWp< D, MultiIndex >::Component, waveblocks::wavepackets::ScalarHaWp< D, MultiIndex >, waveblocks::wavepackets::AbstractScalarHaWp< D, MultiIndex >, waveblocks::wavepackets::HaWpGradient< D, MultiIndex >, and waveblocks::wavepackets::HaWpGradient< D, MultiIndex >::Component.
|
pure virtual |
Retrieves the basis shape \( \mathfrak{K} \) of the wavepacket.
Implemented in waveblocks::wavepackets::InhomogeneousHaWp< D, MultiIndex >::Component, waveblocks::wavepackets::HomogeneousHaWp< D, MultiIndex >::Component, waveblocks::wavepackets::ScalarHaWp< D, MultiIndex >, waveblocks::wavepackets::AbstractScalarHaWp< D, MultiIndex >, waveblocks::wavepackets::HaWpGradient< D, MultiIndex >, and waveblocks::wavepackets::HaWpGradient< D, MultiIndex >::Component.
|
private |