Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Data Types | Modules | Functions/Subroutines
sll_m_hexagonal_meshes.F90 File Reference

This module defines a hexagonal mesh. More...

#include "sll_memory.h"
#include "sll_assert.h"
#include "sll_errors.h"
#include "sll_working_precision.h"
Include dependency graph for sll_m_hexagonal_meshes.F90:

Go to the source code of this file.

Data Types

type  sll_t_hex_mesh_2d
 2d hexagonal mesh More...
 
type  hex_mesh_2d_ptr
 
interface  sll_o_delete
 

Modules

module  sll_m_hexagonal_meshes
 

Functions/Subroutines

type(sll_t_hex_mesh_2d) function, pointer, public sll_f_new_hex_mesh_2d (num_cells, center_x1, center_x2, r11, r12, r21, r22, r31, r32, radius, EXTRA_TABLES)
 Creates and initializes a new hexagonal mesh. More...
 
subroutine, public sll_s_hex_mesh_2d_init (mesh, num_cells, radius, center_x1, center_x2, r1_x1, r1_x2, r2_x1, r2_x2, r3_x1, r3_x2, EXTRA_TABLES)
 initializes a previously allocated 2d hex-mesh More...
 
subroutine init_center_points_triangle (mesh)
 <BRIEF_DESCRIPTION> More...
 
subroutine init_edge_center_triangle (mesh)
 <BRIEF_DESCRIPTION> More...
 
subroutine index_hex_to_global (mesh, k1, k2, index_tab)
 Finds the index in the global array of the point which coordinates where passed as parameter. More...
 
real(kind=f64) function eta1_node_hex (mesh, i, j)
 Computes the first cartesian coordinate of a given point. More...
 
real(kind=f64) function eta2_node_hex (mesh, i, j)
 Computes the second cartesian coordinate of a given point. More...
 
function eta1_cell_hex (mesh, cell_num)
 Computes the first cartesian coordinate of the center of the cell. More...
 
real(kind=f64) function eta2_cell_hex (mesh, cell_num)
 Computes the 2nd cartesian coordinate of the center of the cell. More...
 
real(kind=f64) function eta1_cell_hex_two_arg (mesh, i, j)
 NOT IMPLEMENTED. More...
 
real(kind=f64) function eta2_cell_hex_two_arg (mesh, i, j)
 NOT IMPLEMENTED. More...
 
integer(kind=i32) function, public sll_f_cells_to_origin (k1, k2)
 Computes the number of cell from point to origin. More...
 
subroutine cell_type (mesh, num_ele, val)
 Computes the type of triangle of a given cell. More...
 
function hex_to_global (mesh, k1, k2)
 Transform hexagonal coordinates to global index. More...
 
function global_to_hex1 (mesh, index)
 Gives the 1st hexagonal coordinate to point of global index "index". More...
 
function global_to_hex2 (mesh, index)
 Gives the 2nd hexagonal coordinate to point of global index "index". More...
 
function global_to_x1 (mesh, index)
 Gives the 1st cartesian coordinate to point of global index "index". More...
 
function global_to_x2 (mesh, index)
 Gives the 2nd cartesian coordinate to point of global index "index". More...
 
function, public sll_f_cart_to_hex1 (mesh, x1, x2)
 Transform cartesian coordinates to 1st hexagonal coordinates. More...
 
function, public sll_f_cart_to_hex2 (mesh, x1, x2)
 Transform cartesian coordinates to 2ndst hexagonal coordinates. More...
 
function global_to_local (mesh, ref_index, global)
 Transforms global to local index in respect to a reference index. More...
 
function, public sll_f_local_to_global (mesh, ref_index, local)
 Transforms local index in a given reference local indexation to a global index from the mesh. More...
 
function local_hex_to_global (mesh, k1_ref, k2_ref, local)
 Same as sll_f_local_to_global but taking hexagonal coordinates as reference indexing. More...
 
subroutine, public sll_s_get_cell_vertices_index (x, y, mesh, s1, s2, s3)
 Returns indices of the edges of a given cell. More...
 
subroutine, public sll_s_get_triangle_index (k1, k2, mesh, x, triangle_index)
 Given a mesh point and the first cartesian coordinate of a point (that is not on the mesh) we return the given cell index. More...
 
subroutine get_neighbours (mesh, cell_index, nei_1, nei_2, nei_3)
 returns the indices of the neighbouring cells/triangles More...
 
subroutine, public sll_s_get_edge_index (k1, k2, mesh, x, edge_index1, edge_index2, edge_index3)
 <BRIEF_DESCRIPTION> More...
 
function, public sll_f_change_elements_notation (mesh, i_elmt_old)
 Function that allows to change from the current element notation to one more intuitive. More...
 
recursive subroutine hex_to_aligned_pt (mesh, ind, transf, x_new, y_new)
 Computes the coordinate transformation hex->aligned for a point. More...
 
subroutine hex_to_aligned_elmt (mesh, i_elmt, transf, transf_matA, transf_vecB)
 Computes the coordinate transformation hex->aligned for an element. More...
 
subroutine ref_to_hex_elmt (mesh, i_elmt, transf_matA, transf_vecB)
 Computes the coordinate transformation ref->hex for an element. More...
 
subroutine ref_to_aligned_elmt (mesh, i_elmt, transf, transf_matA, transf_vecB)
 Computes the coordinate transformation ref->aligned for an element. More...
 
subroutine, public sll_s_display_hex_mesh_2d (mesh)
 Displays hexagonal mesh in terminal. More...
 
subroutine, public sll_s_write_caid_files (mesh, transf, spline_deg)
 Writes files for CAID. More...
 
subroutine write_hex_mesh_2d (mesh, name)
 Writes the hexagonal mesh into a given file. More...
 
subroutine write_field_hex_mesh_xmf (mesh, field, name)
 Same as write_field_hex_mesh but output in xmf. More...
 
subroutine write_hex_mesh_mtv (mesh, mtv_file)
 Same as write_hex_mesh but output is mtv file. More...
 
subroutine, public sll_s_delete_hex_mesh_2d (mesh)
 Deletes an hexagonal mesh. More...
 

Detailed Description

This module defines a hexagonal mesh.

Author

particularity of being generated by 3 non-orthogonal vectors.

Definition in file sll_m_hexagonal_meshes.F90.

    Report Typos and Errors