block_metadata_interface Module


Uses

  • module~~block_metadata_interface~~UsesGraph module~block_metadata_interface block_metadata_interface module~kind_parameters kind_parameters module~block_metadata_interface->module~kind_parameters iso_c_binding iso_c_binding module~block_metadata_interface->iso_c_binding iso_fortran_env iso_fortran_env module~kind_parameters->iso_fortran_env

Used by

  • module~~block_metadata_interface~~UsedByGraph module~block_metadata_interface block_metadata_interface module~block_metadata_implementation block_metadata_implementation module~block_metadata_implementation->module~block_metadata_interface module~cylinder_2d_interface cylinder_2d_interface module~cylinder_2d_interface->module~block_metadata_interface module~sphere_1d_interface sphere_1d_interface module~sphere_1d_interface->module~block_metadata_interface module~plate_3d_interface plate_3d_interface module~plate_3d_interface->module~block_metadata_interface module~structured_grid_interface structured_grid_interface module~structured_grid_interface->module~block_metadata_interface module~spherical_grid_implementation spherical_grid_implementation module~spherical_grid_implementation->module~plate_3d_interface module~spherical_grid_interface spherical_grid_interface module~spherical_grid_implementation->module~spherical_grid_interface module~plate_3d_implementation plate_3d_implementation module~plate_3d_implementation->module~plate_3d_interface module~cartesian_grid_interface cartesian_grid_interface module~cartesian_grid_interface->module~structured_grid_interface module~cylinder_2d_implementation cylinder_2d_implementation module~cylinder_2d_implementation->module~cylinder_2d_interface module~problem_discretization_interface problem_discretization_interface module~problem_discretization_interface->module~cylinder_2d_interface module~problem_discretization_interface->module~sphere_1d_interface module~problem_discretization_interface->module~plate_3d_interface module~problem_discretization_interface->module~structured_grid_interface module~cylindrical_grid_interface cylindrical_grid_interface module~cylindrical_grid_interface->module~structured_grid_interface module~cartesian_grid_implementation cartesian_grid_implementation module~cartesian_grid_implementation->module~plate_3d_interface module~cartesian_grid_implementation->module~cartesian_grid_interface module~curvilinear_grid_interface curvilinear_grid_interface module~curvilinear_grid_interface->module~structured_grid_interface module~cylindrical_grid_implementation cylindrical_grid_implementation module~cylindrical_grid_implementation->module~plate_3d_interface module~cylindrical_grid_implementation->module~cylindrical_grid_interface module~spherical_grid_interface->module~structured_grid_interface module~structured_grid_implementation structured_grid_implementation module~structured_grid_implementation->module~structured_grid_interface module~sphere_1d_implementation sphere_1d_implementation module~sphere_1d_implementation->module~sphere_1d_interface module~define_problem_discretization define_problem_discretization module~define_problem_discretization->module~problem_discretization_interface proc~initialize_from_plate_3d initialize_from_plate_3d proc~initialize_from_plate_3d->module~cartesian_grid_interface proc~initialize_from_sphere_1d initialize_from_sphere_1d proc~initialize_from_sphere_1d->module~spherical_grid_interface proc~evaluate evaluate proc~evaluate->module~cartesian_grid_interface proc~initialize_from_cylinder_2d initialize_from_cylinder_2d proc~initialize_from_cylinder_2d->module~cylindrical_grid_interface proc~laplacian laplacian proc~laplacian->module~cartesian_grid_interface

Contents


Variables

TypeVisibility AttributesNameInitial
integer, public, parameter:: lower =1
integer, public, parameter:: max_name_length =32
integer, public, parameter:: num_end_points =2
integer, public, parameter:: space_dimension =3
integer, public, parameter:: tag_kind =c_int
integer, public, parameter:: upper =2

Enumerations

enum, bind(c)

Enumerators

enumerator:: untagged = -99999

Interfaces

interface

  • private pure module function get_label(this) result(this_label)

    Result is the label of a this block_metadata object

    Arguments

    Type IntentOptional AttributesName
    class(block_metadata), intent(in) :: this

    Return Value character(len=:), allocatable

interface

  • private pure module function get_max_spacing(this) result(this_max_spacing)

    Result contains the maximum allowable grid spacing for this block_metadata object

    Arguments

    Type IntentOptional AttributesName
    class(block_metadata), intent(in) :: this

    Return Value real

interface

  • private pure module function get_subdomain(this) result(edges)

    Result contains the coordinate intervals delimiting this block_metadata object

    Arguments

    Type IntentOptional AttributesName
    class(block_metadata), intent(in) :: this

    Return Value real(kind=r8k), dimension(space_dimension,num_end_points)

interface

  • private elemental module function get_tag(this) result(this_tag)

    Result is the identification tag of a this block_metadata object

    Arguments

    Type IntentOptional AttributesName
    class(block_metadata), intent(in) :: this

    Return Value integer(kind=tag_kind)

interface

  • private pure module subroutine set_label(this, label)

    Define the label of a this block_metadata object

    Arguments

    Type IntentOptional AttributesName
    class(block_metadata), intent(inout) :: this
    character(len=*), intent(in) :: label

interface

  • private elemental module subroutine set_max_spacing(this, max_spacing)

    Define the maximum allowable grid spacing

    Arguments

    Type IntentOptional AttributesName
    class(block_metadata), intent(inout) :: this
    real(kind=r8k), intent(in) :: max_spacing

interface

  • private module subroutine set_subdomain(this, subdomain)

    Define the end point of a block-structured grid coordinate direction

    Arguments

    Type IntentOptional AttributesName
    class(block_metadata), intent(inout) :: this
    type(subdomain_t), intent(in) :: subdomain

interface

  • private elemental module subroutine set_tag(this, tag)

    Define the identification tag of a this block_metadata object

    Arguments

    Type IntentOptional AttributesName
    class(block_metadata), intent(inout) :: this
    integer, intent(in) :: tag

Derived Types

type, public :: block_metadata

structured-grid block descriptor

Components

TypeVisibility AttributesNameInitial
character(len=max_name_length), private :: label_ ='unlabeled'
real(kind=r8k), private :: max_spacing_
type(subdomain_t), private :: subdomain
integer(kind=tag_kind), private :: tag_ =untagged

Type-Bound Procedures

procedure, public :: get_label
procedure, public :: get_max_spacing
procedure, public :: get_subdomain
procedure, public :: get_tag
procedure, public :: set_label
procedure, public :: set_max_spacing
procedure, public :: set_subdomain
procedure, public :: set_tag

type, public :: subdomain_t

scalar argument for elemental set_subdomain procedure

Components

TypeVisibility AttributesNameInitial
real(kind=r8k), public, dimension(space_dimension,num_end_points):: edges