XGC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
current_drive.hpp File Reference
#include "sml.hpp"
#include "toroidal_average.hpp"
#include "moments.hpp"
#include "electric_field.hpp"
#include "loop_voltage_diag.hpp"
Include dependency graph for current_drive.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void f_current_drive (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, Plasma &plasma, const Moments &f0_moments, const DomainDecomposition< DeviceType > &pol_decomp, ElectricField< DeviceType > &electric_field, const MagneticField< DeviceType > &magnetic_field, LoopVolDiagnostics &loop_vol_diag)
 

Function Documentation

void f_current_drive ( const Simulation< DeviceType > &  sml,
const Grid< DeviceType > &  grid,
Plasma plasma,
const Moments f0_moments,
const DomainDecomposition< DeviceType > &  pol_decomp,
ElectricField< DeviceType > &  electric_field,
const MagneticField< DeviceType > &  magnetic_field,
LoopVolDiagnostics loop_vol_diag 
)

Drives electron current such that the plasma current required by the Grad-Shafranov equilibrium magnetic field is maintained. The plasma current is \(j_{\parallel,0} = \hat{\boldsymbol{b}}\cdot\left(\nabla\times\boldsymbol{B}_0\right)/\mu_0 \), or \(j_{\parallel,0} = \sum_s (q_s n_s u_{\parallel,s}) \). Therefore, \(u_{\parallel,e}=j_{\parallel,0}-\sum_{ions}(q_s n_s u_{\parallel,s}) \). The actual electron flow is stored in f0_moments.u_local). Any difference between the targeted and actual flow is damped away with an exponential damping \(\partial u/\partial t = \gamma (u_{target}-u_{actual}) \).

Parameters
[in]smlSimulation object (runtime parameters), class Simulation
[in]gridGrid object, class Grid
[in,out]plasmaXGC plasma object; class plasma
[in]f0_momentsCurrent low-order plasma moments, struct Moments
[in]pol_decompDomain decomposition object (patch boundaries, etc.), class DomainDecomposition
[in]loop_vol_diagDiagnostic ouput object for the loop voltage, class LoopVolDiagnostics

Here is the call graph for this function:

Here is the caller graph for this function: