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

This struct bundles a function and its first and second derivatives. More...

Public Member Functions

 CylindricalFunctorsLvl2 ()
 the access functions are undefined as long as the class remains empty More...
 
 CylindricalFunctorsLvl2 (CylindricalFunctor f, CylindricalFunctor fx, CylindricalFunctor fy, CylindricalFunctor fxx, CylindricalFunctor fxy, CylindricalFunctor fyy)
 Construct with given functors. More...
 
void reset (CylindricalFunctor f, CylindricalFunctor fx, CylindricalFunctor fy, CylindricalFunctor fxx, CylindricalFunctor fxy, CylindricalFunctor fyy)
 Replace with given Functors. More...
 
 operator CylindricalFunctorsLvl1 () const
 type conversion: Lvl2 can also be used as Lvl1 More...
 
const CylindricalFunctorf () const
 \( f \) More...
 
const CylindricalFunctordfx () const
 \( \partial f / \partial x \) More...
 
const CylindricalFunctordfy () const
 \( \partial f / \partial y\) More...
 
const CylindricalFunctordfxx () const
 \( \partial^2f/\partial x^2\) More...
 
const CylindricalFunctordfxy () const
 \( \partial^2 f / \partial x \partial y\) More...
 
const CylindricalFunctordfyy () const
 \( \partial^2f/\partial y^2\) More...
 

Detailed Description

This struct bundles a function and its first and second derivatives.

unsigned nGrid = js["grid"]["generator"]["initial"]["n"].asUInt();
unsigned NxGrid = js["grid"]["generator"]["initial"]["Nx"].asUInt();
unsigned NyGrid = js["grid"]["generator"]["initial"]["Ny"].asUInt();
double epsHector = js["grid"]["generator"]["eps"].asDouble();
if( mode == 0)
{
std::cout << " ... of type conformal ...\n";
generator = std::make_unique< dg::geo::Hector<dg::IDMatrix,
dg::DMatrix, dg::DVec>>( mag.get_psip(), psi_0, psi_1,
mag.R0(), 0., nGrid, NxGrid, NyGrid, epsHector,
true);
}
else if( mode == 1)
{
std::cout << " ... of type adaption ...\n";
generator = std::make_unique< dg::geo::Hector<dg::IDMatrix,
dg::DMatrix, dg::DVec>>( mag.get_psip(), nc, psi_0,
psi_1, mag.R0(), 0., nGrid, NxGrid, NyGrid,
epsHector, true);
}
else
{
std::cout << " ... of type monitor metric ...\n";
dg::geo::make_LiseikinCollective( mag.get_psip(), 0.1, 0.001);
generator = std::make_unique< dg::geo::Hector<dg::IDMatrix,
dg::DMatrix, dg::DVec>>( mag.get_psip(), lc, psi_0,
psi_1, mag.R0(), 0., nGrid, NxGrid, NyGrid,
epsHector, true);
}
static CylindricalFunctorsLvl1 make_NablaPsiInvCollective(const CylindricalFunctorsLvl2 &psi)
A container class that contains all NablaPsiInv functors.
Definition: adaption.h:123
static CylindricalSymmTensorLvl1 make_LiseikinCollective(const CylindricalFunctorsLvl2 &psi, double k, double eps)
Definition: adaption.h:254
thrust::device_vector< double > DVec
IDMatrix_t< double > IDMatrix
EllSparseBlockMatDevice< double > DMatrix
This struct bundles a function and its first derivatives.
Definition: fluxfunctions.h:182
Definition: fluxfunctions.h:361
The High PrEcision Conformal grid generaTOR.
Definition: hector.h:221

Constructor & Destructor Documentation

◆ CylindricalFunctorsLvl2() [1/2]

dg::geo::CylindricalFunctorsLvl2::CylindricalFunctorsLvl2 ( )
inline

the access functions are undefined as long as the class remains empty

◆ CylindricalFunctorsLvl2() [2/2]

dg::geo::CylindricalFunctorsLvl2::CylindricalFunctorsLvl2 ( CylindricalFunctor  f,
CylindricalFunctor  fx,
CylindricalFunctor  fy,
CylindricalFunctor  fxx,
CylindricalFunctor  fxy,
CylindricalFunctor  fyy 
)
inline

Construct with given functors.

Parameters
f\( f(x,y)\) the function in some coordinates (x,y)
fx\( \partial f / \partial x \) its derivative in the first coordinate
fy\( \partial f / \partial y \) its derivative in the second coordinate
fxx\( \partial^2 f / \partial x^2\) second derivative in first coordinate
fxy\( \partial^2 f / \partial x \partial y\) second mixed derivative
fyy\( \partial^2 f / \partial y^2\) second derivative in second coordinate

Member Function Documentation

◆ dfx()

const CylindricalFunctor & dg::geo::CylindricalFunctorsLvl2::dfx ( ) const
inline

\( \partial f / \partial x \)

◆ dfxx()

const CylindricalFunctor & dg::geo::CylindricalFunctorsLvl2::dfxx ( ) const
inline

\( \partial^2f/\partial x^2\)

◆ dfxy()

const CylindricalFunctor & dg::geo::CylindricalFunctorsLvl2::dfxy ( ) const
inline

\( \partial^2 f / \partial x \partial y\)

◆ dfy()

const CylindricalFunctor & dg::geo::CylindricalFunctorsLvl2::dfy ( ) const
inline

\( \partial f / \partial y\)

◆ dfyy()

const CylindricalFunctor & dg::geo::CylindricalFunctorsLvl2::dfyy ( ) const
inline

\( \partial^2f/\partial y^2\)

◆ f()

const CylindricalFunctor & dg::geo::CylindricalFunctorsLvl2::f ( ) const
inline

\( f \)

◆ operator CylindricalFunctorsLvl1()

dg::geo::CylindricalFunctorsLvl2::operator CylindricalFunctorsLvl1 ( ) const
inline

type conversion: Lvl2 can also be used as Lvl1

◆ reset()

void dg::geo::CylindricalFunctorsLvl2::reset ( CylindricalFunctor  f,
CylindricalFunctor  fx,
CylindricalFunctor  fy,
CylindricalFunctor  fxx,
CylindricalFunctor  fxy,
CylindricalFunctor  fyy 
)
inline

Replace with given Functors.


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