comblist Derived Type

type, public :: comblist

List of particle combinations.


Inherits

type~~comblist~~InheritsGraph type~comblist comblist ftlListDouble ftlListDouble type~comblist->ftlListDouble weight ftlListInt ftlListInt type~comblist->ftlListInt ia, ib

Components

Type Visibility Attributes Name Initial
type(ftlListInt), public :: ia

index of particle 'a'

type(ftlListInt), public :: ib

index of particle 'b'

type(ftlListDouble), public :: weight

weight of 'a+b' assigned to pivot


Type-Bound Procedures

procedure, public, pass(self) :: new => list_new

  • private impure subroutine list_new(self)

    Constructor comblist.

    Arguments

    Type IntentOptional Attributes Name
    class(comblist), intent(inout) :: self

    object

procedure, public, pass(self) :: size => list_size

  • private pure function list_size(self) result(res)

    Size of comblist.

    Arguments

    Type IntentOptional Attributes Name
    class(comblist), intent(in) :: self

    object

    Return Value integer

procedure, public, pass(self) :: append => list_append

  • private impure subroutine list_append(self, ia, ib, weight)

    Append values to comblist object.

    Arguments

    Type IntentOptional Attributes Name
    class(comblist), intent(inout) :: self

    object

    integer :: ia

    particle index

    integer :: ib

    particle index

    real(kind=rk) :: weight

    weight

procedure, public, pass(self) :: toarray => list_toarray

  • private impure subroutine list_toarray(self, array)

    Copy contents of comblist object to array of same type.

    Arguments

    Type IntentOptional Attributes Name
    class(comblist), intent(inout) :: self

    object

    type(combarray), intent(inout) :: array

    target array

procedure, public, pass(self) :: clear => list_clear

  • private impure subroutine list_clear(self)

    Clear comblist object.

    Arguments

    Type IntentOptional Attributes Name
    class(comblist), intent(inout) :: self

    object

Source Code

   type :: comblist
   !! List of particle combinations.
      type(ftlListInt) :: ia
         !! index of particle 'a'
      type(ftlListInt) :: ib
         !! index of particle 'b'
      type(ftlListDouble) :: weight
         !! weight of 'a+b' assigned to pivot
   contains
      procedure, pass(self) :: new => list_new
      procedure, pass(self) :: size => list_size
      procedure, pass(self) :: append => list_append
      procedure, pass(self) :: toarray => list_toarray
      procedure, pass(self) :: clear => list_clear
   end type comblist