matrix_elements_t Derived Type

type, public :: matrix_elements_t


Contents


Components

TypeVisibilityAttributesNameInitial
integer, private :: nb_elements
integer, private :: spline1_size
integer, private :: spline2_size
type(matrix_element_node_t), private, pointer:: head
type(matrix_element_node_t), private, pointer:: tail
character(len=:), private, allocatable:: state_vector(:)

Type-Bound Procedures

procedure, public :: add => add_node

  • private subroutine add_node(this, element, loc1, loc2, spline1, spline2)

    Arguments

    TypeIntentOptionalAttributesName
    class(matrix_elements_t), intent(inout) :: this
    class(*), intent(in) :: element
    character(len=*), intent(in) :: loc1
    character(len=*), intent(in) :: loc2
    real(kind=dp), intent(in) :: spline1(:)
    real(kind=dp), intent(in) :: spline2(:)

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 :: spline_sizes_are_valid

  • private function spline_sizes_are_valid(this, spline1, spline2)

    Arguments

    TypeIntentOptionalAttributesName
    class(matrix_elements_t), intent(in) :: this
    real(kind=dp), intent(in) :: spline1(:)
    real(kind=dp), intent(in) :: spline2(:)

    Return Value logical

procedure, private :: increment_nb_elements