vertex Derived Type

type, public :: vertex


Inherits

type~~vertex~~InheritsGraph type~vertex vertex type~vector vector type~vertex->type~vector position

Inherited by

type~~vertex~~InheritedByGraph type~vertex vertex type~mesh mesh type~mesh->type~vertex verts type~pde pde type~pde->type~mesh msh type~field field type~field->type~mesh msh type~scalar_field scalar_field type~scalar_field->type~field type~vector_field vector_field type~vector_field->type~field type~scalar_pde scalar_pde type~scalar_pde->type~pde type~vector_pde vector_pde type~vector_pde->type~pde

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
logical, private :: on_boundary
type(vector), private :: position

Type-Bound Procedures

generic, public :: mag => vert_mag

  • private interface vert_mag()

    Arguments

    None

generic, public :: nemo_sizeof => nemo_vertex_sizeof

procedure, public :: on_boundary_

  • interface

    private elemental module function on_boundary_(vert)

    Arguments

    Type IntentOptional AttributesName
    class(vertex), intent(in) :: vert

    Return Value logical

procedure, public :: position_

  • interface

    private elemental module function position_(vert)

    Arguments

    Type IntentOptional AttributesName
    class(vertex), intent(in) :: vert

    Return Value type(vector)

generic, public :: x_ => get_vertex_x

generic, public :: y_ => get_vertex_y

generic, public :: z_ => get_vertex_z

procedure, private :: get_vertex_x

  • interface

    private elemental module function get_vertex_x(vert)

    Arguments

    Type IntentOptional AttributesName
    class(vertex), intent(in) :: vert

    Return Value real(kind=psb_dpk_)

procedure, private :: get_vertex_y

  • interface

    private elemental module function get_vertex_y(vert)

    Arguments

    Type IntentOptional AttributesName
    class(vertex), intent(in) :: vert

    Return Value real(kind=psb_dpk_)

procedure, private :: get_vertex_z

  • interface

    private elemental module function get_vertex_z(vert)

    Arguments

    Type IntentOptional AttributesName
    class(vertex), intent(in) :: vert

    Return Value real(kind=psb_dpk_)

procedure, private :: nemo_vertex_sizeof

  • interface

    private elemental module function nemo_vertex_sizeof(vtx)

    Arguments

    Type IntentOptional AttributesName
    class(vertex), intent(in) :: vtx

    Return Value integer(kind=nemo_int_long_)

procedure, private :: vert_mag

  • interface

    private module function vert_mag(v)

    Arguments

    Type IntentOptional AttributesName
    class(vertex), intent(in) :: v

    Return Value real(kind=psb_dpk_)

Source Code

    TYPE vertex
        PRIVATE
        TYPE(vector) :: position
        LOGICAL :: on_boundary
    CONTAINS
        PROCEDURE, PRIVATE :: get_vertex_x, get_vertex_y, get_vertex_z   ! Getters
        GENERIC, PUBLIC :: x_ => get_vertex_x
        GENERIC, PUBLIC :: y_ => get_vertex_y
        GENERIC, PUBLIC :: z_ => get_vertex_z
        PROCEDURE :: position_                                           ! Getters
        PROCEDURE, PRIVATE :: vert_mag
        GENERIC, PUBLIC :: mag => vert_mag
        PROCEDURE, PRIVATE :: nemo_vertex_sizeof
        GENERIC, PUBLIC :: nemo_sizeof => nemo_vertex_sizeof
        PROCEDURE, PUBLIC :: on_boundary_
    END TYPE vertex