xy_lattice Derived Type

type, public :: xy_lattice

Wrapper type for storing dynamically sized collections of lattice sites


Inherits

type~~xy_lattice~~InheritsGraph type~xy_lattice xy_lattice type~xy_site xy_site type~xy_lattice->type~xy_site site type~xy xy type~xy_site->type~xy

Components

Type Visibility Attributes Name Initial
type(xy_site), public, allocatable :: site(:)
integer, public :: size

Type-Bound Procedures

generic, public :: operator(==) => eq_lattice

  • private pure elemental function eq_lattice(A, B) result(isequal)

    polymorphic equality overload for xy_lattice type

    Arguments

    Type IntentOptional Attributes Name
    class(xy_lattice), intent(in) :: A
    class(xy_lattice), intent(in) :: B

    Return Value logical

generic, public :: operator(/=) => neq_lattice

  • private pure elemental function neq_lattice(A, B) result(notequal)

    polymorphic inequality overload for xy_lattice type

    Arguments

    Type IntentOptional Attributes Name
    class(xy_lattice), intent(in) :: A
    class(xy_lattice), intent(in) :: B

    Return Value logical

procedure, public :: push_back

  • private pure subroutine push_back(vec, val)

    Poor man implementation of a dynamic array, a là std::vector (but without preallocation and smart doubling...)

    Arguments

    Type IntentOptional Attributes Name
    class(xy_lattice), intent(inout) :: vec
    type(xy_site), intent(in) :: val

procedure, private :: eq_lattice

  • private pure elemental function eq_lattice(A, B) result(isequal)

    polymorphic equality overload for xy_lattice type

    Arguments

    Type IntentOptional Attributes Name
    class(xy_lattice), intent(in) :: A
    class(xy_lattice), intent(in) :: B

    Return Value logical

procedure, private :: neq_lattice

  • private pure elemental function neq_lattice(A, B) result(notequal)

    polymorphic inequality overload for xy_lattice type

    Arguments

    Type IntentOptional Attributes Name
    class(xy_lattice), intent(in) :: A
    class(xy_lattice), intent(in) :: B

    Return Value logical