dimensions Derived Type

type, public :: dimensions


Inherited by

type~~dimensions~~InheritedByGraph type~dimensions dimensions type~scalar_source scalar_source type~scalar_source->type~dimensions dim type~pde pde type~pde->type~dimensions dim type~field field type~field->type~dimensions dim 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
integer, private :: l
integer, private :: m
integer, private :: t
integer, private :: theta

Type-Bound Procedures

procedure, public :: bcast_dim

  • interface

    private module subroutine bcast_dim(dim)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(inout) :: dim

procedure, public :: debug_dim

  • interface

    private module subroutine debug_dim(dim)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(in) :: dim

procedure, public :: dim_diff

procedure, public :: dim_div

procedure, public :: dim_mul

procedure, public :: dim_pow

  • interface

    private pure module function dim_pow(dim, n)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(in) :: dim
    integer, intent(in) :: n

    Return Value type(dimensions)

procedure, public :: dim_sum

generic, public :: nemo_sizeof => nemo_dimensions_sizeof

generic, public :: operator(*) => dim_mul

  • private interface dim_mul()

    Arguments

    None

generic, public :: operator(**) => dim_pow

  • private interface dim_pow()

    Arguments

    None

generic, public :: operator(+) => dim_sum

  • private interface dim_sum()

    Arguments

    None

generic, public :: operator(-) => dim_diff

  • private interface dim_diff()

    Arguments

    None

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

  • private interface dim_div()

    Arguments

    None

procedure, public :: quantity

  • interface

    public module function quantity(dim)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(in) :: dim

    Return Value character(len=:), allocatable

generic, public :: sqrt => dim_sqrt

  • private interface dim_sqrt()

    Arguments

    None

procedure, private :: dim_sqrt

procedure, private :: nemo_dimensions_sizeof

  • interface

    private elemental module function nemo_dimensions_sizeof(dims)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(in) :: dims

    Return Value integer(kind=nemo_int_long_)

Source Code

    TYPE dimensions
        PRIVATE
        INTEGER :: l
        INTEGER :: m
        INTEGER :: t
        INTEGER :: theta
    CONTAINS
        PROCEDURE :: bcast_dim, quantity
        PROCEDURE, PRIVATE :: dim_sqrt
        GENERIC, PUBLIC :: sqrt => dim_sqrt
        PROCEDURE :: debug_dim
        PROCEDURE :: dim_sum, dim_diff, dim_mul, dim_div, dim_pow
        GENERIC :: OPERATOR(+)  => dim_sum
        GENERIC :: OPERATOR(-)  => dim_diff
        GENERIC :: OPERATOR(*)  => dim_mul
        GENERIC :: OPERATOR(/)  => dim_div
        GENERIC :: OPERATOR(**) => dim_pow
        PROCEDURE, PRIVATE :: nemo_dimensions_sizeof
        GENERIC, PUBLIC :: nemo_sizeof => nemo_dimensions_sizeof
    END TYPE dimensions