mod_iv_state_vector_component Module



Derived Types

type, public ::  iv_sv_component_t

Components

Type Visibility Attributes Name Initial
type(sv_component_t), public, pointer :: base => null()
character(len=:), public, allocatable :: name
logical, public :: is_bound = .false.
logical, public :: cplx_trans = .false.
real(kind=dp), public, allocatable :: c1(:)
real(kind=dp), public, allocatable :: c2(:)
complex(kind=dp), public, allocatable :: profile(:)
procedure(profile_fcn), public, nopass, pointer :: p_fcn => null()
procedure(profile_fcn), public, nopass, pointer :: p_dfcn => null()

Type-Bound Procedures

procedure, public :: bind_iv_component
procedure, public :: compute_coeffs
procedure, public :: compute_quad_coeffs
procedure, public :: compute_cubic_coeffs
procedure, public :: reconstruct_profile

Functions

public function new_iv_component(name) result(comp)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

Return Value type(iv_sv_component_t)


Subroutines

public subroutine bind_iv_component(self, base_instance, fcn, dfcn)

Arguments

Type IntentOptional Attributes Name
class(iv_sv_component_t), intent(inout) :: self
type(sv_component_t), intent(in), target :: base_instance
procedure(profile_fcn), pointer :: fcn
procedure(profile_fcn), pointer :: dfcn

public subroutine compute_coeffs(self, N, nodes)

Arguments

Type IntentOptional Attributes Name
class(iv_sv_component_t), intent(inout) :: self
integer, intent(in) :: N
real(kind=dp), intent(in) :: nodes(N)

public subroutine compute_quad_coeffs(self, N, nodes)

Arguments

Type IntentOptional Attributes Name
class(iv_sv_component_t), intent(inout) :: self
integer, intent(in) :: N
real(kind=dp), intent(in) :: nodes(N)

public subroutine compute_cubic_coeffs(self, N, nodes)

Arguments

Type IntentOptional Attributes Name
class(iv_sv_component_t), intent(inout) :: self
integer, intent(in) :: N
real(kind=dp), intent(in) :: nodes(N)

public subroutine reconstruct_profile(self, settings, grid)

Arguments

Type IntentOptional Attributes Name
class(iv_sv_component_t), intent(inout) :: self
type(settings_t), intent(in) :: settings
type(grid_t), intent(in) :: grid