time_integrator Module


Uses


Contents


Abstract Interfaces

abstract interface

  • public subroutine integrate_proc(self, afield)

    Arguments

    Type IntentOptional Attributes Name
    class(time_integrator_type), intent(in) :: self
    class(field_type), intent(inout), allocatable :: afield

Derived Types

type, public ::  time_integrator_type

Components

Type Visibility Attributes Name Initial
real, public :: starttime
real, public :: endtime
real, public :: dt

Type-Bound Procedures

procedure (integrate_proc) , public :: integrate

type, public, extends(time_integrator_type) ::  euler_integrator_type

Components

Type Visibility Attributes Name Initial
real, public :: starttime
real, public :: endtime
real, public :: dt
real, public :: alpha = 1.

Type-Bound Procedures

procedure , public :: integrate => integrate_euler Subroutine

type, public, extends(time_integrator_type) ::  AB2_integrator_type

Components

Type Visibility Attributes Name Initial
real, public :: starttime
real, public :: endtime
real, public :: dt

Type-Bound Procedures

procedure , public :: integrate => integrate_AB2 Subroutine

type, public, extends(time_integrator_type) ::  RK3_integrator_type

Components

Type Visibility Attributes Name Initial
real, public :: starttime
real, public :: endtime
real, public :: dt

Type-Bound Procedures

procedure , public :: integrate => integrate_RK3 Subroutine

Functions

public pure function euler_timestep(afield, dt) result(res)

Arguments

Type IntentOptional Attributes Name
class(field_type), intent(in) :: afield
real, intent(in) :: dt

Return Value class(field_type), allocatable


Subroutines

public subroutine integrate_euler(self, afield)

Arguments

Type IntentOptional Attributes Name
class(euler_integrator_type), intent(in) :: self
class(field_type), intent(inout), allocatable :: afield

public subroutine integrate_AB2(self, afield)

Arguments

Type IntentOptional Attributes Name
class(AB2_integrator_type), intent(in) :: self
class(field_type), intent(inout), allocatable :: afield

public subroutine integrate_RK3(self, afield)

Arguments

Type IntentOptional Attributes Name
class(RK3_integrator_type), intent(in) :: self
class(field_type), intent(inout), allocatable :: afield

public subroutine AB2_timestep(f1, f2, dt)

Arguments

Type IntentOptional Attributes Name
class(field_type), intent(inout), allocatable :: f1
class(field_type), intent(inout), allocatable :: f2
real, intent(in) :: dt