Neko  0.9.0
A portable framework for high-order spectral element flow simulations
tet Module Reference

Defines a tetrahedral element.

Data Types

type  tet_t
 Tetrahedral element. More...
 

Functions/Subroutines

subroutine tet_init (this, id, p1, p2, p3, p4)
 Create a tetrahedral element based upon four points. More...
 
subroutine tet_facet_id (this, t, side)
 Return the facet id for face i as a 3-tuple t. More...
 
subroutine tet_facet_order (this, t, side)
 Return the ordered points for face i as a 3-tuple t. More...
 
subroutine tet_edge_id (this, t, side)
 Return the edge id for an edge i as a 2-tuple t. More...
 
real(kind=dp) function tet_diameter (this)
 Compute the diameter of a tetrahedral element. More...
 
type(point_t) function tet_centroid (this)
 Compute the centroid of a tetrahedral element. More...
 
pure logical function tet_equal (this, other)
 Check if two tet elements are equal. More...
 

Variables

integer, parameter, public neko_tet_npts = 4
 Number of points. More...
 
integer, parameter, public neko_tet_nfcs = 4
 Number of faces. More...
 
integer, parameter, public neko_tet_neds = 6
 Number of edges. More...
 
integer, parameter, public neko_tet_gdim = 3
 Geometric dimension. More...
 
integer, dimension(3, 4), parameter face_nodes = reshape((/1,3,4, 2,3,4, 1,2,4, 1,2,3/), (/3,4/))
 Face node ids. More...
 
integer, dimension(2, 6), parameter edge_nodes = reshape((/1,2, 1,3, 2,3, 3,4, 1,4, 2,4/), (/2,6/))
 Edge node ids. More...
 

Function/Subroutine Documentation

◆ tet_centroid()

type(point_t) function tet::tet_centroid ( class(tet_t), intent(in)  this)
private

Definition at line 248 of file tet.f90.

◆ tet_diameter()

real(kind=dp) function tet::tet_diameter ( class(tet_t), intent(in)  this)
private

Definition at line 209 of file tet.f90.

◆ tet_edge_id()

subroutine tet::tet_edge_id ( class(tet_t), intent(in)  this,
class(tuple_t), intent(inout)  t,
integer, intent(in)  side 
)
private

Definition at line 187 of file tet.f90.

◆ tet_equal()

pure logical function tet::tet_equal ( class(tet_t), intent(in)  this,
class(element_t), intent(in)  other 
)
private
Note
Based on coordinates not global ids

Definition at line 268 of file tet.f90.

◆ tet_facet_id()

subroutine tet::tet_facet_id ( class(tet_t), intent(in)  this,
class(tuple_t), intent(inout)  t,
integer, intent(in)  side 
)
private

Definition at line 140 of file tet.f90.

◆ tet_facet_order()

subroutine tet::tet_facet_order ( class(tet_t), intent(in)  this,
class(tuple_t), intent(inout)  t,
integer, intent(in)  side 
)
private

Definition at line 168 of file tet.f90.

◆ tet_init()

subroutine tet::tet_init ( class(tet_t), intent(inout)  this,
integer, intent(inout)  id,
type(point_t), intent(in), target  p1,
type(point_t), intent(in), target  p2,
type(point_t), intent(in), target  p3,
type(point_t), intent(in), target  p4 
)
private

Definition at line 125 of file tet.f90.

Variable Documentation

◆ edge_nodes

integer, dimension(2, 6), parameter tet::edge_nodes = reshape((/1,2, 1,3, 2,3, 3,4, 1,4, 2,4/), (/2,6/))
private
 Edge numbering

      2   +   3       ^ s
       \ /|\ /        |
        / | \         |
       /  |  \        |
      +.1.|...+       +----> r
       \  4  /       /
   5--> \ | / <--6  /
         \|/       /
          +       t

Definition at line 114 of file tet.f90.

◆ face_nodes

integer, dimension(3, 4), parameter tet::face_nodes = reshape((/1,3,4, 2,3,4, 1,2,4, 1,2,3/), (/3,4/))
 Face numbering

          +   4       ^ s
         /|\ /        |
        / | \         |
       / 1|2 \        |
      +...|...+       +----> r
       \  |3 /       /
        \ | /       /
         \|/       /
          +       t
Note
Local node numbering (points)

Definition at line 92 of file tet.f90.

◆ neko_tet_gdim

integer, parameter, public tet::neko_tet_gdim = 3

Definition at line 45 of file tet.f90.

◆ neko_tet_neds

integer, parameter, public tet::neko_tet_neds = 6

Definition at line 44 of file tet.f90.

◆ neko_tet_nfcs

integer, parameter, public tet::neko_tet_nfcs = 4

Definition at line 43 of file tet.f90.

◆ neko_tet_npts

integer, parameter, public tet::neko_tet_npts = 4

Definition at line 42 of file tet.f90.