|
SpECTRE
v2025.08.19
|
A product of sinusoids \(u(\boldsymbol{x}) = \prod_i \sin(k_i x_i)\). More...
#include <ProductOfSinusoids.hpp>
Classes | |
| struct | ComplexPhase |
| struct | WaveNumbers |
Public Types | |
| using | options = tmpl::flatten< tmpl::list< WaveNumbers, tmpl::conditional_t< std::is_same_v< DataType, ComplexDataVector >, ComplexPhase, tmpl::list<> > > > |
Public Member Functions | |
| ProductOfSinusoids (const ProductOfSinusoids &)=default | |
| ProductOfSinusoids & | operator= (const ProductOfSinusoids &)=default |
| ProductOfSinusoids (ProductOfSinusoids &&)=default | |
| ProductOfSinusoids & | operator= (ProductOfSinusoids &&)=default |
| std::unique_ptr< elliptic::analytic_data::AnalyticSolution > | get_clone () const override |
| ProductOfSinusoids (const std::array< double, Dim > &wave_numbers, const double complex_phase=0.) | |
| template<typename... RequestedTags> | |
| tuples::TaggedTuple< RequestedTags... > | variables (const tnsr::I< DataVector, Dim > &x, tmpl::list< RequestedTags... >) const |
| void | pup (PUP::er &p) override |
| const std::array< double, Dim > & | wave_numbers () const |
| double | complex_phase () const |
| virtual std::unique_ptr< AnalyticSolution > | get_clone () const =0 |
Static Public Attributes | |
| static constexpr Options::String | help |
A product of sinusoids \(u(\boldsymbol{x}) = \prod_i \sin(k_i x_i)\).
Solves the Poisson equation \(-\Delta u(x)=f(x)\) for a source \(f(x)=\boldsymbol{k}^2\prod_i \sin(k_i x_i)\).
If DataType is ComplexDataVector, the solution is multiplied by exp(i * complex_phase) to rotate it in the complex plane. This allows to use this solution for the complex Poisson equation.
|
inlineoverridevirtual |
Implements elliptic::analytic_data::AnalyticSolution.
|
staticconstexpr |