SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Poisson::Solutions::ProductOfSinusoids< Dim, DataType > Class Template Reference

A product of sinusoids u(x)=isin(kixi). More...

#include <ProductOfSinusoids.hpp>

Classes

struct  ComplexPhase
 
struct  WaveNumbers
 

Public Types

using options = implementation defined
 

Public Member Functions

 ProductOfSinusoids (const ProductOfSinusoids &)=default
 
ProductOfSinusoidsoperator= (const ProductOfSinusoids &)=default
 
 ProductOfSinusoids (ProductOfSinusoids &&)=default
 
ProductOfSinusoidsoperator= (ProductOfSinusoids &&)=default
 
std::unique_ptr< elliptic::analytic_data::AnalyticSolutionget_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< AnalyticSolutionget_clone () const =0
 

Static Public Attributes

static constexpr Options::String help
 

Detailed Description

template<size_t Dim, typename DataType = DataVector>
class Poisson::Solutions::ProductOfSinusoids< Dim, DataType >

A product of sinusoids u(x)=isin(kixi).

Details

Solves the Poisson equation Δu(x)=f(x) for a source f(x)=k2isin(kixi).

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.

Member Function Documentation

◆ get_clone()

template<size_t Dim, typename DataType = DataVector>
std::unique_ptr< elliptic::analytic_data::AnalyticSolution > Poisson::Solutions::ProductOfSinusoids< Dim, DataType >::get_clone ( ) const
inlineoverridevirtual

Member Data Documentation

◆ help

template<size_t Dim, typename DataType = DataVector>
constexpr Options::String Poisson::Solutions::ProductOfSinusoids< Dim, DataType >::help
staticconstexpr
Initial value:
{
"A product of sinusoids that are taken of a wave number times the "
"coordinate in each dimension."}

The documentation for this class was generated from the following file: