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.