|
|
| 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 |
template<size_t Dim, typename DataType = DataVector>
class Poisson::Solutions::ProductOfSinusoids< Dim, DataType >
A product of sinusoids \(u(\boldsymbol{x}) = \prod_i \sin(k_i x_i)\).
Details
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.