sphere_1d_interface Module

Encapsulate a 3D plate geometry and grid-verification method


Uses

  • module~~sphere_1d_interface~~UsesGraph module~sphere_1d_interface sphere_1d_interface module~kind_parameters kind_parameters module~sphere_1d_interface->module~kind_parameters json_module json_module module~sphere_1d_interface->json_module module~geometry_interface geometry_interface module~sphere_1d_interface->module~geometry_interface module~block_metadata_interface block_metadata_interface module~sphere_1d_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~~sphere_1d_interface~~UsedByGraph module~sphere_1d_interface sphere_1d_interface module~sphere_1d_implementation sphere_1d_implementation module~sphere_1d_implementation->module~sphere_1d_interface module~problem_discretization_interface problem_discretization_interface module~problem_discretization_interface->module~sphere_1d_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(sphere_1d), 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(sphere_1d), 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(sphere_1d), 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(sphere_1d), intent(in) :: this
    integer, dimension(space_dimension):: indicial_coordinates

    Return Value type(block_metadata)

interface

  • private module function get_end_time(this) result(end_time)

    define the shape of the array of grid blocks

    Arguments

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

    Return Value real(kind=r8k)

interface

  • private module subroutine set_block_metadata(this)

    read grid metadata from json_file stored in child class

    Arguments

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

interface

  • private module subroutine set_grid_specification(this, grid_description_file)

    define json_file problem description

    Arguments

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

Derived Types

type, public, extends(geometry) :: sphere_1d

encapsulate the grid specification for a sphere_1D object

Components

TypeVisibility AttributesNameInitial
real(kind=r8k), private :: end_time
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 :: get_end_time
procedure, public :: set_block_metadata
procedure, public :: set_grid_specification