dolfin.multistage

The multistage module of dolfin

class dolfin.multistage.MultiStageScheme(rhs_form, ufl_stage_forms, dolfin_stage_forms, last_stage, stage_solutions, solution, time, dt, dt_stage_offsets, jacobian_indices, order, name, human_form, bcs, contraction=None)[source]

Bases: dolfin.cpp.multistage.MultiStageScheme

Base class for all MultiStageSchemes

dolfin_stage_forms()[source]

Return the dolfin stage forms

dt()[source]

Return the Constant used to describe time in the MultiStageScheme

last_stage()[source]

Return the form describing the last stage

rhs_form()[source]

Return the original rhs form

solution()[source]

Return the solution Function

stage_solutions()[source]

Return the stage solutions

t()[source]

Return the Constant used to describe time in the MultiStageScheme

ufl_stage_forms()[source]

Return the ufl stage forms

dolfin.multistage.ERK

alias of dolfin.multistage.multistagescheme.ERK1

dolfin.multistage.ImplicitEuler

alias of dolfin.multistage.multistagescheme.BDF1

class dolfin.multistage.ExplicitMidPoint(rhs_form, solution, t=None, bcs=None)[source]

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Explicit 2nd order scheme

class dolfin.multistage.ERK4(rhs_form, solution, t=None, bcs=None)[source]

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Explicit 4th order scheme

class dolfin.multistage.ERK1(rhs_form, solution, t=None, bcs=None)[source]

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Explicit first order Scheme

dolfin.multistage.RK4

alias of dolfin.multistage.multistagescheme.ERK4

class dolfin.multistage.CN2(rhs_form, solution, t=None, bcs=None)[source]

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Semi-implicit 2nd order scheme

dolfin.multistage.CrankNicolson

alias of dolfin.multistage.multistagescheme.CN2

class dolfin.multistage.ButcherMultiStageScheme(rhs_form, solution, time, bcs, a, b, c, order, generator=<function _butcher_scheme_generator>)[source]

Bases: dolfin.multistage.multistagescheme.MultiStageScheme

Base class for all MultiStageSchemes

to_adm(adj)[source]

Return another MultiStageScheme that implements the adjoint linearisation of the ODE solver.

This takes bar{y_n+1} (the derivative of a functional J with respect to y_n+1) and computes bar{y_n} (the derivative of J with respect to y_n).

to_tlm(perturbation)[source]

Return another MultiStageScheme that implements the tangent linearisation of the ODE solver.

This takes dot{y_n} (the derivative of y_n with respect to a parameter) and computes dot{y_n+1} (the derivative of y_n+1 with respect to that parameter).

class dolfin.multistage.BDF1(rhs_form, solution, t=None, bcs=None)[source]

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Implicit first order scheme

dolfin.multistage.ExplicitEuler

alias of dolfin.multistage.multistagescheme.ERK1

class dolfin.multistage.ESDIRK3(rhs_form, solution, t=None, bcs=None)[source]

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Explicit implicit 3rd order scheme

See also “Singly diagonally implicit Runge–Kutta methods with an explicit first stage” by A Kværnø - BIT Numerical Mathematics, 2004 (p.497)

dolfin.multistage.ForwardEuler

alias of dolfin.multistage.multistagescheme.ERK1

class dolfin.multistage.ESDIRK4(rhs_form, solution, t=None, bcs=None)[source]

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Explicit implicit 4rd order scheme

See also “Singly diagonally implicit Runge–Kutta methods with an explicit first stage” by A Kværnø - BIT Numerical Mathematics, 2004 (p.498)

dolfin.multistage.BackwardEuler

alias of dolfin.multistage.multistagescheme.BDF1

class dolfin.multistage.MultiStageScheme(rhs_form, ufl_stage_forms, dolfin_stage_forms, last_stage, stage_solutions, solution, time, dt, dt_stage_offsets, jacobian_indices, order, name, human_form, bcs, contraction=None)[source]

Bases: dolfin.cpp.multistage.MultiStageScheme

Base class for all MultiStageSchemes

dolfin_stage_forms()[source]

Return the dolfin stage forms

dt()[source]

Return the Constant used to describe time in the MultiStageScheme

last_stage()[source]

Return the form describing the last stage

rhs_form()[source]

Return the original rhs form

solution()[source]

Return the solution Function

stage_solutions()[source]

Return the stage solutions

t()[source]

Return the Constant used to describe time in the MultiStageScheme

ufl_stage_forms()[source]

Return the ufl stage forms

class dolfin.multistage.PointIntegralSolver(scheme)[source]

Bases: dolfin.cpp.multistage.PointIntegralSolver

scheme()[source]

Return the MultiStageScheme

class dolfin.multistage.MultiStageScheme(rhs_form, ufl_stage_forms, dolfin_stage_forms, last_stage, stage_solutions, solution, time, dt, dt_stage_offsets, jacobian_indices, order, name, human_form, bcs, contraction=None)[source]

Bases: dolfin.cpp.multistage.MultiStageScheme

Base class for all MultiStageSchemes

dolfin_stage_forms()[source]

Return the dolfin stage forms

dt()[source]

Return the Constant used to describe time in the MultiStageScheme

last_stage()[source]

Return the form describing the last stage

rhs_form()[source]

Return the original rhs form

solution()[source]

Return the solution Function

stage_solutions()[source]

Return the stage solutions

t()[source]

Return the Constant used to describe time in the MultiStageScheme

ufl_stage_forms()[source]

Return the ufl stage forms

class dolfin.multistage.GRL2(rhs_form, solution, t=None)[source]

Bases: dolfin.multistage.rushlarsenschemes.RushLarsenScheme

Second order generalized Rush Larsen Scheme

class dolfin.multistage.RushLarsenScheme(rhs_form, solution, time, order, generalized, generator=<function _rush_larsen_scheme_generator>)[source]

Bases: dolfin.multistage.multistagescheme.MultiStageScheme

to_adm(perturbation)[source]

Return another RushLarsenScheme that implements the adjoint linearisation of the ODE solver.

This takes bar{y_n+1} (the derivative of y_n+1 with respect to a parameter) and computes bar{y_n} (the derivative of y_n with respect to that parameter).

to_tlm(perturbation)[source]

Return another RushLarsenScheme that implements the tangent linearisation of the ODE solver.

This takes dot{y_n} (the derivative of y_n with respect to a parameter) and computes dot{y_n+1} (the derivative of y_n+1 with respect to that parameter).

class dolfin.multistage.RL1(rhs_form, solution, t=None)[source]

Bases: dolfin.multistage.rushlarsenschemes.RushLarsenScheme

First order Rush Larsen Scheme

class dolfin.multistage.RL2(rhs_form, solution, t=None)[source]

Bases: dolfin.multistage.rushlarsenschemes.RushLarsenScheme

Second order Rush Larsen Scheme

class dolfin.multistage.GRL1(rhs_form, solution, t=None)[source]

Bases: dolfin.multistage.rushlarsenschemes.RushLarsenScheme

First order generalized Rush Larsen Scheme

class dolfin.multistage.MultiStageScheme(rhs_form, ufl_stage_forms, dolfin_stage_forms, last_stage, stage_solutions, solution, time, dt, dt_stage_offsets, jacobian_indices, order, name, human_form, bcs, contraction=None)[source]

Bases: dolfin.cpp.multistage.MultiStageScheme

Base class for all MultiStageSchemes

dolfin_stage_forms()[source]

Return the dolfin stage forms

dt()[source]

Return the Constant used to describe time in the MultiStageScheme

last_stage()[source]

Return the form describing the last stage

rhs_form()[source]

Return the original rhs form

solution()[source]

Return the solution Function

stage_solutions()[source]

Return the stage solutions

t()[source]

Return the Constant used to describe time in the MultiStageScheme

ufl_stage_forms()[source]

Return the ufl stage forms