The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines
oft_mesh_local Module Reference

Detailed Description

Local grid construction.

Authors
George Marklin and Chris Hansen
Date
April 2008 - Present

Data Types

interface  oft_metis_partmesh
 Parition a tetrahedral mesh using METIS. More...
 

Functions/Subroutines

subroutine amesh_edges (self)
 Identify global edges and link to points and cells.
 
subroutine amesh_interactions (self)
 Index point to point, point to edge and edge to edge interactions.
 
subroutine amesh_to_cell (self)
 Locate point, edge, face and cell neighbor cells.
 
subroutine bmesh_areas (self, fn)
 Compute cell and vertex volumes, rectifying negative volume cells.
 
subroutine bmesh_boundary (self)
 Locate and index boundary points, edges, faces and cells.
 
subroutine bmesh_local_init (self, parent, sync_normals)
 Driver for grid construction.
 
subroutine bmesh_neighbors (self)
 Locate point, edge, face and cell neighbor cells.
 
subroutine mesh_boundary (self)
 Locate and index boundary points, edges, faces and cells.
 
subroutine mesh_faces (self)
 Identify global faces and link to points, edges and cells.
 
subroutine mesh_local_init (self)
 Driver for grid construction.
 
subroutine mesh_local_partition (self, tloc_p, tloc_e, tloc_f, tloc_c, nparts)
 Perform local mesh decomposition (METIS)
 
subroutine mesh_neighbors (self)
 Locate point, edge, face and cell neighbor cells.
 
subroutine mesh_volumes (self)
 Compute cell and vertex volumes, rectifying negative volume cells.
 
subroutine sync_face_normals (self)
 Compute cell and vertex volumes, rectifying negative volume cells.
 

Function/Subroutine Documentation

◆ amesh_edges()

subroutine amesh_edges ( class(oft_amesh), intent(inout)  self)

Identify global edges and link to points and cells.

  • le List construction
  • lce List construction
  • klpe, llpe Linkage construction
    Parameters
    [in,out]selfMesh object

◆ amesh_interactions()

subroutine amesh_interactions ( class(oft_amesh), intent(inout)  self)

Index point to point, point to edge and edge to edge interactions.

  • kpp, lpp Linkage construction
  • kpe, lpe Linkage construction
  • kee, lee Linkage construction
    Parameters
    [in,out]selfMesh object

◆ amesh_to_cell()

subroutine amesh_to_cell ( class(oft_amesh), intent(inout)  self)

Locate point, edge, face and cell neighbor cells.

  • lfc List construction
  • lcc List construction
  • kpc, lpc Linkage construction
  • kec, lec Linkage construction
    Parameters
    [in,out]selfMesh object

◆ bmesh_areas()

subroutine bmesh_areas ( class(oft_bmesh), intent(inout)  self,
real(r8), dimension(:,:), intent(in), optional  fn 
)

Compute cell and vertex volumes, rectifying negative volume cells.

Zero volume cells or vertices are also caught for mesh validation.

Parameters
[in,out]selfMesh object
[in]fnUnit normal directions for orientation matching [3,nc]

◆ bmesh_boundary()

subroutine bmesh_boundary ( class(oft_bmesh), intent(inout)  self)

Locate and index boundary points, edges, faces and cells.

  • nbp, nbe, nbf, nbc Counts
  • bp, be, bf, bc Flag construction
  • lbp, lbe, lbf, lbc List construction
    Parameters
    [in,out]selfMesh object

◆ bmesh_local_init()

subroutine bmesh_local_init ( class(oft_bmesh), intent(inout)  self,
class(oft_mesh), intent(in), optional  parent,
logical, intent(in), optional  sync_normals 
)

Driver for grid construction.

Parameters
[in,out]selfMesh object
[in]parentParent volume mesh (if present)
[in]sync_normalsSync unit normal directions between faces?

◆ bmesh_neighbors()

subroutine bmesh_neighbors ( class(oft_bmesh), intent(inout)  self)

Locate point, edge, face and cell neighbor cells.

  • lfc List construction
  • lcc List construction
  • kpc, lpc Linkage construction
  • kec, lec Linkage construction
    Parameters
    [in,out]selfMesh object

◆ mesh_boundary()

subroutine mesh_boundary ( class(oft_mesh), intent(inout)  self)

Locate and index boundary points, edges, faces and cells.

  • nbp, nbe, nbf, nbc Counts
  • bp, be, bf, bc Flag construction
  • lbp, lbe, lbf, lbc List construction
    Parameters
    [in,out]selfMesh object

◆ mesh_faces()

subroutine mesh_faces ( class(oft_mesh), intent(inout)  self)

Identify global faces and link to points, edges and cells.

  • lf List construction
  • lcf List construction
  • lfe List construction
  • klef, llef Linkage construction
    Parameters
    [in,out]selfMesh object

◆ mesh_local_init()

subroutine mesh_local_init ( class(oft_mesh), intent(inout)  self)

Driver for grid construction.

Parameters
[in,out]selfMesh object

◆ mesh_local_partition()

subroutine mesh_local_partition ( class(oft_mesh), intent(inout)  self,
type(oft_1d_int), dimension(:), intent(inout)  tloc_p,
type(oft_1d_int), dimension(:), intent(inout)  tloc_e,
type(oft_1d_int), dimension(:), intent(inout)  tloc_f,
type(oft_1d_int), dimension(:), intent(inout)  tloc_c,
integer(i4), intent(in)  nparts 
)

Perform local mesh decomposition (METIS)

Parameters
[in,out]selfMesh to partition
[in,out]tloc_pPoint partitioning [selfnp]
[in,out]tloc_eEdge partitioning [selfne]
[in,out]tloc_fFace partitioning [selfnf]
[in,out]tloc_cCell partitioning [selfnc]
[in]npartsNumber of partitions

◆ mesh_neighbors()

subroutine mesh_neighbors ( class(oft_mesh), intent(inout)  self)

Locate point, edge, face and cell neighbor cells.

  • lfc List construction
  • lcc List construction
  • kpc, lpc Linkage construction
  • kec, lec Linkage construction
    Parameters
    [in,out]selfMesh object

◆ mesh_volumes()

subroutine mesh_volumes ( class(oft_mesh), intent(inout)  self)

Compute cell and vertex volumes, rectifying negative volume cells.

Zero volume cells or vertices are also caught for mesh validation.

Parameters
[in,out]selfMesh object

◆ sync_face_normals()

subroutine sync_face_normals ( class(oft_bmesh), intent(inout)  self)

Compute cell and vertex volumes, rectifying negative volume cells.

Zero volume cells or vertices are also caught for mesh validation.

Parameters
[in,out]selfMesh object