SpECTRE  v2024.06.18
Poisson Namespace Reference

Items related to solving a Poisson equation $$-\Delta u(x)=f(x)$$. More...

## Classes

struct  FirstOrderSystem
The Poisson equation formulated as a set of coupled first-order PDEs. More...

struct  Fluxes< Dim, Geometry::Curved >
Compute the fluxes $$F^i$$ for the curved-space Poisson equation on a spatial metric $$\gamma_{ij}$$. More...

struct  Fluxes< Dim, Geometry::FlatCartesian >
Compute the fluxes $$F^i$$ for the Poisson equation on a flat metric in Cartesian coordinates. More...

struct  Sources< Dim, Geometry::Curved >
Add the sources $$S$$ for the curved-space Poisson equation on a spatial metric $$\gamma_{ij}$$. More...

## Enumerations

enum class  Geometry { FlatCartesian , Curved }
Types of background geometries for the Poisson equation. More...

## Functions

template<size_t Dim>
void flat_cartesian_fluxes (gsl::not_null< tnsr::I< DataVector, Dim > * > flux_for_field, const tnsr::i< DataVector, Dim > &field_gradient)
Compute the fluxes $$F^i=\partial_i u(x)$$ for the Poisson equation on a flat spatial metric in Cartesian coordinates.

template<size_t Dim>
void curved_fluxes (gsl::not_null< tnsr::I< DataVector, Dim > * > flux_for_field, const tnsr::II< DataVector, Dim > &inv_spatial_metric, const tnsr::i< DataVector, Dim > &field_gradient)
Compute the fluxes $$F^i=\gamma^{ij}\partial_j u(x)$$ for the curved-space Poisson equation on a spatial metric $$\gamma_{ij}$$.

template<size_t Dim>
void fluxes_on_face (gsl::not_null< tnsr::I< DataVector, Dim > * > flux_for_field, const tnsr::I< DataVector, Dim > &face_normal_vector, const Scalar< DataVector > &field)
Compute the fluxes $$F^i=\gamma^{ij} n_j u$$ where $$n_j$$ is the face_normal. More...

template<size_t Dim>
void add_curved_sources (gsl::not_null< Scalar< DataVector > * > source_for_field, const tnsr::i< DataVector, Dim > &christoffel_contracted, const tnsr::I< DataVector, Dim > &flux_for_field)
Add the sources $$S=-\Gamma^i_{ij}v^j$$ for the curved-space Poisson equation on a spatial metric $$\gamma_{ij}$$. More...

## Detailed Description

Items related to solving a Poisson equation $$-\Delta u(x)=f(x)$$.

## ◆ Geometry

 enum class Poisson::Geometry
strong

Types of background geometries for the Poisson equation.

Enumerator
FlatCartesian

Euclidean (flat) manifold with Cartesian coordinates, i.e. the metric has components $$\gamma_{ij} = \delta_{ij}$$ in these coordinates and thus all Christoffel symbols vanish: $$\Gamma^i_{jk}=0$$.

Curved

The manifold is either curved or employs curved coordinates, so non-vanishing Christoffel symbols must be taken into account.

## Function Documentation

template<size_t Dim>
 void Poisson::add_curved_sources ( gsl::not_null< Scalar< DataVector > * > source_for_field, const tnsr::i< DataVector, Dim > & christoffel_contracted, const tnsr::I< DataVector, Dim > & flux_for_field )

Add the sources $$S=-\Gamma^i_{ij}v^j$$ for the curved-space Poisson equation on a spatial metric $$\gamma_{ij}$$.

These sources arise from the non-principal part of the Laplacian on a non-Euclidean background.

## ◆ fluxes_on_face()

template<size_t Dim>
 void Poisson::fluxes_on_face ( gsl::not_null< tnsr::I< DataVector, Dim > * > flux_for_field, const tnsr::I< DataVector, Dim > & face_normal_vector, const Scalar< DataVector > & field )

Compute the fluxes $$F^i=\gamma^{ij} n_j u$$ where $$n_j$$ is the face_normal.

The face_normal_vector is $$\gamma^{ij} n_j$$.