sphere_1d_implementation Submodule


Uses

  • module~~sphere_1d_implementation~~UsesGraph module~sphere_1d_implementation sphere_1d_implementation module~string_functions_interface string_functions_interface module~sphere_1d_implementation->module~string_functions_interface module~assertions_interface assertions_interface module~sphere_1d_implementation->module~assertions_interface module~emulated_intrinsics_interface emulated_intrinsics_interface module~sphere_1d_implementation->module~emulated_intrinsics_interface module~sphere_1d_interface sphere_1d_interface module~sphere_1d_implementation->module~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

Contents


Variables

TypeVisibility AttributesNameInitial
character(len=*), private, parameter:: base_object ="MORFEUS_FD"
type(layers_t), private :: layers
character(len=*), private, parameter:: layers_object ="MORFEUS_FD.layers"
integer, private, parameter:: success =0

Encapsulate json key/value pair hierarchy to be read from a 3Dplate*.json file


Derived Types

type :: layers_t

Components

TypeVisibility AttributesNameInitial
type(material_t), public :: core
real, public :: max_spacing
character(len=:), public, allocatable:: type_
character(len=:), public, allocatable:: units_system
type(material_t), public :: wrappers

type :: material_t

Components

TypeVisibility AttributesNameInitial
character(len=max_name_length), public, allocatable, dimension(:):: material_name
type(num_grid_blocks_t), public :: num_grid_blocks
type(thickness_t), public :: thickness

Components

TypeVisibility AttributesNameInitial
integer, public, allocatable, dimension(:):: phi
integer, public, allocatable, dimension(:):: r
integer, public, allocatable, dimension(:):: theta

type :: thickness_t

Components

TypeVisibility AttributesNameInitial
character(len=:), public, allocatable:: dimensions
real, public, allocatable, dimension(:):: phi
real, public, allocatable, dimension(:):: r
real, public, allocatable, dimension(:):: theta

Functions

function material(ir, core_, wrapper_) result(material_ir)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: ir
type(material_t), intent(in) :: core_
type(material_t), intent(in) :: wrapper_

Return Value character(len=max_name_length), allocatable


Subroutines

subroutine read_core_components()

Arguments

None

Arguments

None

subroutine set_metadata()

Arguments

None

subroutine verify_core_components()

apply constraints specified in the json file

Arguments

None

subroutine verify_layers()

Arguments

None

apply constraints specified in the json file

Arguments

None

Module Procedures

module procedure get_block_domain module function get_block_domain(this, indicial_coordinates) result(this_domain)

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)

module procedure get_block_metadata module function get_block_metadata(this) result(this_metadata)

Arguments

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

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

module procedure get_block_metadata_shape module function get_block_metadata_shape(this) result(shape_)

Arguments

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

Return Value integer, dimension(space_dimension)

module procedure get_block_metadatum module function get_block_metadatum(this, indicial_coordinates) result(this_metadata_xyz)

Arguments

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

Return Value type(block_metadata)

module procedure get_end_time module function get_end_time(this) result(end_time)

Arguments

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

Return Value real(kind=r8k)

module procedure set_block_metadata module subroutine set_block_metadata(this)

Arguments

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

module procedure set_grid_specification module subroutine set_grid_specification(this, grid_description_file)

Arguments

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