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.