Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
hex::hex_t Type Referenceabstract

Hexahedron element. More...

Inheritance diagram for hex::hex_t:
Collaboration diagram for hex::hex_t:

Public Member Functions

procedure, pass(thisinit (this, id, p1, p2, p3, p4, p5, p6, p7, p8)
 Create a hexahedron element based upon eight points.
 
procedure, pass(thisfacet_id (this, t, side)
 Return the facet id for face i as a 4-tuple t.
 
procedure, pass(thisfacet_order (this, t, side)
 Return the ordered points for face i as a 4-tuple t.
 
procedure, pass(thisdiameter (this)
 Compute the diameter of a hexahedron element.
 
procedure, pass(thiscentroid (this)
 Compute the centroid of a hexahedron element.
 
procedure, pass(thisedge_id (this, t, side)
 Return the edge id for an edge i as a 2-tuple t.
 
procedure, pass(thisequal (this, other)
 Check if two hex elements are equal.
 
generic operator (this, other)
 Check if two hex elements are equal.
 
procedure, pass(thiselement (this, id, gdim, npts)
 Create an element with npts.
 
procedure, pass(thisfree (this)
 Deallocate an element.
 
procedure, pass(thisgdim (this)
 Get the geometric dimension of an element.
 
procedure, pass(thisnpts (this)
 Get the number of points in an element.
 
procedure, pass(thisp (this, i)
 Return a pointer to point i of the element.
 
procedure, pass(thisn_points (this)
 Get the number of points in an element.
 
procedure, non_overridable, pass element_point (this, i)
 Return a pointer to point i of the element.
 
procedure(element_equal), deferred, pass equal (this, other)
 
procedure(element_diameter), deferred, pass diameter (this)
 
procedure(element_centroid), deferred, pass centroid (this)
 
procedure(element_facet_id), deferred, pass facet_id (this, t, side)
 
procedure(element_facet_order), deferred, pass facet_order (this, t, side)
 
procedure, pass(thisid (this)
 Return the index of an entity.
 
procedure, pass(thisset_id (this, id)
 Update the index of an entity.
 

Public Attributes

type(point_ptr), dimension(:), allocatable pts
 Points of an element.
 

Private Attributes

integer, private gdim_
 Geometric dimension.
 
integer, private npts_
 number of points
 
integer, private id_ = -1
 Entity index.
 

Detailed Description

3D element composed of 8 points

 Node numbering (NEKTON symmetric notation)

          3+-----+4    ^ s
          /     /|     |
         /     / |     |
       7+-----+8 +2    +----> r
        |     | /     /
        |     |/     /
       5+-----+6    t

Definition at line 63 of file hex.f90.

Member Function/Subroutine Documentation

◆ centroid() [1/2]

procedure(element_centroid), deferred, pass element::element_t::centroid ( class(element_t), intent(in this)
pure virtualinherited

Definition at line 58 of file element.f90.

◆ centroid() [2/2]

procedure, pass(this) hex::hex_t::centroid ( class(hex_t), intent(in this)

Definition at line 69 of file hex.f90.

◆ diameter() [1/2]

procedure(element_diameter), deferred, pass element::element_t::diameter ( class(element_t), intent(in this)
pure virtualinherited

Definition at line 57 of file element.f90.

◆ diameter() [2/2]

procedure, pass(this) hex::hex_t::diameter ( class(hex_t), intent(in this)

Definition at line 68 of file hex.f90.

◆ edge_id()

procedure, pass(this) hex::hex_t::edge_id ( class(hex_t), intent(in this,
class(tuple_t), intent(inout t,
integer, intent(in side 
)

Definition at line 70 of file hex.f90.

◆ element()

procedure, pass(this) element::element_t::element ( class(element_t), intent(inout this,
integer, intent(inout id,
integer, intent(in gdim,
integer, intent(in npts 
)
inherited

Definition at line 49 of file element.f90.

◆ element_point()

procedure, non_overridable, pass element::element_t::element_point ( class(element_t), intent(in this,
integer, intent(in i 
)
finalinherited

Definition at line 55 of file element.f90.

◆ equal() [1/2]

procedure(element_equal), deferred, pass element::element_t::equal ( class(element_t), intent(in this,
class(element_t), intent(in other 
)
pure virtualinherited

Definition at line 56 of file element.f90.

◆ equal() [2/2]

procedure, pass(this) hex::hex_t::equal ( class(hex_t), intent(in this,
class(element_t), intent(in other 
)
Note
Based on coordinates not global ids

Definition at line 71 of file hex.f90.

◆ facet_id() [1/2]

procedure(element_facet_id), deferred, pass element::element_t::facet_id ( class(element_t), intent(in this,
class(tuple_t), intent(inout t,
integer, intent(in side 
)
pure virtualinherited

Definition at line 59 of file element.f90.

◆ facet_id() [2/2]

procedure, pass(this) hex::hex_t::facet_id ( class(hex_t), intent(in this,
class(tuple_t), intent(inout t,
integer, intent(in side 
)

Definition at line 66 of file hex.f90.

◆ facet_order() [1/2]

procedure(element_facet_order), deferred, pass element::element_t::facet_order ( class(element_t), intent(in this,
class(tuple_t), intent(inout t,
integer, intent(in side 
)
pure virtualinherited

Definition at line 60 of file element.f90.

◆ facet_order() [2/2]

procedure, pass(this) hex::hex_t::facet_order ( class(hex_t), intent(in this,
class(tuple_t), intent(inout t,
integer, intent(in side 
)

Definition at line 67 of file hex.f90.

◆ free()

procedure, pass(this) element::element_t::free ( class(element_t), intent(inout this)
inherited

Definition at line 50 of file element.f90.

◆ gdim()

procedure, pass(this) element::element_t::gdim ( class(element_t), intent(in this)
inherited

Definition at line 51 of file element.f90.

◆ id()

procedure, pass(this) entity::entity_t::id ( class(entity_t), intent(in this)
inherited

Definition at line 41 of file entity.f90.

◆ init()

procedure, pass(this) hex::hex_t::init ( class(hex_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,
type(point_t), intent(in), target  p5,
type(point_t), intent(in), target  p6,
type(point_t), intent(in), target  p7,
type(point_t), intent(in), target  p8 
)

Definition at line 65 of file hex.f90.

◆ n_points()

procedure, pass(this) element::element_t::n_points ( class(element_t), intent(in this)
inherited

Definition at line 54 of file element.f90.

◆ npts()

procedure, pass(this) element::element_t::npts ( class(element_t), intent(in this)
inherited

Definition at line 52 of file element.f90.

◆ operator()

generic hex::hex_t::operator ( class(hex_t), intent(in this,
class(element_t), intent(in other 
)
Note
Based on coordinates not global ids

Definition at line 72 of file hex.f90.

◆ p()

procedure, pass(this) element::element_t::p ( class(element_t), intent(in this,
integer, intent(in i 
)
inherited

Definition at line 53 of file element.f90.

◆ set_id()

procedure, pass(this) entity::entity_t::set_id ( class(entity_t), intent(inout this,
integer, intent(in id 
)
inherited

Definition at line 42 of file entity.f90.

Member Data Documentation

◆ gdim_

integer, private element::element_t::gdim_
privateinherited

Definition at line 45 of file element.f90.

◆ id_

integer, private entity::entity_t::id_ = -1
privateinherited

Definition at line 39 of file entity.f90.

◆ npts_

integer, private element::element_t::npts_
privateinherited

Definition at line 46 of file element.f90.

◆ pts

type(point_ptr), dimension(:), allocatable element::element_t::pts
inherited

Definition at line 47 of file element.f90.


The documentation for this type was generated from the following file: