multistep_storage_t Derived Type

type, public :: multistep_storage_t

Datatype for storage


Contents


Components

Type Visibility Attributes Name Initial
real(kind=GP), public, allocatable, dimension(:,:,:) :: vstore

Values of storage (ndim, nstorage, nfields)


Finalization Procedures

final :: destructor_storage


Type-Bound Procedures

procedure, public :: init_storage

  • interface

    public module subroutine init_storage(self, ndim, nstorage, nfields, vstore_firsts)

    Initialises a Karniadakis scheme

    Arguments

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

    Instance of the type

    integer, intent(in) :: ndim

    Dimension of storage values

    integer, intent(in) :: nstorage

    Number of storage points

    integer, intent(in) :: nfields

    Number of fields to be stored

    real(kind=GP), intent(in), optional, dimension(ndim, nstorage, nfields) :: vstore_firsts

    Initial values for storage (default = 0)

procedure, public :: get_ndim

  • interface

    public pure module function get_ndim(self)

    Returns ndim

    Arguments

    Type IntentOptional Attributes Name
    class(multistep_storage_t), intent(in) :: self

    Instance of the type

    Return Value integer

procedure, public :: get_nstorage

  • interface

    public pure module function get_nstorage(self)

    Returns nstorage

    Arguments

    Type IntentOptional Attributes Name
    class(multistep_storage_t), intent(in) :: self

    Instance of the type

    Return Value integer

procedure, public :: get_nfields

  • interface

    public pure module function get_nfields(self)

    Returns nfields

    Arguments

    Type IntentOptional Attributes Name
    class(multistep_storage_t), intent(in) :: self

    Instance of the type

    Return Value integer

procedure, public :: shift_storage

  • interface

    public module subroutine shift_storage(self, vals_new)

    Shifts storage and vals_new will be placed at vsore(:,1,:)

    Arguments

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

    Instance of the type

    real(kind=GP), intent(in), dimension(self%ndim, self%nfields) :: vals_new

    New storage value