cell_object Derived Type

type, public :: cell_object

type~~cell_object~~InheritsGraph type~cell_object cell_object vector vector vector->type~cell_object center
Help


Cell object class.

Inherited By

type~~cell_object~~InheritedByGraph type~cell_object cell_object type~block_object block_object type~cell_object->type~block_object cell type~simulation_object simulation_object type~block_object->type~simulation_object blocks
Help

Source Code


Components

TypeVisibility AttributesNameInitial
type(vector), public :: center

Cell center.

real(kind=R8P), public :: volume =0._R8P

Cell volume.


Type-Bound Procedures

generic, public :: assignment(=) => cell_assign_cell

Overload =.

  • private pure subroutine cell_assign_cell(lhs, rhs)

    Operator =.

    Arguments

    Type IntentOptional AttributesName
    class(cell_object), intent(inout) :: lhs

    Left hand side.

    type(cell_object), intent(in) :: rhs

    Right hand side.

procedure, public, pass(lhs) :: cell_assign_cell

Operator =.

  • private pure subroutine cell_assign_cell(lhs, rhs)

    Operator =.

    Arguments

    Type IntentOptional AttributesName
    class(cell_object), intent(inout) :: lhs

    Left hand side.

    type(cell_object), intent(in) :: rhs

    Right hand side.

procedure, public, pass(self) :: destroy

Destroy cell.

  • private elemental subroutine destroy(self)

    Destroy cell.

    Arguments

    Type IntentOptional AttributesName
    class(cell_object), intent(inout) :: self

    Cell object.

procedure, public, pass(self) :: initialize

Initialize cell.

  • private elemental subroutine initialize(self)

    Initialize cell.

    Arguments

    Type IntentOptional AttributesName
    class(cell_object), intent(inout) :: self

    Cell object.

Source Code

type :: cell_object
   !< Cell object class.
   type(vector) :: center        !< Cell center.
   real(R8P)    :: volume=0._R8P !< Cell volume.
   contains
      ! public methods
      procedure, pass(self) :: destroy    !< Destroy cell.
      procedure, pass(self) :: initialize !< Initialize cell.
      ! operators
      generic :: assignment(=) => cell_assign_cell !< Overload `=`.
      ! private methods
      procedure, pass(lhs) :: cell_assign_cell !< Operator `=`.
endtype cell_object