cylinder_2d_interface Module

Encapsulate a 2D cylinder geometry and grid-verification method


Uses

  • module~~cylinder_2d_interface~~UsesGraph module~cylinder_2d_interface cylinder_2d_interface module~kind_parameters kind_parameters module~cylinder_2d_interface->module~kind_parameters json_module json_module module~cylinder_2d_interface->json_module module~geometry_interface geometry_interface module~cylinder_2d_interface->module~geometry_interface module~block_metadata_interface block_metadata_interface module~cylinder_2d_interface->module~block_metadata_interface iso_fortran_env iso_fortran_env module~kind_parameters->iso_fortran_env module~block_metadata_interface->module~kind_parameters iso_c_binding iso_c_binding module~block_metadata_interface->iso_c_binding

Used by

  • module~~cylinder_2d_interface~~UsedByGraph module~cylinder_2d_interface cylinder_2d_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~define_problem_discretization define_problem_discretization module~define_problem_discretization->module~problem_discretization_interface

Contents


Interfaces

interface

  • private module function get_block_domain(this, indicial_coordinates) result(this_domain)

    result is the spatial subdomain for the grid block with the given indicial_coordinates

    Arguments

    Type IntentOptional AttributesName
    class(cylinder_2d), intent(in) :: this
    integer, dimension(space_dimension):: indicial_coordinates

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

interface

  • private module function get_block_metadata(this) result(this_metadata)

    result is the block_metadata component for all blocks

    Arguments

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

    Return Value type(block_metadata), dimension(:,:,:), allocatable

interface

  • private module function get_block_metadata_shape(this) result(shape_)

    define the shape of the array of grid blocks

    Arguments

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

    Return Value integer, dimension(space_dimension)

interface

  • private module function get_block_metadatum(this, indicial_coordinates) result(this_metadata_xyz)

    result is the block_metadata component for the block with the given indicial_coordinates

    Arguments

    Type IntentOptional AttributesName
    class(cylinder_2d), intent(in) :: this
    integer, dimension(space_dimension):: indicial_coordinates

    Return Value type(block_metadata)

interface

  • private module subroutine set_block_metadata(this)

    read grid metadata from json_file stored in child class

    Arguments

    Type IntentOptional AttributesName
    class(cylinder_2d), intent(inout) :: this

interface

  • private module subroutine set_grid_specification(this, grid_description_file)

    define json_file problem description

    Arguments

    Type IntentOptional AttributesName
    class(cylinder_2d), intent(out) :: this
    character(len=*), intent(in) :: grid_description_file

Derived Types

type, public, extends(geometry) :: cylinder_2d

encapsulate the grid specification for a cylinder_2D object

Components

TypeVisibility AttributesNameInitial
type(json_file), private :: grid_specification
type(block_metadata), private, dimension(:,:,:), allocatable:: metadata
character(len=:), private, allocatable:: units_system

Type-Bound Procedures

procedure, public :: build
procedure, public :: get_block_domain
procedure, public :: get_block_metadata
procedure, public :: get_block_metadata_shape
procedure, public :: get_block_metadatum
procedure, public :: set_block_metadata
procedure, public :: set_grid_specification