rk2_implicit


rk2_implicit, an Octave code which solves one or more ordinary differential equations (ODE) using a Runge-Kutta implicit method of order 2, often known as the implicit midpoint method, with fsolve() for the implicit equation, and using a fixed time step.

Unless the right hand side of the ODE is linear in the dependent variable, each step requires the solution of an implicit nonlinear equation. Such equations can be approximately solved using methods such as fixed point iteration, or an implicit equation solver like fsolve().

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

rk2_implicit is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and codes:

rk2_implicit_test

backward_euler, an Octave code which solves one or more ordinary differential equations (ODE) using the backward Euler method.

backward_euler_fixed, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) backward Euler method, using a fixed point iteration for the implicit equation.

bdf2, an Octave code which solves one or more ordinary differential equations (ODE) using BDF2, the (implicit) backward difference formula of order 2, using fsolve() to solve the implicit equation.

cauchy_method, an Octave code which solves one or more ordinary differential equations (ODE) using the Cauchy method.

euler, an Octave code which solves one or more ordinary differential equations (ODE) using the forward Euler method.

leapfrog, an Octave code which uses the leapfrog method to solve a second order ordinary differential equation (ODE) of the form y''=f(t,y).

midpoint_adaptive, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, relying on fsolve() to solve the implicit equation, and using an adaptive timestep.

midpoint_explicit, an Octave code which solves one or more ordinary differential equations (ODE) using the (explicit) midpoint method, also called the modified Euler method.

midpoint_fixed, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) midpoint method, using a simple fixed-point iteration to solve the implicit equation.

rk12, an Octave code which implements Runge-Kutta solvers of orders 1 and 2 for a system of ordinary differential equations (ODE).

rk23, an Octave code which implements Runge-Kutta ODE solvers of orders 2 and 3.

rk34, an Octave code which implements Runge-Kutta ODE solvers of orders 3 and 4.

rk4, an Octave code which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation (ODE).

rk45, an Octave code which implements Runge-Kutta ODE solvers of orders 4 and 5.

rkf45, an Octave code which implements the Runge-Kutta-Fehlberg ODE solver.

theta_method, an Octave code which solves one or more ordinary differential equations (ODE) using the theta method.

trapezoidal, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) trapezoidal method.

trapezoidal_explicit, an Octave code which solves one or more ordinary differential equations (ODE) using the (explicit) trapezoidal method.

trapezoidal_fixed, an Octave code which solves one or more ordinary differential equations (ODE) using the (implicit) trapezoidal method, using the fixed point method to handle the implicit system.

velocity_verlet, an Octave code which uses a version of the velocity Verlet method to solve a secord order ordinary differential equation (ODE) of the form y''=f(t,y).

Reference:

  1. Catalin Trenchea, John Burkardt,
    Refactorization of the midpoint rule,
    Applied Mathematics Letters,
    Volume 107, September 2020.

Source Code:


Last revised on 13 November 2024.