implementations.sweeper_classes.boris_2nd_order module

class boris_2nd_order(params)[source]

Bases: sweeper

Custom sweeper class, implements Sweeper.py

Second-order sweeper using velocity-Verlet with Boris scheme as base integrator

S

node-to-node collocation matrix (first order)

SQ

node-to-node collocation matrix (second order)

ST

node-to-node trapezoidal matrix

Sx

node-to-node Euler half-step for position update

compute_end_point()[source]

Compute u at the right point of the interval

The value uend computed here is a full evaluation of the Picard formulation (always!)

Returns:

None

get_scalar_problems_manysweep_mats(nsweeps, lambdas=None)[source]

For a scalar problem, K sweeps of SDC can be written in matrix form.

Parameters:
  • nsweeps (int) – number of sweeps

  • lambdas (numpy.ndarray) – the first entry in lambdas is k-spring constant and the second is mu friction.

get_scalar_problems_picardsweep_mats(nsweeps, lambdas=None)[source]

For a scalar problem, K sweeps of SDC can be written in matrix form.

Parameters:
  • nsweeps (int) – number of sweeps

  • lambdas (numpy.ndarray) – the first entry in lambdas is k-spring constant and the second is mu friction.

get_scalar_problems_sweeper_mats(lambdas=None)[source]

This function returns the corresponding matrices of an SDC sweep matrix formulation

Parameters:

lambdas (numpy.narray) – the first entry in lambdas is k-spring constant and the second is mu friction.

get_sweeper_mats()[source]

Returns the matrices Q, QQ, Qx, QT which define the sweeper.

integrate()[source]

Integrates the right-hand side

Returns:

containing the integral as values

Return type:

list of dtype_u

update_nodes()[source]

Update the u- and f-values at the collocation nodes -> corresponds to a single sweep over all nodes

Returns:

None