#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: