face_object Derived Type

type, public :: face_object

type~~face_object~~InheritsGraph type~face_object face_object vector vector vector->type~face_object normal
Help


Face object class.

Inherited By

type~~face_object~~InheritedByGraph type~face_object face_object type~block_object block_object type~face_object->type~block_object face_i, face_j, face_k type~simulation_object simulation_object type~block_object->type~simulation_object blocks
Help

Source Code


Components

TypeVisibility AttributesNameInitial
real(kind=R8P), public :: area =0._R8P

Area.

type(vector), public :: normal

Normal versor.


Type-Bound Procedures

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

Overload =.

  • private pure subroutine face_assign_face(lhs, rhs)

    Operator =.

    Arguments

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

    Left hand side.

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

    Right hand side.

procedure, public, pass(self) :: compute_metrics

Compute face metrics.

  • private elemental subroutine compute_metrics(self, pt1, pt2, pt3, pt4, signd)

    Compute face metrics.

    Arguments

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

    Face.

    type(vector), intent(in) :: pt1

    Point 1 of face.

    type(vector), intent(in) :: pt2

    Point 2 of face.

    type(vector), intent(in) :: pt3

    Point 3 of face.

    type(vector), intent(in) :: pt4

    Point 4 of face.

    real(kind=R8P), intent(in) :: signd

    Sign of direction along normal coordinate.

procedure, public, pass(self) :: destroy

Destroy face.

  • private elemental subroutine destroy(self)

    Destroy face.

    Arguments

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

    Face object.

procedure, public, pass(lhs) :: face_assign_face

Operator =.

  • private pure subroutine face_assign_face(lhs, rhs)

    Operator =.

    Arguments

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

    Left hand side.

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

    Right hand side.

procedure, public, pass(self) :: initialize

Initialize face.

  • private pure subroutine initialize(self)

    Initialize face.

    Arguments

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

    Face object.

Source Code

type :: face_object
   !< Face object class.
   real(R8P)    :: area=0._R8P !< Area.
   type(vector) :: normal      !< Normal versor.
   contains
      ! public methods
      procedure, pass(self) :: compute_metrics !< Compute face metrics.
      procedure, pass(self) :: destroy         !< Destroy face.
      procedure, pass(self) :: initialize      !< Initialize face.
      ! operators
      generic :: assignment(=) => face_assign_face !< Overload `=`.
      ! private methods
      procedure, pass(lhs) :: face_assign_face !< Operator `=`.
endtype face_object