cylinder_2d_implementation Submodule


Uses

  • module~~cylinder_2d_implementation~~UsesGraph module~cylinder_2d_implementation cylinder_2d_implementation module~cylinder_2d_interface cylinder_2d_interface module~cylinder_2d_implementation->module~cylinder_2d_interface module~string_functions_interface string_functions_interface module~cylinder_2d_implementation->module~string_functions_interface module~assertions_interface assertions_interface module~cylinder_2d_implementation->module~assertions_interface module~emulated_intrinsics_interface emulated_intrinsics_interface module~cylinder_2d_implementation->module~emulated_intrinsics_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

Contents


Variables

TypeVisibility AttributesNameInitial
character(len=*), private, parameter:: base_layers ="MORFEUS_FD.layers"
character(len=*), private, parameter:: base_object ="MORFEUS_FD"
type(layers_t), private :: 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(:):: x
integer, public, allocatable, dimension(:):: y
integer, public, allocatable, dimension(:):: z

type :: thickness_t

Components

TypeVisibility AttributesNameInitial
character(len=:), public, allocatable:: dimensions
real, public, allocatable, dimension(:):: x
real, public, allocatable, dimension(:):: y
real, public, allocatable, dimension(:):: z

Functions

function material(ix, iy, iz, core_, wrapper_) result(material_ix_iy)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: ix
integer, intent(in) :: iy
integer, intent(in) :: iz
type(material_t), intent(in) :: core_
type(material_t), intent(in) :: wrapper_

Return Value character(len=max_name_length), allocatable

function replace_layers(full_delineation_x, full_delineation_y, iy) result(wrapper_layer_x)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: full_delineation_x(:)
character(len=*), intent(in) :: full_delineation_y(:)
integer :: iy

Return Value character(len=len(full_delineation_x)) (size(full_delineation_x))


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(cylinder_2d), 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(cylinder_2d), 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(cylinder_2d), 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(cylinder_2d), intent(in) :: this
integer, dimension(space_dimension):: indicial_coordinates

Return Value type(block_metadata)

module procedure set_block_metadata module subroutine set_block_metadata(this)

Arguments

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

module procedure set_grid_specification module subroutine set_grid_specification(this, grid_description_file)

Arguments

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