Runge-Kutta time stepping scheme - Only fully explicit - Right hand side via call to external subroutine - More generic than KArniadakis, i.e. not relying on variables or meshes
Returns ncount
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(runge_kutta_t), | intent(in) | :: | self |
Instance of the type |
Returns ndim
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(runge_kutta_t), | intent(in) | :: | self |
Instance of the type |
Returns order
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(runge_kutta_t), | intent(in) | :: | self |
Instance of the type |
Initialises a Runge Kutta integrator
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(runge_kutta_t), | intent(inout) | :: | self |
Instance of the type |
||
| integer, | intent(in) | :: | ndim |
Dimension of problem |
||
| integer, | intent(in) | :: | order |
Order of time-stepping scheme |
Right hand side of differential equation
| Type | Intent | Optional | Attributes | Name | |||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| class(runge_kutta_t), | intent(inout) | :: | self |
Instance of the type |
|||||||||||||||||||||||||||||||||||||
| real(kind=GP), | intent(in) | :: | dtau |
Size of timestep |
|||||||||||||||||||||||||||||||||||||
| real(kind=GP), | intent(in) | :: | tau |
Time at input |
|||||||||||||||||||||||||||||||||||||
| real(kind=GP), | intent(inout), | dimension(self%ndim) | :: | y |
On input: variable values at tau, at output at tau+dtau |
||||||||||||||||||||||||||||||||||||
subroutine rhs(ndim, tau, y, dy)Arguments
|
|||||||||||||||||||||||||||||||||||||||||
Displays basic information of runge_kutta
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(runge_kutta_t), | intent(in) | :: | self |
Instance of the type |
Frees memory associated with runge_kutta
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(runge_kutta_t), | intent(inout) | :: | self |
Instance of the type |
Datatype for Runge-Kutta integrator
| final :: destructor |
| procedure , public :: init => init_runge_kutta Interface | |
| procedure , public :: get_ncount Interface | |
| procedure , public :: get_ndim Interface | |
| procedure , public :: get_order Interface | |
| procedure , public :: advance Interface | |
| procedure , public :: display => display_runge_kutta Interface |