Extension: Geometries
#include "dg/geometries/geometries.h"
ds.h File Reference
#include "dg/algorithm.h"
#include "fieldaligned.h"
#include "magnetic_field.h"

Go to the source code of this file.

Classes

struct  dg::geo::DS< ProductGeometry, IMatrix, Matrix, container >
 Class for the evaluation of parallel derivatives. More...
 

Namespaces

namespace  dg
 
namespace  dg::geo
 

Functions

template<class FieldAligned , class container >
void dg::geo::assign_bc_along_field_2nd (const FieldAligned &fa, const container &fm, const container &f, const container &fp, container &fmg, container &fpg, dg::bc bound, std::array< double, 2 > boundary_value={0, 0})
 Assign boundary conditions along magnetic field lines interpolating a 2nd order polynomial. More...
 
template<class FieldAligned , class container >
void dg::geo::assign_bc_along_field_1st (const FieldAligned &fa, const container &fm, const container &fp, container &fmg, container &fpg, dg::bc bound, std::array< double, 2 > boundary_value={0, 0})
 Assign boundary conditions along magnetic field lines interpolating a 1st order polynomial (a line) More...
 
template<class FieldAligned , class container >
void dg::geo::swap_bc_perp (const FieldAligned &fa, const container &fm, const container &fp, container &fmg, container &fpg)
 Swap the perp boundary condition. More...
 
template<class FieldAligned , class container >
void dg::geo::ds_forward (const FieldAligned &fa, double alpha, const container &f, const container &fp, double beta, container &g)
 forward derivative \( g = \alpha \vec v \cdot \nabla f + \beta g\) More...
 
template<class FieldAligned , class container >
void dg::geo::ds_forward2 (const FieldAligned &fa, double alpha, const container &f, const container &fp, const container &fpp, double beta, container &g)
 2nd order forward derivative \( g = \alpha \vec v \cdot \nabla f + \beta g\) More...
 
template<class FieldAligned , class container >
void dg::geo::ds_backward (const FieldAligned &fa, double alpha, const container &fm, const container &f, double beta, container &g)
 backward derivative \( g = \alpha \vec v \cdot \nabla f + \beta g\) More...
 
template<class FieldAligned , class container >
void dg::geo::ds_backward2 (const FieldAligned &fa, double alpha, const container &fmm, const container &fm, const container &f, double beta, container &g)
 2nd order backward derivative \( g = \alpha \vec v \cdot \nabla f + \beta g\) More...
 
template<class FieldAligned , class container >
void dg::geo::ds_centered (const FieldAligned &fa, double alpha, const container &fm, const container &fp, double beta, container &g)
 centered derivative \( g = \alpha \vec v \cdot \nabla f + \beta g\) More...
 
template<class FieldAligned , class container >
void dg::geo::dss_centered (const FieldAligned &fa, double alpha, const container &fm, const container &f, const container &fp, double beta, container &g)
 Centered derivative \( g = \alpha (\vec v\cdot \nabla)^2 f + \beta g \). More...
 
template<class FieldAligned , class container >
void dg::geo::dssd_centered (const FieldAligned &fa, double alpha, const container &fm, const container &f, const container &fp, double beta, container &g)
 Centered derivative \( g = \alpha \nabla\cdot(\vec v \vec v\cdot \nabla) f + \beta g \). More...
 
template<class FieldAligned , class container >
void dg::geo::ds_divBackward (const FieldAligned &fa, double alpha, const container &fm, const container &f, double beta, container &g)
 backward derivative \( g = \alpha \nabla \cdot \vec v f + \beta g\) More...
 
template<class FieldAligned , class container >
void dg::geo::ds_divForward (const FieldAligned &fa, double alpha, const container &f, const container &fp, double beta, container &g)
 forward derivative \( g = \alpha \nabla \cdot \vec v f + \beta g\) More...
 
template<class FieldAligned , class container >
void dg::geo::ds_divCentered (const FieldAligned &fa, double alpha, const container &fm, const container &fp, double beta, container &g)
 centered derivative \( g = \alpha \nabla \cdot \vec v f + \beta g\) More...
 
template<class FieldAligned , class container >
void dg::geo::ds_average (const FieldAligned &fa, double alpha, const container &fm, const container &fp, double beta, container &g)
 Compute average along a fieldline \( g = \alpha \frac{f_{k+1} + f_{k-1}}{2} + \beta g\). More...
 
template<class FieldAligned , class container >
void dg::geo::ds_slope (const FieldAligned &fa, double alpha, const container &fm, const container &fp, double beta, container &g)
 Compute simple slope along a fieldline \( g = \alpha v^\varphi\frac{f_{k+1} - f_{k-1}}{2\Delta\varphi} + \beta g\). More...
 

Detailed Description

This file includes the appropriate headers for parallel derivatives