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

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.ERK1(rhs_form, solution, t=None, bcs=None)[source]

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Explicit first order Scheme

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

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Implicit first order scheme

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

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Explicit 2nd order scheme

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

Bases: dolfin.multistage.multistagescheme.ButcherMultiStageScheme

Semi-implicit 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.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)

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.CrankNicolson

alias of dolfin.multistage.multistagescheme.CN2

dolfin.multistage.ExplicitEuler

alias of dolfin.multistage.multistagescheme.ERK1

dolfin.multistage.ForwardEuler

alias of dolfin.multistage.multistagescheme.ERK1

dolfin.multistage.ImplicitEuler

alias of dolfin.multistage.multistagescheme.BDF1

dolfin.multistage.BackwardEuler

alias of dolfin.multistage.multistagescheme.BDF1

dolfin.multistage.ERK

alias of dolfin.multistage.multistagescheme.ERK1

dolfin.multistage.RK4

alias of dolfin.multistage.multistagescheme.ERK4

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.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.GRL2(rhs_form, solution, t=None)[source]

Bases: dolfin.multistage.rushlarsenschemes.RushLarsenScheme

Second 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