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

A Lorentzian solution to the Poisson equation. More...

#include <Lorentzian.hpp>

Classes

struct  ComplexPhase
 
struct  PlusConstant
 

Public Types

using options = implementation defined
 

Public Member Functions

 Lorentzian (const Lorentzian &)=default
 
Lorentzianoperator= (const Lorentzian &)=default
 
 Lorentzian (Lorentzian &&)=default
 
Lorentzianoperator= (Lorentzian &&)=default
 
 Lorentzian (const double constant, const double complex_phase=0.)
 
double constant () const
 
double complex_phase () const
 
std::unique_ptr< elliptic::analytic_data::AnalyticSolutionget_clone () const override
 
template<typename... RequestedTags>
tuples::TaggedTuple< RequestedTags... > variables (const tnsr::I< DataVector, Dim > &x, tmpl::list< RequestedTags... >) const
 
void pup (PUP::er &p) override
 
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::Lorentzian< Dim, DataType >

A Lorentzian solution to the Poisson equation.

Details

This implements the Lorentzian solution u(x)=(1+r2)12 to the three-dimensional Poisson equation Δu(x)=f(x), where r2=x2+y2+z2. The corresponding source is f(x)=3(1+r2)52.

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.

Note
Corresponding 1D and 2D solutions are not implemented yet.

Member Function Documentation

◆ get_clone()

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

Member Data Documentation

◆ help

template<size_t Dim, typename DataType = DataVector>
constexpr Options::String Poisson::Solutions::Lorentzian< Dim, DataType >::help
staticconstexpr
Initial value:
{
"A Lorentzian solution to the Poisson equation."}

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