core.BaseTransfer module¶
- class base_transfer(fine_level, coarse_level, base_transfer_params, space_transfer_class, space_transfer_params)[source]¶
Bases:
object
Standard base_transfer class
- logger¶
custom logger for sweeper-related logging
- params¶
parameter object containing the custom parameters passed by the user
- Type:
__Pars
- fine¶
reference to the fine level
- Type:
pySDC.Level.level
- coarse¶
reference to the coarse level
- Type:
pySDC.Level.level
- static get_transfer_matrix_Q(f_nodes, c_nodes)[source]¶
Helper routine to quickly define transfer matrices from a coarse set to a fine set of nodes (fully Lagrangian) :param f_nodes: fine nodes (size nF) :param c_nodes: coarse nodes (size nC)
- Returns:
matrix containing the interpolation weights (shape (nF, nC))
- prolong()[source]¶
Space-time prolongation routine
This routine applies the spatial prolongation routine to the difference between the computed and the restricted values on the coarse level and then adds this difference to the fine values as coarse correction.
- prolong_f()[source]¶
Space-time prolongation routine w.r.t. the rhs f
This routine applies the spatial prolongation routine to the difference between the computed and the restricted values on the coarse level and then adds this difference to the fine values as coarse correction.
- restrict()[source]¶
Space-time restriction routine
The routine applies the spatial restriction operator to the fine values on the fine nodes, then reevaluates f on the coarse level. This is used for the first part of the FAS correction tau via integration. The second part is the integral over the fine values, restricted to the coarse level. Finally, possible tau corrections on the fine level are restricted as well.