face_t Derived Type

type, public :: face_t

Mesh face data structure. Faces are the primary entities for flux calculation. Each face is associated with an 'owner' and potentially a 'neighbor' cell.


Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: area = zero
real(kind=rk), public :: center(3) = zero
integer, public :: id = 0
integer, public :: neighbor = 0
real(kind=rk), public :: normal(3) = zero
integer, public :: owner = 0
integer, public :: patch = 0
integer, public :: periodic_face = 0
integer, public :: periodic_neighbor = 0

Source Code

   type :: face_t
      integer :: id = 0                !< Unique global face index.
      integer :: owner = 0             !< ID of the owner cell (always exists).
      integer :: neighbor = 0          !< ID of the neighbor cell (0 for boundary faces).
      integer :: patch = 0             !< ID of the associated boundary patch (0 for internal faces).
      integer :: periodic_face = 0     !< ID of the matching face on the opposite periodic boundary.
      integer :: periodic_neighbor = 0 !< ID of the neighbor cell accessed through periodic matching.
      real(rk) :: normal(3) = zero     !< Unit normal vector pointing outward from the owner cell.
      real(rk) :: area = zero          !< Surface area of the face [m^2].
      real(rk) :: center(3) = zero     !< Coordinates (x, y, z) of the face centroid.
   end type face_t