|
struct | aCylindricalFunctor |
| Represent functions written in cylindrical coordinates that are independent of the angle phi serving as both 2d and 3d functions. More...
|
|
struct | aRealGenerator2d |
| The abstract generator base class. More...
|
|
struct | aRealGeneratorX2d |
| The abstract generator base class. More...
|
|
struct | BFieldP |
| \( B^\varphi = R_0I/R^2\) More...
|
|
struct | BFieldR |
| \( B^R = R_0\psi_Z /R\) More...
|
|
struct | BFieldT |
| \( B^{\theta} = B^R\partial_R\theta + B^Z\partial_Z\theta\) More...
|
|
struct | BFieldZ |
| \( B^Z = -R_0\psi_R /R\) More...
|
|
struct | BHatP |
| \( \hat b^\varphi = B^\varphi/|B|\) More...
|
|
struct | BHatPR |
| \( \partial_R \hat b^\varphi\) More...
|
|
struct | BHatPZ |
| \( \partial_Z \hat b^\varphi\) More...
|
|
struct | BHatR |
| \( b^R = B^R/|B|\) More...
|
|
struct | BHatRR |
| \( \partial_R b^R\) More...
|
|
struct | BHatRZ |
| \( \partial_Z b^R\) More...
|
|
struct | BHatZ |
| \( b^Z = B^Z/|B|\) More...
|
|
struct | BHatZR |
| \( \partial_R b^Z\) More...
|
|
struct | BHatZZ |
| \( \partial_Z b^Z\) More...
|
|
struct | Bmodule |
| \( |B| = R_0\sqrt{I^2+(\nabla\psi)^2}/R \) More...
|
|
struct | BR |
| \( \frac{\partial |B| }{ \partial R} \) More...
|
|
struct | BZ |
| \( \frac{\partial |B| }{ \partial Z} \) More...
|
|
struct | Constant |
| \( f(x,y) = c\) More...
|
|
struct | CurvatureKappaR |
| Approximate \( \mathcal{K}^{R}_{\vec{\kappa}}=0 \). More...
|
|
struct | CurvatureKappaZ |
| Approximate \( \mathcal{K}^{Z}_{\vec{\kappa}} \). More...
|
|
struct | CurvatureNablaBR |
| Approximate \( \mathcal{K}^{R}_{\nabla B} \). More...
|
|
struct | CurvatureNablaBZ |
| Approximate \( \mathcal{K}^{Z}_{\nabla B} \). More...
|
|
struct | CylindricalFunctorsLvl1 |
| This struct bundles a function and its first derivatives. More...
|
|
struct | CylindricalFunctorsLvl2 |
| This struct bundles a function and its first and second derivatives. More...
|
|
struct | CylindricalSymmTensorLvl1 |
|
struct | CylindricalVectorLvl0 |
|
struct | CylindricalVectorLvl1 |
| This struct bundles a vector field and its divergence. More...
|
|
struct | Divb |
| \( \nabla \cdot \vec b \) More...
|
|
struct | DivCurvatureKappa |
| Approximate \( \vec{\nabla}\cdot \mathcal{K}_{\vec{\kappa}} \). More...
|
|
struct | DivCurvatureNablaB |
| Approximate \( \vec{\nabla}\cdot \mathcal{K}_{\nabla B} \). More...
|
|
struct | DivLiseikinX |
| The x-component of the divergence of the Liseikin monitor metric. More...
|
|
struct | DivLiseikinY |
| The y-component of the divergence of the Liseikin monitor metric. More...
|
|
struct | DivVVP |
| \( \nabla\cdot\left( \frac{ \hat b }{\hat b^\varphi}\right)\) More...
|
|
struct | DS |
| Class for the evaluation of parallel derivatives. More...
|
|
struct | DSPGenerator |
| A transformed field grid generator. More...
|
|
struct | Fieldaligned |
| Create and manage interpolation matrices from fieldline integration. More...
|
|
struct | FluxGenerator |
| A symmetry flux generator. More...
|
|
struct | FluxSurfaceAverage |
| Flux surface average (differential volume average) over quantity \( \langle f\rangle(\psi_0) = \frac{1}{A} \int dR dZ \delta(\psi_p(R,Z)-\psi_0) f(R,Z)H(R,Z) \). More...
|
|
struct | FluxSurfaceIntegral |
| Flux surface integral of the form \( \int dR dZ f(R,Z) \delta(\psi_p(R,Z)-\psi_0) g(R,Z) \). More...
|
|
struct | FluxVolumeIntegral |
| Flux volume integral of the form \( \int dR dZ f(R,Z) \Theta(\psi_p(R,Z)-\psi_0) g(R,Z) \). More...
|
|
struct | GradLnB |
| \( \nabla_\parallel \ln{(B)} \) More...
|
|
struct | Hector |
| The High PrEcision Conformal grid generaTOR. More...
|
|
struct | Hoo |
| Inertia factor \( \mathcal I_0 = B^2/(R_0^2|\nabla\psi_p|^2)\). More...
|
|
struct | InvB |
| \( |B|^{-1} = R/R_0\sqrt{I^2+(\nabla\psi)^2} \) More...
|
|
struct | LaplacePsip |
| \( \Delta\psi_p = \psi_R/R + \psi_{RR}+\psi_{ZZ} \) More...
|
|
struct | Liseikin_XX |
| The xx-component of the Liseikin monitor metric. More...
|
|
struct | Liseikin_XY |
| The xy-component of the Liseikin monitor metric. More...
|
|
struct | Liseikin_YY |
| The yy-component of the Liseikin monitor metric. More...
|
|
struct | LnB |
| \( \ln{|B|} \) More...
|
|
struct | LogPolarGenerator |
| Log Polar coordinates (conformal) More...
|
|
struct | MagneticFieldParameters |
| Meta-data about the magnetic field in particular the flux function. More...
|
|
struct | NablaPsiInv |
| A weight function for the Hector algorithm. More...
|
|
struct | NablaPsiInvX |
| Derivative of the weight function. More...
|
|
struct | NablaPsiInvY |
| Derivative of the weight function. More...
|
|
struct | Periodify |
| This function uses the dg::Grid2d::shift member to extend another function beyond the grid boundaries. More...
|
|
struct | PolarGenerator |
| Polar coordinates. More...
|
|
struct | RealCurvilinearGrid2d |
| A two-dimensional grid based on curvilinear coordinates. More...
|
|
struct | RealCurvilinearGridX2d |
| A two-dimensional grid based on curvilinear coordinates. More...
|
|
struct | RealCurvilinearMPIGrid2d |
| A two-dimensional MPI grid based on curvilinear coordinates. More...
|
|
struct | RealCurvilinearProductGrid3d |
| A 2x1 curvilinear product space grid. More...
|
|
struct | RealCurvilinearProductGridX3d |
| A three-dimensional grid based on curvilinear coordinates. More...
|
|
struct | RealCurvilinearProductMPIGrid3d |
| A 2x1 curvilinear product space MPI grid. More...
|
|
struct | RealCurvilinearRefinedGridX2d |
| A two-dimensional grid based on curvilinear coordinates. More...
|
|
struct | RealCurvilinearRefinedProductGridX3d |
| A three-dimensional grid based on curvilinear coordinates. More...
|
|
struct | RealCylindricalFunctor |
| Inject both 2d and 3d operator() to a 2d functor. More...
|
|
struct | RhoP |
|
struct | Ribeiro |
| A two-dimensional grid based on "almost-conformal" coordinates by Ribeiro and Scott 2010. More...
|
|
struct | RibeiroFluxGenerator |
| Same as the Ribeiro class just but uses psi as a flux label directly. More...
|
|
struct | RibeiroX |
| A two-dimensional grid based on "almost-conformal" coordinates by Ribeiro and Scott 2010. More...
|
|
struct | SafetyFactor |
| Evaluation of the safety factor q based on direct integration of \( q(\psi_0) = \frac{1}{2\pi} \int d\Theta \frac{B^\varphi}{B^\Theta} \). More...
|
|
struct | SafetyFactorAverage |
| Class for the evaluation of the safety factor q based on a flux-surface integral \( q(\psi_0) = \frac{1}{2\pi} \int dRdZ \frac{I(\psi_p)}{R} \delta(\psi_p - \psi_0)H(R,Z) \). More...
|
|
struct | ScalarProduct |
| Return scalar product of two vector fields \( v_0w_0 + v_1w_1 + v_2w_2\). More...
|
|
struct | SeparatrixOrthogonal |
| Choose points on separatrix and construct grid from there. More...
|
|
struct | SeparatrixOrthogonalAdaptor |
| An Adaptor to use SeparatrixOrthogonal as aGenerator2d instead of aGeneratorX2d . More...
|
|
struct | SimpleOrthogonal |
| Generate a simple orthogonal grid. More...
|
|
struct | SquareNorm |
| Return norm of scalar product of two vector fields \( \sqrt{v_0w_0 + v_1w_1 + v_2w_2}\). More...
|
|
struct | TokamakMagneticField |
| A tokamak field as given by R0, Psi and Ipol plus Meta-data like shape and equilibrium. More...
|
|
struct | Topology1d |
| Helper class for construction. More...
|
|
struct | TrueCurvatureKappaP |
| True \( \mathcal{K}^\varphi_{\vec{\kappa}} \). More...
|
|
struct | TrueCurvatureKappaR |
| True \( \mathcal{K}^R_{\vec{\kappa}} \). More...
|
|
struct | TrueCurvatureKappaZ |
| True \( \mathcal{K}^Z_{\vec{\kappa}} \). More...
|
|
struct | TrueCurvatureNablaBP |
| True \( \mathcal{K}^{\varphi}_{\nabla B} \). More...
|
|
struct | TrueCurvatureNablaBR |
| True \( \mathcal{K}^{R}_{\nabla B} \). More...
|
|
struct | TrueCurvatureNablaBZ |
| True \( \mathcal{K}^{Z}_{\nabla B} \). More...
|
|
struct | TrueDivCurvatureKappa |
| True \( \vec{\nabla}\cdot \mathcal{K}_{\vec{\kappa}} \). More...
|
|
struct | TrueDivCurvatureNablaB |
| True \( \vec{\nabla}\cdot \mathcal{K}_{\nabla B} \). More...
|
|
struct | WallDirection |
| Determine if poloidal field points towards or away from the nearest wall. More...
|
|
struct | WallFieldlineCoordinate |
| Normalized coordinate relative to wall along fieldline in phi or s coordinate. More...
|
|
struct | WallFieldlineDistance |
| Distance to wall along fieldline in phi or s coordinate More...
|
|
struct | ZCutter |
| \( f(R,Z)= \begin{cases} 0 \text{ if } Z < Z_X \\ 1 \text{ else } \end{cases} \) More...
|
|
|
static CylindricalFunctorsLvl1 | make_NablaPsiInvCollective (const CylindricalFunctorsLvl2 &psi) |
| A container class that contains all NablaPsiInv functors. More...
|
|
static CylindricalSymmTensorLvl1 | make_LiseikinCollective (const CylindricalFunctorsLvl2 &psi, double k, double eps) |
|
template<class FieldAligned , class container > |
void | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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...
|
|
template<class BinaryOp , class UnaryOp > |
thrust::host_vector< double > | fieldaligned_evaluate (const aProductGeometry3d &grid, const CylindricalVectorLvl0 &vec, const BinaryOp &binary, const UnaryOp &unary, unsigned p0, unsigned rounds, double eps=1e-5) |
| Evaluate a 2d functor and transform to all planes along the fieldlines More...
|
|
static int | findCriticalPoint (const CylindricalFunctorsLvl2 &psi, double &RC, double &ZC) |
| This function finds critical points of psi (any point with vanishing gradient, including the X-point or O-point) via Newton iteration applied to the gradient of psi. More...
|
|
static int | findOpoint (const CylindricalFunctorsLvl2 &psi, double &RC, double &ZC) |
| This function finds O-points of psi. More...
|
|
static void | findXpoint (const CylindricalFunctorsLvl2 &psi, double &RC, double &ZC) |
| This function finds X-points of psi. More...
|
|
template<class Geometry3d > |
dg::SparseTensor< dg::get_host_vector< Geometry3d > > | 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 > > | createProjectionTensor (const dg::geo::CylindricalVectorLvl0 &bhat, const Geometry3d &g) |
| \( h^{ij} = g^{ij} - b^ib^j\) More...
|
|
static dg::geo::TokamakMagneticField | createGuenterField (double R_0, double I_0) |
| Create a Guenter Magnetic field. More...
|
|
static TokamakMagneticField | periodify (const TokamakMagneticField &mag, double R0, double R1, double Z0, double Z1, dg::bc bcx, dg::bc bcy) |
| Use dg::geo::Periodify to periodify every function in the magnetic field. More...
|
|
CylindricalVectorLvl1 | createEPhi (int sign) |
| Contravariant components of the unit vector field (0, 0, +/- 1/R) and its Divergence and derivative (0,0) in cylindrical coordinates. More...
|
|
CylindricalVectorLvl0 | createCurvatureNablaB (const TokamakMagneticField &mag, int sign) |
| Approximate curvature vector field (CurvatureNablaBR, CurvatureNablaBZ, Constant(0)) More...
|
|
CylindricalVectorLvl0 | createCurvatureKappa (const TokamakMagneticField &mag, int sign) |
| Approximate curvature vector field (CurvatureKappaR, CurvatureKappaZ, Constant(0)) More...
|
|
CylindricalVectorLvl0 | createTrueCurvatureKappa (const TokamakMagneticField &mag) |
| True curvature vector field (TrueCurvatureKappaR, TrueCurvatureKappaZ, TrueCurvatureKappaP) More...
|
|
CylindricalVectorLvl0 | createTrueCurvatureNablaB (const TokamakMagneticField &mag) |
| True curvature vector field (TrueCurvatureNablaBR, TrueCurvatureNablaBZ, TrueCurvatureNablaBP) More...
|
|
CylindricalVectorLvl0 | createGradPsip (const TokamakMagneticField &mag) |
| Gradient Psip vector field (PsipR, PsipZ, 0) More...
|
|
CylindricalVectorLvl1 | createBHat (const TokamakMagneticField &mag) |
| Contravariant components of the magnetic unit vector field and its Divergence and derivative in cylindrical coordinates. More...
|
|
static TokamakMagneticField | createMagneticField (dg::file::WrappedJsonValue gs) |
| Create a Magnetic field based on the given parameters. More...
|
|
static TokamakMagneticField | createModifiedField (dg::file::WrappedJsonValue gs, dg::file::WrappedJsonValue jsmod, CylindricalFunctor &wall, CylindricalFunctor &transition) |
| Modify Magnetic Field and create wall above or below certain Psi values according to given parameters. More...
|
|
static CylindricalFunctor | createWallRegion (dg::file::WrappedJsonValue gs, dg::file::WrappedJsonValue jsmod) |
| A convenience function call for dg::geo::createModifiedField that ignores the transition parameter and returns the wall. More...
|
|
static void | createSheathRegion (dg::file::WrappedJsonValue jsmod, TokamakMagneticField mag, CylindricalFunctor wall, dg::Grid2d &sheath_walls, CylindricalFunctor &sheath) |
| Create the sheath region where fieldlines intersect the boundary. More...
|
|
template<class BinaryOp , class UnaryOp > |
MPI_Vector< thrust::host_vector< double > > | fieldaligned_evaluate (const aProductMPIGeometry3d &grid, const CylindricalVectorLvl0 &vec, const BinaryOp &binary, const UnaryOp &unary, unsigned p0, unsigned rounds, double eps=1e-5) |
| Evaluate a 2d functor and transform to all planes along the fieldlines (MPI Version) More...
|
|
static dg::geo::TokamakMagneticField | createPolynomialField (dg::geo::polynomial::Parameters gp) |
| Create a Polynomial Magnetic field. More...
|
|
static dg::geo::TokamakMagneticField | createSolovevField (dg::geo::solovev::Parameters gp) |
| Create a Solovev Magnetic field. More...
|
|
static dg::geo::TokamakMagneticField | createModifiedSolovevField (dg::geo::solovev::Parameters gp, double psi0, double alpha, double sign=-1) |
| DEPRECATED Create a modified Solovev Magnetic field. More...
|
|
static dg::geo::TokamakMagneticField | createTaylorField (dg::geo::solovev::Parameters gp) |
| Create a Taylor Magnetic field. More...
|
|
static dg::geo::TokamakMagneticField | createToroidalField (double R0) |
| Create a Toroidal Magnetic field. More...
|
|
static dg::geo::TokamakMagneticField | createCircularField (double R0, double I0, double a=1, double b=1) |
| \( \psi_p = 1- \left(\frac{R-R_0}{a}\right)^2 - \left( \frac{Z}{b}\right)^2,\quad I(\psi_p) = I_0 \) More...
|
|
static CylindricalSymmTensorLvl1 | make_Xbump_monitor (const CylindricalFunctorsLvl2 &psi, double &R_X, double &Z_X, double radiusX, double radiusY) |
| construct a monitor metric in which the Laplacian vanishes at the X-point More...
|
|
static CylindricalSymmTensorLvl1 | make_Xconst_monitor (const CylindricalFunctorsLvl2 &psi, double &R_X, double &Z_X) |
| construct a monitor metric in which the Laplacian vanishes at the X-point More...
|
|