#include <diffusion.hpp>
|
| Diffusion () |
|
| Diffusion (NLReader::NamelistReader &nlr, const MagneticField< DeviceType > &magnetic_field) |
|
void | apply (const Simulation< DeviceType > &sml, const Grid< DeviceType > &grid, const MagneticField< DeviceType > &magnetic_field, ElectricField< DeviceType > &electric_field, const DomainDecomposition< DeviceType > &pol_decomp, const VelocityGrid &vgrid, Plasma &plasma, DiagF0DF &diag_f0_df, const Moments &moments, VGridDistribution< HostType > &f0_f, VGridDistribution< HostType > &f0_df0g, VGridDistribution< HostType > &df0g_tmp, double dt) |
|
bool | is_triggered (int step) |
|
void Diffusion::apply |
( |
const Simulation< DeviceType > & |
sml, |
|
|
const Grid< DeviceType > & |
grid, |
|
|
const MagneticField< DeviceType > & |
magnetic_field, |
|
|
ElectricField< DeviceType > & |
electric_field, |
|
|
const DomainDecomposition< DeviceType > & |
pol_decomp, |
|
|
const VelocityGrid & |
vgrid, |
|
|
Plasma & |
plasma, |
|
|
DiagF0DF & |
diag_f0_df, |
|
|
const Moments & |
moments_h, |
|
|
VGridDistribution< HostType > & |
f0_f_h, |
|
|
VGridDistribution< HostType > & |
f0_df0g_h, |
|
|
VGridDistribution< HostType > & |
df0g_tmp_h, |
|
|
double |
dt |
|
) |
| |
Calls the diffusion timestepper. The solve uses PETSc and the setup for that is still in Fortran.
- Parameters
-
[in] | sml | Simulation parameters |
[in] | grid | The grid object |
[in] | magnetic_field | The magnetic field object |
[in] | electric_field | Used for dpot to remove adiabatic response |
[in] | pol_decomp | The domain decomposition |
[in] | velocity_grid | Velocity grid |
[in,out] | plasma | Plasma object. f0_delta_n/u/T are updated |
[in] | moments_h | Moments |
[in] | f0_f_h | The part of the distribution function represented on the velocity grid |
[in,out] | f0_df0g_h | The change to the distribution function |
[out] | df0g_tmp_h | A scratch allocation, appears unused so can probably be removed |
[in] | dt | The time step return View marking whether each mesh node is in bounds |
double Diffusion::inner_psi_bound |
|
private |
double Diffusion::outer_psi_bound |
|
private |
The documentation for this class was generated from the following files:
- /u/gitlab-xgc/builds/YGMz2TJ8/0/xgc/XGC-Devel/XGC_core/cpp/diffusion.hpp
- /u/gitlab-xgc/builds/YGMz2TJ8/0/xgc/XGC-Devel/XGC_core/cpp/diffusion.cpp