#include <fgrid_coarse_graining.hpp>
◆ FGridCoarseGraining() [1/2]
FGridCoarseGraining::FGridCoarseGraining |
( |
| ) |
|
|
inline |
◆ FGridCoarseGraining() [2/2]
Construct and configure FGridCoarseGraining from the f0_param namelist.
- Parameters
-
[in] | nlr | Reference to an active NamelistReader. |
The following keys are read (defaults in parentheses):
f0_coarse_graining_on
(
.false.)
f0_coarse_graining_alpha
(1.0e‑3)
The internal StepTrigger is set to a period of 1 (i.e. apply is called in f_source every time). Note that the constructor is called only if enabled==true (see sources.hpp).
◆ apply()
Apply the coarse‑graining operation to all non‑adiabatic species.
- Parameters
-
[in,out] | plasma | Full plasma state (provides f0g for each species). |
[in,out] | df0g | Reference to the cumulative delta-f container (same layout as species.f0.f0g ). The kernel adds alpha*f0g into this view. |
The routine loops over all non-adiabatic species and then over the configuration space vertices (parallelized with Kokkos), and the two velocity dimensions to move a fraction alpha·f0g
from the background grid distribution species.f0.f0g
into the cumulative source container df0g
and removes the same amount from f0g
◆ alpha
double FGridCoarseGraining::alpha |
|
private |
◆ enabled
bool FGridCoarseGraining::enabled |
|
private |
The documentation for this class was generated from the following file: