mod_state_vector_component Module



Contents


Variables

TypeVisibilityAttributesNameInitial
character, private, parameter:: CUSTOM ="custom"

Derived Types

type, public :: sv_component_t

Components

TypeVisibilityAttributesNameInitial
character(len=str_len_arr), private :: spline_name
character(len=str_len_arr), private :: name
logical, private :: is_initialised =.false.
procedure(basis_function), private, pointer, nopass:: custom_spline

Type-Bound Procedures

procedure, public :: get_name
procedure, public :: get_spline_function
procedure, public :: get_basis_function_name
procedure, public :: get_default_basis_function
procedure, public :: set_basis_function
procedure, public :: set_custom_spline
procedure, public :: delete
procedure, private :: spline
procedure, private :: dspline
procedure, private :: ddspline

Functions

public function new_sv_component(name) result(sv_comp)

Arguments

TypeIntentOptionalAttributesName
character(len=*), intent(in) :: name

Return Value type(sv_component_t)

private pure function get_name(this) result(name)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(in) :: this

Return Value character,allocatable

private function get_basis_function_name(this) result(name)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(in) :: this

Return Value character,allocatable

private function get_default_basis_function(this) result(name)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(in) :: this

Return Value character,allocatable


Subroutines

private subroutine set_basis_function(this, spline_name)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(inout) :: this
character(len=*), intent(in) :: spline_name

private subroutine set_custom_spline(this, func)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(inout) :: this
procedure(basis_function) :: func

private subroutine get_spline_function(this, spline_order, spline_func)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(in) :: this
integer, intent(in), optional :: spline_order
procedure(basis_function), intent(out), pointer:: spline_func

private subroutine spline(this, func)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(in) :: this
procedure(basis_function), intent(out), pointer:: func

private subroutine dspline(this, func)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(in) :: this
procedure(basis_function), intent(out), pointer:: func

private subroutine ddspline(this, func)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(in) :: this
procedure(basis_function), intent(out), pointer:: func

private pure subroutine delete(this)

Arguments

TypeIntentOptionalAttributesName
class(sv_component_t), intent(inout) :: this