Rklib
Fixed and variable-step Runge-Kutta solvers in Modern Fortran
Install / Use
/learn @jacobwilliams/RklibREADME
rklib: A modern Fortran library of fixed and variable-step Runge-Kutta solvers.
Description
The focus of this library is single-step, explicit Runge-Kutta solvers for 1st order differential equations.
Novel features:
- The library includes a wide range of both fixed and variable-step Runge-Kutta methods, from very low to very high order.
- It is object-oriented and written in modern Fortran.
- It allows for defining a variable-step size integrator with a custom-tuned step size selection method. See
stepsize_classin the code. - The
realkind is selectable via a compiler directive (REAL32,REAL64, orREAL128). - Integration to an event is also supported. The root-finding method is also selectable (via the roots-fortran library).
Available Runge-Kutta methods:
- Number of fixed-step methods: 28
- Number of variable-step methods: 48
- Total number of methods: 76
Fixed-step methods:
Name | Description| Properties | Order | Stages | Registers | CFL | Reference
--- | --- | --- | --- | --- | --- | --- | ---
euler | Euler | | 1 | 1 | 1 | 1.0 | Euler (1768)
midpoint | Midpoint | | 2 | 2 | 2 | | ?
heun | Heun | | 2 | 2 | 2 | | ?
rkssp22 | 2-stage, 2nd order TVD Runge-Kutta Shu-Osher | SSP | 2 | 2 | 1 | 1.0 | Shu & Oscher (1988)
rk3 | 3th order Runge-Kutta | | 3 | 3 | 3 | | ?
rkssp33 | 3-stage, 3rd order TVD Runge-Kutta Shu-Osher | SSP | 3 | 3 | 1 | 1.0 | Shu & Oscher (1988)
rkssp53 | 5-stage, 3rd order SSP Runge-Kutta Spiteri-Ruuth | SSP | 3 | 5 | 2 | 2.65 | Ruuth (2006)
rk4 | Classic 4th order Runge-Kutta | | 4 | 4 | 4 | | Kutta (1901)
rks4 | 4th order Runge-Kutta Shanks | | 4 | 4 | 4 | | Shanks (1965)
rkr4 | 4th order Runge-Kutta Ralston | | 4 | 4 | 4 | | Ralston (1962)
rkls44 | 4-stage, 4th order low storage non-TVD Runge-Kutta Jiang-Shu | LS | 4 | 4 | 2 | | Jiang and Shu (1988)
rkls54 | 5-stage, 4th order low storage Runge-Kutta Carpenter-Kennedy | LS | 4 | 5 | 2 | 0.32 | Carpenter & Kennedy (1994)
rkssp54 | 5-stage, 4th order SSP Runge-Kutta Spiteri-Ruuth | SSP | 4 | 5 | 4 | 1.51 | Ruuth (2006)
rks5 | 5th order Runge-Kutta Shanks | | 5 | 5 | 5 | | Shanks (1965)
rk5 | 5th order Runge-Kutta | | 5 | 6 | 6 | | ?
rkc5 | 5th order Runge-Kutta Cassity | | 5 | 6 | 6 | | Cassity (1966)
rkl5 | 5th order Runge-Kutta Lawson | | 5 | 6 | 6 | | Lawson (1966)
rklk5a | 5th order Runge-Kutta Luther-Konen 1 | | 5 | 6 | 6 | | Luther & Konen (1965)
rklk5b | 5th order Runge-Kutta Luther-Konen 2 | | 5 | 6 | 6 | | Luther & Konen (1965)
rkb6 | 6th order Runge-Kutta Butcher | | 6 | 7 | 7 | | Butcher (1963)
rk7 | 7th order Runge-Kutta Shanks | | 7 | 9 | 9 | | Shanks (1965)
rk8_10 | 10-stage, 8th order Runge-Kutta Shanks | | 8 | 10 | 10 | | Shanks (1965)
rkcv8 | 11-stage, 8th order Runge-Kutta Cooper-Verner | | 8 | 11 | 11 | | Cooper & Verner (1972)
rk8_12 | 12-stage, 8th order Runge-Kutta Shanks | | 8 | 12 | 12 | | Shanks (1965)
rks10 | 10th order Runge-Kutta Stepanov | | 10 | 15 | 15 | | Stepanov (2025)
rkz10 | 10th order Runge-Kutta Zhang | | 10 | 16 | 16 | | Zhang (2019)
rko10 | 10th order Runge-Kutta Ono | | 10 | 17 | 17 | | Ono (2003)
rkh10 | 10th order Runge-Kutta Hairer | | 10 | 17 | 17 | | Hairer (1978)
Variable-step methods:
Name | Description| Properties | Order | Stages | Registers | CFL | Reference
--- | --- | --- | --- | --- | --- | --- | ---
rkbs32 | Bogacki & Shampine 3(2) | FSAL | 3 | 4 | 4 | | Bogacki & Shampine (1989)
rkssp43 | 4-stage, 3rd order SSP | SSP, LS | 3 | 4 | 2 | 2.0 | Kraaijevanger (1991), Conde et al. (2018)
rkf45 | Fehlberg 4(5) | | 4 | 6 | 6 | | Fehlberg (1969)
rkck54 | Cash & Karp 5(4) | | 5 | 6 | 6 | | Cash & Karp (1990)
rkdp54 | Dormand-Prince 5(4) | FSAL | 5 | 7 | 7 | | Dormand & Prince (1980)
rkt54 | Tsitouras 5(4) | FSAL | 5 | 7 | 7 | | Tsitouras (2011)
rks54 | Stepanov 5(4) | FSAL | 5 | 7 | 7 | | Stepanov (2022)
rkpp54 | Papakostas-PapaGeorgiou 5(4) | FSAL | 5 | 7 | 7 | | Papakostas & Papageorgiou (1996)
rkpp54b | Papakostas-PapaGeorgiou 5(4) b | FSAL | 5 | 7 | 7 | | Papakostas & Papageorgiou (1996)
rkbs54 | Bogacki & Shampine 5(4) | | 5 | 8 | 8 | | Bogacki & Shampine (1996)
rkss54 | Sharp & Smart 5(4) | | 5 | 7 | 7 | | Sharp & Smart (1993)
rkdp65 | Dormand-Prince 6(5) | | 6 | 8 | 8 | | Dormand & Prince (1981)
rkc65 | Calvo 6(5) | | 6 | 9 | 9 | | Calvo (1990)
rktp64 | Tsitouras & Papakostas NEW6(4) | | 6 | 7 | 7 | | Tsitouras & Papakostas (1999)
rkv65e | Verner efficient (9,6(5)) | FSAL | 6 | 9 | 9 | | Verner (1994)
rkv65r | Verner robust (9,6(5)) | FSAL | 6 | 9 | 9 | | Verner (1994)
rkv65 | Verner 6(5) | | 6 | 8 | 8 | | Verner (2006)
dverk65 | Verner 6(5) "DVERK" | | 6 | 8 | 8 | | Verner (?)
rktf65 | Tsitouras & Famelis 6(5) | FSAL | 6 | 9 | 9 | | Tsitouras & Famelis (2006)
rktp75 | Tsitouras & Papakostas NEW7(5) | | 7 | 9 | 9 | | Tsitouras & Papakostas (1999)
rktmy7 | 7th order Tanaka-Muramatsu-Yamashita | | 7 | 10 | 10 | | Tanaka, Muramatsu & Yamashita (1992)
rktmy7s | 7th order Stable Tanaka-Muramatsu-Yamashita | | 7 | 10 | 10 | | Tanaka, Muramatsu & Yamashita (1992)
rkv76e | Verner efficient (10:7(6)) | | 7 | 10 | 10 | | Verner (1978)
rkv76r | Verner robust (10:7(6)) | | 7 | 10 | 10 | | Verner (1978)
rkss76 | Sharp & Smart 7(6) | | 7 | 11 | 11 | | Sharp & Smart (1993)
rkf78 | Fehlberg 7(8) | | 7 | 13 | 13 | | Fehlberg (1968)
rkv78 | Verner 7(8) | | 7 | 13 | 13 | | Verner (1978)
dverk78 | Verner "Maple" 7(8) | | 7 | 13 | 13 | | [Verner (?)](http://www.peterstone.name/Maplepgs/Maple/nmthds/RKco
Related Skills
node-connect
337.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.2kCommit, push, and open a PR

