XGCa
|
Functions | |
double * | get_jpar0_loc () |
void | fourier_filter_m_range_cpp (double *field_inout) |
KOKKOS_INLINE_FUNCTION double | parallel_spitzer_resistivity (double den, double te) |
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) |
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}) \).
[in] | sml | Simulation object (runtime parameters), class Simulation |
[in] | grid | Grid object, class Grid |
[in,out] | plasma | XGC plasma object; class plasma |
[in] | f0_moments | Current low-order plasma moments, struct Moments |
[in] | pol_decomp | Domain decomposition object (patch boundaries, etc.), class DomainDecomposition |
[in] | loop_vol_diag | Diagnostic ouput object for the loop voltage, class LoopVolDiagnostics |
void fourier_filter_m_range_cpp | ( | double * | field_inout | ) |
double* get_jpar0_loc | ( | ) |
KOKKOS_INLINE_FUNCTION double parallel_spitzer_resistivity | ( | double | den, |
double | te | ||
) |
Evaluates the parallel Spitzer resistivity in \(\Omega m\) for given density and temperatures. Uses a simplified formula (NRL Formulary 2019, assuming \(T_e>10\) eV) because the logic to adjust V_loop is heuristic anyway.
[in] | den | Plasma (electron) density in \(m^{-3}\), double |
[in] | te | Electron temperature in eV, double |