Extension: Geometries
#include "dg/geometries/geometries.h"

\( h^{ij}\) More...

Collaboration diagram for 3.4. Utility functor functionality:

Classes

struct  dg::geo::WallFieldlineDistance
 Distance to wall along fieldline in phi or s coordinate More...
 
struct  dg::geo::WallFieldlineCoordinate
 Normalized coordinate relative to wall along fieldline in phi or s coordinate. More...
 
struct  dg::geo::RealCylindricalFunctor< real_type >
 Inject both 2d and 3d operator() to a 2d functor. More...
 
struct  dg::geo::aCylindricalFunctor< Derived >
 Represent functions written in cylindrical coordinates that are independent of the angle phi serving as both 2d and 3d functions. More...
 
struct  dg::geo::Constant
 \( f(x,y) = c\) More...
 
struct  dg::geo::ZCutter
 \( f(R,Z)= \begin{cases} 0 \text{ if } Z < Z_X \\ 1 \text{ else } \end{cases} \) More...
 
struct  dg::geo::Periodify
 This function uses the dg::Grid2d::shift member to extend another function beyond the grid boundaries. More...
 
struct  dg::geo::CylindricalFunctorsLvl1
 This struct bundles a function and its first derivatives. More...
 
struct  dg::geo::CylindricalFunctorsLvl2
 This struct bundles a function and its first and second derivatives. More...
 
struct  dg::geo::CylindricalSymmTensorLvl1
 
struct  dg::geo::CylindricalVectorLvl0
 
struct  dg::geo::CylindricalVectorLvl1
 This struct bundles a vector field and its divergence. More...
 
struct  dg::geo::ScalarProduct
 Return scalar product of two vector fields \( v_0w_0 + v_1w_1 + v_2w_2\). More...
 
struct  dg::geo::SquareNorm
 Return norm of scalar product of two vector fields \( \sqrt{v_0w_0 + v_1w_1 + v_2w_2}\). More...
 

Typedefs

using dg::geo::CylindricalFunctor = RealCylindricalFunctor< double >
 Most of the times we use double. More...
 

Functions

template<class Geometry3d >
dg::SparseTensor< dg::get_host_vector< Geometry3d > > dg::geo::createAlignmentTensor (const dg::geo::CylindricalVectorLvl0 &bhat, const Geometry3d &g)
 \( \chi^{ij} = b^ib^j\) More...
 
template<class Geometry3d >
dg::SparseTensor< dg::get_host_vector< Geometry3d > > dg::geo::createProjectionTensor (const dg::geo::CylindricalVectorLvl0 &bhat, const Geometry3d &g)
 \( h^{ij} = g^{ij} - b^ib^j\) More...
 

Detailed Description

\( h^{ij}\)

Typedef Documentation

◆ CylindricalFunctor

Most of the times we use double.

Function Documentation

◆ createAlignmentTensor()

template<class Geometry3d >
dg::SparseTensor< dg::get_host_vector< Geometry3d > > dg::geo::createAlignmentTensor ( const dg::geo::CylindricalVectorLvl0 bhat,
const Geometry3d &  g 
)

\( \chi^{ij} = b^ib^j\)

Creates the two times contravariant tensor that, when applied to a covariant vector, creates a vector aligned to b.

Parameters
bhatThe (unit) vector field b to align to
gThe vector field is pushed unto this grid
Returns
The tensor chi living on the coordinate system given by g
Template Parameters
Geometry3dA three-dimensional geometry

◆ createProjectionTensor()

template<class Geometry3d >
dg::SparseTensor< dg::get_host_vector< Geometry3d > > dg::geo::createProjectionTensor ( const dg::geo::CylindricalVectorLvl0 bhat,
const Geometry3d &  g 
)

\( h^{ij} = g^{ij} - b^ib^j\)

Creates the two times contravariant tensor that, when applied to a covariant vector, creates a vector perpendicular to b.

Parameters
bhatThe (unit) vector field b
gThe vector field is pushed unto this grid
Returns
The tensor h living on the coordinate system given by g
Template Parameters
Geometry3dA three-dimensional geometry