![]() |
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Control variate.
This base class gives an abstract interface to the basic functions for accumulation of charge and current densities as well as the evaluation of a function at particle positions.
Derived types and interfaces | |
| type | sll_t_control_variate |
| Control variate object. More... | |
| type | sll_t_control_variates |
| interface | sll_i_control_variate |
| 1d real function, abstract interface for function defining the control variate More... | |
Functions/Subroutines | |
| real(kind=f64) function | update_df_weight (self, xi, vi, time, weight_ff, g0) |
| Update the delta f weights. More... | |
| subroutine | init_control_variate (self, control_function, parameters, distribution_params) |
| Initialization. More... | |
| subroutine | free_control_variate (self) |
| Destructor. More... | |
|
private |
Destructor.
| [in,out] | self | Control variate object |
Definition at line 95 of file sll_m_control_variate.F90.
|
private |
Initialization.
| [out] | self | Control variate object |
| control_function | Function defining the control variate | |
| [in] | parameters | Parameter values needed in control variate function |
Definition at line 78 of file sll_m_control_variate.F90.
| real(kind=f64) function sll_m_control_variate::update_df_weight | ( | class(sll_t_control_variate) | self, |
| real(kind=f64), dimension(:), intent(in) | xi, | ||
| real(kind=f64), dimension(:), intent(in) | vi, | ||
| real(kind=f64), intent(in) | time, | ||
| real(kind=f64), intent(in) | weight_ff, | ||
| real(kind=f64), intent(in) | g0 | ||
| ) |
Update the delta f weights.
| self | Control variate object | |
| [in] | xi | particle position |
| [in] | vi | particle velocity |
| [in] | time | current time |
| [in] | weight_ff | particle weight for full f |
| [in] | g0 | initial sampling distribution at particle coordinates at time zero |
Definition at line 64 of file sll_m_control_variate.F90.
1.9.1