type_domain Derived Type

type, public :: type_domain


Inherits

type~~type_domain~~InheritsGraph type~type_domain type_domain type~holder_elements holder_elements type~type_domain->type~holder_elements elements type~holder_sides holder_sides type~type_domain->type~holder_sides sides type~type_coloring type_coloring type~type_domain->type~type_coloring colors type~type_reordering type_reordering type~type_domain->type~type_reordering reordering type~abst_element abst_element type~holder_elements->type~abst_element e type~abst_side abst_side type~holder_sides->type~abst_side s type~type_colored_info type_colored_info type~type_coloring->type~type_colored_info colored type~type_dp_pointer type_dp_pointer type~abst_element->type~type_dp_pointer x, y, z type~abst_side->type~type_dp_pointer x, y, z

Inherited by

type~~type_domain~~InheritedByGraph type~type_domain type_domain type~type_ftdss type_ftdss type~type_ftdss->type~type_domain domain

Components

Type Visibility Attributes Name Initial
type(type_coloring), public :: colors
integer(kind=int32), private :: computaion_dimension
type(holder_elements), public, allocatable :: elements(:)
integer(kind=int32), private :: num_elements
integer(kind=int32), private :: num_materials
integer(kind=int32), private :: num_nodes
integer(kind=int32), private :: num_sides
integer(kind=int32), private :: num_volumes
type(type_reordering), public :: reordering
type(holder_sides), public, allocatable :: sides(:)

Type-Bound Procedures

procedure, public, pass(self) :: apply_reordering

  • private subroutine apply_reordering(self)

    TBI: Handle 3D reordering if necessary

    Arguments

    Type IntentOptional Attributes Name
    class(type_domain), intent(inout) :: self

procedure, public, pass(self) :: get_computation_dimension

  • private function get_computation_dimension(self) result(computaion_dimension)

    Arguments

    Type IntentOptional Attributes Name
    class(type_domain), intent(in) :: self

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_num_elements

  • private function get_num_elements(self) result(num_elements)

    Arguments

    Type IntentOptional Attributes Name
    class(type_domain), intent(in) :: self

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_num_materials

  • private function get_num_materials(self) result(num_materials)

    Arguments

    Type IntentOptional Attributes Name
    class(type_domain), intent(in) :: self

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_num_nodes

  • private function get_num_nodes(self) result(num_nodea)

    Arguments

    Type IntentOptional Attributes Name
    class(type_domain), intent(in) :: self

    Return Value integer(kind=int32)

procedure, public, pass(self) :: get_num_sides

  • private function get_num_sides(self) result(num_sides)

    Arguments

    Type IntentOptional Attributes Name
    class(type_domain), intent(in) :: self

    Return Value integer(kind=int32)

procedure, public, pass(self) :: initialize => initialize_type_domain

  • private subroutine initialize_type_domain(self, input, Coordinate, ierr)

    TBI

    Arguments

    Type IntentOptional Attributes Name
    class(type_domain), intent(inout) :: self
    type(type_input), intent(in) :: input
    type(type_dp_3d), intent(inout), pointer :: Coordinate
    integer(kind=int32), intent(inout) :: ierr

Source Code

    type :: type_domain
        integer(int32), private :: num_sides
        integer(int32), private :: num_elements
        integer(int32), private :: num_volumes
        integer(int32), private :: num_nodes
        integer(int32), private :: num_materials
        type(holder_elements), allocatable :: elements(:)
        type(holder_sides), allocatable :: sides(:)

        type(type_coloring) :: colors
        type(type_reordering) :: reordering

        integer(int32), private :: computaion_dimension
        ! ...
    contains
        procedure, pass(self) :: initialize => initialize_type_domain
        procedure, pass(self) :: apply_reordering

        procedure, pass(self) :: get_num_elements
        procedure, pass(self) :: get_num_sides
        procedure, pass(self) :: get_num_nodes
        procedure, pass(self) :: get_num_materials
        procedure, pass(self) :: get_computation_dimension
    end type type_domain