|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
Quadralateral boundary mesh definitions.
Data Types | |
| type | oft_quadmesh |
| Quadralateral surface mesh type. More... | |
Functions/Subroutines | |
| subroutine, public | quad_2d_grid (order, xnodes, inodesp, inodese, inodesf) |
| Needs docs. | |
| pure real(r8) function, dimension(4) | quad_get_bary (flog) |
| Map from orthogonal logical coordinates to barycentric logical coordinates. | |
| subroutine, public | quad_grid_orient (oflag, order, finds) |
| Needs docs. | |
| subroutine | quad_grid_orient_inv (oflag, order, finds) |
| Needs docs. | |
| real(r8) function, dimension(3) | quadmesh_glogphys (self, cell, j, f) |
| Compute the partial derivative of the physical coordinates with a specific logical coordinate. | |
| subroutine | quadmesh_hessian (self, cell, f, g2op, k) |
| Compute the spatial hessian matrices for a given cell at a given logical position. | |
| integer(i4) function | quadmesh_in_cell (self, f, tol) |
| Test if logical position lies within the base cell. | |
| subroutine | quadmesh_invert_face (self, cell) |
| Turn cell "inside out", used to ensure consistent orientations. | |
| subroutine | quadmesh_jacinv (a, c, j) |
| Invert a 2x2 matrix. | |
| subroutine | quadmesh_jacobian (self, cell, f, gop, j) |
| Compute the spatial jacobian matrix and its determinant for a given cell at a given logical position. | |
| subroutine | quadmesh_load (self, filename, ascii) |
| Load trimesh from transfer file. | |
| real(r8) function, dimension(3) | quadmesh_log2phys (self, cell, f) |
| Map from logical to physical coordinates in a given cell. | |
| subroutine | quadmesh_norm (self, cell, f, n) |
| Get unit normal for surface at a given point in a given cell. | |
| subroutine | quadmesh_phys2log (self, cell, pt, f) |
| Map from physical to logical coordinates in a given cell. | |
| subroutine | quadmesh_quad_rule (self, order, quad_rule) |
| Retrieve suitable quadrature rule for triangular mesh with given order. | |
| subroutine | quadmesh_save (self, filename, ascii) |
| Save trimesh from transfer file. | |
| subroutine | quadmesh_set_order (self, order) |
| Set maximum order of spatial mapping. | |
| subroutine | quadmesh_setup (self, cad_type, has_parent) |
Setup mesh with implementation specifics (cell_np, cell_ne, etc.) | |
| subroutine | quadmesh_tang (self, cell, f, t) |
| Get tangent basis set for surface at a given point in a given cell. | |
| subroutine | quadmesh_tessellate (self, rtmp, lctmp, order) |
| Tessellate mesh onto lagrange FE nodes of specified order (usually for plotting) | |
| integer(i4) function, dimension(2) | quadmesh_tessellated_sizes (self) |
| Get sizes of arrays returned by trimesh_tessellate. | |
| subroutine | quadmesh_vlog (self, i, f) |
Get position in logical space of cell vertex i | |
Variables | |
| integer(i4), dimension(2, 4), parameter | inodes1p = RESHAPE((/ 1,1, 2,1, 2,2, 1,2/), (/2,4/)) |
| integer(i4), dimension(2, 4), parameter | inodes2e = RESHAPE((/ 2,1, 3,2, 2,3, 1,2/), (/2,4/)) |
| integer(i4), dimension(2), parameter | inodes2f = (/2,2/) |
| integer(i4), dimension(2, 4), parameter | inodes2p = RESHAPE((/ 1,1, 3,1, 3,3, 1,3/), (/2,4/)) |
| integer(i4), dimension(2, 4), parameter | inodesp_base = RESHAPE((/ 0,0, 1,0, 1,1, 0,1/), (/2,4/)) |
| integer(i4), dimension(4), parameter | quad_bary_map = [-2,1,2,-1] |
| integer(i4), dimension(2, 4), parameter | quad_ed =RESHAPE((/1,2, 2,3, 3,4, 4,1/), (/2,4/)) |
| Quad edge list. | |
| subroutine, public quad_2d_grid | ( | integer(i4), intent(in) | order, |
| real(r8), dimension(:), intent(out), pointer | xnodes, | ||
| integer(i4), dimension(2,4), intent(out) | inodesp, | ||
| integer(i4), dimension(:,:,:), intent(out), pointer | inodese, | ||
| integer(i4), dimension(:,:), intent(out), pointer | inodesf | ||
| ) |
Needs docs.
|
private |
Map from orthogonal logical coordinates to barycentric logical coordinates.
| [in] | flog | Position in orthogonal logical coordinates [2] |
| subroutine, public quad_grid_orient | ( | integer(i4), intent(in) | oflag, |
| integer(i4), intent(in) | order, | ||
| integer(i4), dimension(:), intent(inout) | finds | ||
| ) |
Needs docs.
|
private |
Needs docs.
|
private |
Compute the partial derivative of the physical coordinates with a specific logical coordinate.
Driver function calls mapping specific function depending on mesh order
| [in] | self | Mesh object |
| [in] | cell | Index of cell for evaulation |
| [in] | j | Needs docs |
| [in] | f | Logical coordinate in cell [4] |
|
private |
Compute the spatial hessian matrices for a given cell at a given logical position.
| [in] | self | Mesh object |
| [in] | cell | Index of cell for evaulation |
| [in] | f | Logical coordinate in cell [4] |
| [out] | g2op | Second order Jacobian matrix \( (\frac{\partial x_i}{\partial \lambda_l} \frac{\partial x_j}{\partial \lambda_k})^{-1} \) |
| [out] | k | Gradient correction matrix \( \frac{\partial^2 x_i}{\partial \lambda_k \partial \lambda_l}\) [10,3] |
|
private |
Test if logical position lies within the base cell.
f is inside the base cell? | [in] | self | Mesh object |
| [in] | f | Logical coordinate to evaluate |
| [in] | tol | Tolerance for test |
|
private |
Turn cell "inside out", used to ensure consistent orientations.
| [in,out] | self | Mesh object |
| [in] | cell | Maximum order of spatial mapping |
|
private |
Invert a 2x2 matrix.
| [in] | a | Matrix to invert |
| [out] | c | \( A^{-1} \) |
| [out] | j | |A| |
|
private |
Compute the spatial jacobian matrix and its determinant for a given cell at a given logical position.
| [in] | self | Mesh object |
| [in] | cell | Index of cell for evaulation |
| [in] | f | Logical coordinate in cell [3] |
| [out] | gop | Jacobian matrix \( (\frac{\partial x_i}{\partial \lambda_j})^{-1} \) [3,4] |
| [out] | j | Jacobian of transformation from logical to physical coordinates |
|
private |
Load trimesh from transfer file.
| [in,out] | self | Mesh object |
| [in] | filename | File to load mesh from |
| [in] | ascii | Mesh stored in ASCII format? |
|
private |
Map from logical to physical coordinates in a given cell.
| [in] | self | Mesh object |
| [in] | cell | Index of cell for evaulation |
| [in] | f | Logical coordinate in cell [4] |
|
private |
Get unit normal for surface at a given point in a given cell.
| [in] | self | Mesh object |
| [in] | cell | Cell containing point |
| [in] | f | Logical coordinates in cell |
| [out] | n | Unit normal [3] |
|
private |
Map from physical to logical coordinates in a given cell.
| [in] | self | Mesh object |
| [in] | cell | Index of cell for evaulation |
| [in] | pt | Physical position [3] |
| [out] | f | Logical coordinates within the cell [4] |
|
private |
Retrieve suitable quadrature rule for triangular mesh with given order.
| [in] | self | Mesh object |
| [in] | order | Desired order of quadrature rule |
| [out] | quad_rule | Resulting quadrature rule |
|
private |
Save trimesh from transfer file.
| [in] | self | Mesh object |
| [in] | filename | File to save mesh to |
| [in] | ascii | Save file in ASCII format? |
|
private |
Set maximum order of spatial mapping.
| [in,out] | self | Mesh object |
| [in] | order | Maximum order of spatial mapping |
|
private |
Setup mesh with implementation specifics (cell_np, cell_ne, etc.)
| [in,out] | self | Mesh object |
| [in] | cad_type | CAD/mesh interface ID number |
| [in] | has_parent | Is this mesh the/a surface of a volume mesh? |
|
private |
Get tangent basis set for surface at a given point in a given cell.
| [in] | self | Mesh object |
| [in] | cell | Cell containing point |
| [in] | f | Logical coordinates in cell |
| [out] | t | Unit tangent basis set [3,2] |
|
private |
Tessellate mesh onto lagrange FE nodes of specified order (usually for plotting)
| [in] | self | Mesh object |
| [out] | rtmp | Tessellated point list [3,:] |
| [out] | lctmp | Tessellated cell list [selfncp,:] |
| [in] | order | Tessellation order |
|
private |
Get sizes of arrays returned by trimesh_tessellate.
| [in] | self | Mesh object |
|
private |
Get position in logical space of cell vertex i
| [in] | self | Mesh object |
| [in] | i | Vertex to locate |
| [out] | f | Logical coordinates of vertex i |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
| integer(i4), dimension(2,4), parameter quad_ed =RESHAPE((/1,2, 2,3, 3,4, 4,1/), (/2,4/)) |
Quad edge list.