mod_iv_module Module



Derived Types

type, public ::  iv_module_t

Components

Type Visibility Attributes Name Initial
logical, private :: is_initialised
type(settings_t), private, pointer :: settings
type(grid_t), private, pointer :: grid
type(iv_state_vector_t), public :: state_vec
type(initial_conditions_t), private, pointer :: iv_initial_conditions
real, public, allocatable :: iv_grid(:)
complex(kind=dp), public, allocatable :: snapshots(:,:)
real(kind=dp), public, allocatable :: snap_times(:)

Type-Bound Procedures

procedure, public :: initialise
procedure, public :: solve_ivp
procedure, public :: postprocess_snapshot

Functions

public function new_iv_module(settings, grid) result(iv_module)

Arguments

Type IntentOptional Attributes Name
type(settings_t), intent(in), target :: settings
type(grid_t), intent(in), target :: grid

Return Value type(iv_module_t)


Subroutines

private subroutine initialise(self, initial_conditions)

Arguments

Type IntentOptional Attributes Name
class(iv_module_t), intent(inout) :: self
class(initial_conditions_t), intent(inout) :: initial_conditions

private subroutine solve_ivp(self, matrix_A, matrix_B)

Arguments

Type IntentOptional Attributes Name
class(iv_module_t), intent(inout) :: self
type(matrix_t), intent(in) :: matrix_A
type(matrix_t), intent(in) :: matrix_B

private subroutine postprocess_snapshot(self, i_snap)

Postprocess a given snapshot. Reassemble the profile and sotre in each component

Arguments

Type IntentOptional Attributes Name
class(iv_module_t), intent(inout) :: self
integer, intent(in) :: i_snap