m_time_integrator Module



Interfaces

public interface time_intg_t

  • public function init(backend, allocator, method, nvars)

    Arguments

    Type IntentOptional Attributes Name
    class(base_backend_t), pointer :: backend
    class(allocator_t), pointer :: allocator
    character(len=3), intent(in) :: method
    integer, intent(in), optional :: nvars

    Return Value type(time_intg_t)


Abstract Interfaces

abstract interface

  • public subroutine stepper_func(self, dt)

    Arguments

    Type IntentOptional Attributes Name
    class(time_intg_t), intent(inout) :: self
    real(kind=dp), intent(in) :: dt

Derived Types

type, public ::  time_intg_t

Components

Type Visibility Attributes Name Initial
integer, public :: method
integer, public :: istep
integer, public :: istage
integer, public :: order
integer, public :: nstep
integer, public :: nstage
integer, public :: nvars
integer, public :: nolds
real(kind=dp), public :: coeffs(4,4)
real(kind=dp), public :: rk_b(4,4)
real(kind=dp), public :: rk_a(3,3,4)
character(len=3), public :: sname
type(flist_t), public, allocatable :: olds(:,:)
type(flist_t), public, allocatable :: curr(:)
type(flist_t), public, allocatable :: deriv(:)
class(base_backend_t), public, pointer :: backend
class(allocator_t), public, pointer :: allocator
procedure(stepper_func), public, pointer :: stepper => null()

Constructor

public function init (backend, allocator, method, nvars)

Type-Bound Procedures

procedure, public :: finalize
procedure, public :: step
procedure, public :: runge_kutta
procedure, public :: adams_bashforth

Functions

public function init(backend, allocator, method, nvars)

Arguments

Type IntentOptional Attributes Name
class(base_backend_t), pointer :: backend
class(allocator_t), pointer :: allocator
character(len=3), intent(in) :: method
integer, intent(in), optional :: nvars

Return Value type(time_intg_t)


Subroutines

public subroutine finalize(self)

Arguments

Type IntentOptional Attributes Name
class(time_intg_t), intent(inout) :: self

public subroutine step(self, u, v, w, du, dv, dw, dt)

Arguments

Type IntentOptional Attributes Name
class(time_intg_t), intent(inout) :: self
class(field_t), intent(inout), target :: u
class(field_t), intent(inout), target :: v
class(field_t), intent(inout), target :: w
class(field_t), intent(in), target :: du
class(field_t), intent(in), target :: dv
class(field_t), intent(in), target :: dw
real(kind=dp), intent(in) :: dt

public subroutine rotate(sol, n)

Arguments

Type IntentOptional Attributes Name
type(flist_t), intent(inout) :: sol(:)
integer, intent(in) :: n