The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
Tetrahedral mesh structure definitions.
Global Tet variables
Data Types | |
interface | bmesh_hessian |
Compute the spatial hessian matrices for a given cell at a given logical position. More... | |
interface | bmesh_in_cell |
Test if logical position lies within the base cell. More... | |
interface | bmesh_invert_cell |
Turn cell "inside out", used to ensure consistent orientations. More... | |
interface | bmesh_jacobian |
Compute the spatial jacobian matrix and its determinant for a given cell at a given logical position. More... | |
interface | bmesh_load |
Load mesh from transfer file. More... | |
interface | bmesh_log2phys |
Map from logical to physical coordinates in a given cell. More... | |
interface | bmesh_norm |
Get unit normal for surface at a given point in a given cell. More... | |
type | bmesh_parent |
Global mesh information and indicies. More... | |
interface | bmesh_phys2log |
Map from physical to logical coordinates in a given cell. More... | |
interface | bmesh_quad_rule |
Retrieve suitable quadrature rule for mesh with given order. More... | |
interface | bmesh_save |
Save mesh to transfer file. More... | |
interface | bmesh_set_order |
Set maximum order of spatial mapping. More... | |
interface | bmesh_setup |
Setup mesh with implementation specifics (cell_np , cell_ne , etc.) More... | |
interface | bmesh_tang |
Get tangent basis set for surface at a given point in a given cell. More... | |
interface | bmesh_tessellate |
Tessellate mesh onto lagrange FE nodes of specified order (usually for plotting) More... | |
interface | bmesh_tessellated_sizes |
Get variable sizes following tessellation. More... | |
interface | bmesh_vlog |
Get position in logical space of vertex i More... | |
type | ho_mesh |
High order tet geometry information. More... | |
type | mesh_base |
Base mesh information and indicies. More... | |
interface | mesh_ctang |
Compute the curve tangent vector for a given edge on a cell. More... | |
interface | mesh_get_surf_map |
Get mapping between boundary and volume logical coordinates. More... | |
type | mesh_global |
Global mesh information and indicies. More... | |
interface | mesh_hessian |
Compute the spatial hessian matrices for a given cell at a given logical position. More... | |
interface | mesh_in_cell |
Test if logical position lies within the base cell. More... | |
interface | mesh_invert_cell |
Turn cell "inside out", used to ensure consistent orientations. More... | |
interface | mesh_jacobian |
Compute the spatial jacobian matrix and its determinant for a given cell at a given logical position. More... | |
interface | mesh_log2phys |
Map from logical to physical coordinates in a given cell. More... | |
type | mesh_per |
Global mesh information and indicies. More... | |
interface | mesh_phys2log |
Map from physical to logical coordinates in a given cell. More... | |
interface | mesh_quad_rule |
Retrieve suitable quadrature rule for mesh with given order. More... | |
type | mesh_save_index |
MPI global index information (For I/O Only) More... | |
type | mesh_seam |
Processor-processor connectivity information for mesh. More... | |
interface | mesh_set_order |
Set maximum order of spatial mapping. More... | |
interface | mesh_setup |
Setup mesh with implementation specifics (cell_np , cell_ne , etc.) More... | |
interface | mesh_snormal |
Compute the surface normal vector for a given face on a cell. More... | |
interface | mesh_surf_to_vol |
Map between surface and volume logical coordinates. More... | |
interface | mesh_tessellate |
Tessellate mesh onto lagrange FE nodes of specified order (usually for plotting) More... | |
interface | mesh_tessellated_sizes |
Get sizes of arrays returned by mesh_tessellate. More... | |
interface | mesh_vlog |
Get position in logical space of vertex i More... | |
type | oft_amesh |
Abstrac mesh type (surface or volume) More... | |
type | oft_bmesh |
Surface mesh type. More... | |
type | oft_mesh |
Tetrahedral Mesh type. More... | |
Functions/Subroutines | |
subroutine | amesh_destroy (self) |
Needs docs. | |
real(r8) function | bmesh_area (self) |
Estimate mesh area. | |
subroutine | bmesh_destroy (self) |
Needs docs. | |
subroutine, public | bmesh_findcell (self, cell, pt, fout) |
Find physical point in mesh. | |
subroutine | bmesh_save_cell_scalar (self, p, xdmf_obj, path) |
Write scalar cell data out to file. | |
subroutine | bmesh_save_cell_vector (self, bcc, xdmf_obj, path) |
Write vector cell data out to file. | |
subroutine | bmesh_save_vertex_scalar (self, p, xdmf_obj, path) |
Write scalar vertex data out to file. | |
subroutine | bmesh_save_vertex_vector (self, bv, xdmf_obj, path) |
Write vector vertex data out to file. | |
subroutine | bmesh_setup_io (self, xdmf_obj, tess_order) |
Needs docs. | |
logical function, public | cell_is_curved (self, cell) |
Checks if a global mesh cell is curved or not. | |
subroutine | mesh_destroy (self) |
Destroy mesh object. | |
subroutine, public | mesh_findcell (self, cell, pt, fout) |
Find physical point in mesh. | |
subroutine, public | mesh_findcell2 (self, cell, pt, nclosest, fout) |
Find physical point in mesh using robust method. | |
subroutine | mesh_save_cell_scalar (self, p, xdmf_obj, path) |
Write scalar cell data out to file. | |
subroutine | mesh_save_cell_vector (self, bcc, xdmf_obj, path) |
Write vector cell data out to file. | |
subroutine | mesh_save_vertex_scalar (self, p, xdmf_obj, path) |
Write scalar vertex data out to file. | |
subroutine | mesh_save_vertex_vector (self, bv, xdmf_obj, path) |
Write vector vertex data out to file. | |
subroutine | mesh_setup_io (self, xdmf_obj, tess_order) |
Estimate mesh volume. | |
real(r8) function | mesh_volume (self) |
Estimate mesh volume. | |
subroutine, public | oft_init_seam (self, seam_obj) |
Create oft_seam object from mesh connectivity. | |
Variables | |
integer(i4), parameter, private | ho_find_retry =20 |
Number of retry attempts during high order find_cell. | |
logical, parameter | plot_r4_flag =.TRUE. |
|
private |
Needs docs.
|
private |
Needs docs.
subroutine, public bmesh_findcell | ( | class(oft_bmesh), intent(in) | self, |
integer(i4), intent(inout) | cell, | ||
real(r8), dimension(2), intent(in) | pt, | ||
real(r8), dimension(3), intent(out), optional | fout | ||
) |
Find physical point in mesh.
[in] | self | Mesh to search |
[in,out] | cell | Cell containing point on output, guess on input |
[in] | pt | Coordinates to locate [2] |
[out] | fout | Logical coordinates of point in cell (optional) |
|
private |
Write scalar cell data out to file.
[in] | p | Cell data [nc] |
[in] | xdmf_obj | XDMF save object |
[in] | path | Name of the output field |
|
private |
Write vector cell data out to file.
[in] | bcc | Cell data [3,nc] |
[in] | xdmf_obj | XDMF save object |
[in] | path | Name of the output field |
|
private |
Write scalar vertex data out to file.
[in] | p | Vertex data [np] |
[in] | xdmf_obj | XDMF save object |
[in] | path | Name of the output field |
|
private |
Write vector vertex data out to file.
[in] | bv | Vertex data [3,np] |
[in] | xdmf_obj | XDMF save object |
[in] | path | Name of the output field |
|
private |
Needs docs.
[in,out] | self | Needs docs |
[in,out] | xdmf_obj | Needs docs |
[in] | tess_order | Needs docs |
logical function, public cell_is_curved | ( | class(oft_amesh), intent(in) | self, |
integer(i4), intent(in) | cell | ||
) |
Checks if a global mesh cell is curved or not.
[in] | self | Mesh containing cell |
[in] | cell | Index of cell to check |
|
private |
Destroy mesh object.
subroutine, public mesh_findcell | ( | class(oft_mesh), intent(inout), target | self, |
integer(i4), intent(inout) | cell, | ||
real(r8), dimension(3), intent(in) | pt, | ||
real(r8), dimension(4), intent(out), optional | fout | ||
) |
Find physical point in mesh.
For high order grids an approximate guess is first computed using only the linear portion of the mesh representation. This guess is then refined using the full mesh representation and the tetmesh_phys2logho subroutine. The maximum number of cell searches during this non-linear phase is controlled by the module variable ho_find_retry. For more information see the documentation for tetmesh_phys2logho
[in,out] | self | Mesh to search |
[in,out] | cell | Cell containing point on output, guess on input |
[in] | pt | Coordinates to locate [3] |
[out] | fout | Logical coordinates of point in cell (optional) |
subroutine, public mesh_findcell2 | ( | class(oft_mesh), intent(inout), target | self, |
integer(i4), intent(inout) | cell, | ||
real(r8), dimension(3), intent(in) | pt, | ||
integer(i4), intent(in) | nclosest, | ||
real(r8), dimension(4), intent(out), optional | fout | ||
) |
Find physical point in mesh using robust method.
First, a collection of the nclosest
mesh vertices is found. Then the surrounding cells are searched for the specified point. If the point is not found the standard tetmesh_findcell subroutine is used as a fallback.
[in,out] | self | Mesh to search |
[in,out] | cell | Cell containing point on output, guess on input |
[in] | pt | Coordinates to locate [3] |
[in] | nclosest | Number of candidate vertices to use for search |
[out] | fout | Logical coordinates of point in cell (optional) |
|
private |
Write scalar cell data out to file.
[in] | p | Cell data [nc] |
[in] | xdmf_obj | XDMF save object |
[in] | path | Name of the output field |
|
private |
Write vector cell data out to file.
[in] | bcc | Cell data [3,nc] |
[in] | xdmf_obj | XDMF save object |
[in] | path | Name of the output field |
|
private |
Write scalar vertex data out to file.
[in] | p | Vertex data [np] |
[in] | xdmf_obj | XDMF save object |
[in] | path | Name of the output field |
|
private |
Write vector vertex data out to file.
[in] | bv | Vertex data [3,np] |
[in] | xdmf_obj | XDMF save object |
[in] | path | Name of the output field |
|
private |
Estimate mesh volume.
[in,out] | self | Needs docs |
[in,out] | xdmf_obj | Needs docs |
[in] | tess_order | Needs docs |
Estimate mesh volume.
[in] | self | Needs docs |
subroutine, public oft_init_seam | ( | class(oft_amesh), intent(in) | self, |
type(oft_seam), intent(out) | seam_obj | ||
) |
Create oft_seam object from mesh connectivity.
[in] | self | Mesh containing cell |
[out] | seam_obj | Resulting seam object |
|
private |
Number of retry attempts during high order find_cell.
|
private |