Neko  0.9.99
A portable framework for high-order spectral element flow simulations
tri Module Reference

Defines a triangular element.

Data Types

type  tri_t
 Triangular element. More...
 

Functions/Subroutines

subroutine tri_init (this, id, p1, p2, p3)
 Create a trinagular element based upon three points. More...
 
subroutine tri_facet_id (this, t, side)
 Return the edge id for face i as a 2-tuple t. More...
 
subroutine tri_facet_order (this, t, side)
 Return the ordered edge for face i as a 2-tuple t. More...
 
real(kind=dp) function tri_diameter (this)
 Compute the diameter of a triangular element. More...
 
type(point_t) function tri_centroid (this)
 Compute the centroid of a triangular element. More...
 
pure logical function tri_equal (this, other)
 Check if two triangle elements are equal. More...
 

Variables

integer, parameter, public neko_tri_npts = 3
 Number of points. More...
 
integer, parameter, public neko_tri_neds = 3
 Number of edges. More...
 
integer, parameter, public neko_tri_gdim = 2
 Geometric dimension. More...
 
integer, dimension(2, 3), parameter edge_nodes = reshape((/1,3, 2,3, 1,2 /), (/2,3/))
 Edge node ids. More...
 

Function/Subroutine Documentation

◆ tri_centroid()

type(point_t) function tri::tri_centroid ( class(tri_t), intent(in)  this)
private

Definition at line 171 of file tri.f90.

◆ tri_diameter()

real(kind=dp) function tri::tri_diameter ( class(tri_t), intent(in)  this)
private

Definition at line 146 of file tri.f90.

◆ tri_equal()

pure logical function tri::tri_equal ( class(tri_t), intent(in)  this,
class(element_t), intent(in)  other 
)
private
Note
Based on coordinates not global ids

Definition at line 189 of file tri.f90.

◆ tri_facet_id()

subroutine tri::tri_facet_id ( class(tri_t), intent(in)  this,
class(tuple_t), intent(inout)  t,
integer, intent(in)  side 
)
private
Todo:
sort this

Definition at line 108 of file tri.f90.

◆ tri_facet_order()

subroutine tri::tri_facet_order ( class(tri_t), intent(in)  this,
class(tuple_t), intent(inout)  t,
integer, intent(in)  side 
)
private

Definition at line 129 of file tri.f90.

◆ tri_init()

subroutine tri::tri_init ( class(tri_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 
)
private

Definition at line 93 of file tri.f90.

Variable Documentation

◆ edge_nodes

integer, dimension(2, 3), parameter tri::edge_nodes = reshape((/1,3, 2,3, 1,2 /), (/2,3/))
 Edge numbering

     +
     |\
     | \       ^ s
   1 |  \ 2    |
     |   \     |
     +----+    +---> r
       3

Definition at line 85 of file tri.f90.

◆ neko_tri_gdim

integer, parameter, public tri::neko_tri_gdim = 2

Definition at line 44 of file tri.f90.

◆ neko_tri_neds

integer, parameter, public tri::neko_tri_neds = 3

Definition at line 43 of file tri.f90.

◆ neko_tri_npts

integer, parameter, public tri::neko_tri_npts = 3

Definition at line 42 of file tri.f90.