matrix_elements_t Derived Type

type, public :: matrix_elements_t


Contents


Components

TypeVisibilityAttributesNameInitial
integer, private :: nb_elements
type(matrix_element_node_t), private, pointer:: head
type(matrix_element_node_t), private, pointer:: tail
type(state_vector_t), private, pointer:: state_vector

Type-Bound Procedures

procedure, public :: add => add_node

  • private subroutine add_node(this, element, sv_comp1, sv_comp2, s1do, s2do)

    Arguments

    TypeIntentOptionalAttributesName
    class(matrix_elements_t), intent(inout) :: this
    class(*), intent(in) :: element
    type(sv_component_t), intent(in) :: sv_comp1

    first state vector component

    type(sv_component_t), intent(in) :: sv_comp2

    second state vector component

    integer, intent(in), optional :: s1do

    spline 1 derivative order, 1 = first derivative, 2 = second derivative, etc.

    integer, intent(in), optional :: s2do

    spline 2 derivative order, 1 = first derivative, 2 = second derivative, etc.

procedure, public :: get_node

procedure, public :: get_elements

  • private function get_elements(this) result(elements)

    Arguments

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

    Return Value complex(kind=dp)(this%nb_elements)

procedure, public :: get_positions

  • private function get_positions(this) result(positions)

    Arguments

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

    Return Value integer(this%nb_elements,2)

procedure, public :: get_nb_elements

procedure, public :: delete

  • private pure subroutine delete(this)

    Arguments

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

procedure, private :: increment_nb_elements