Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
This module defines a hexagonal mesh. More...
#include "sll_memory.h"
#include "sll_assert.h"
#include "sll_errors.h"
#include "sll_working_precision.h"
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... | |
This module defines a hexagonal mesh.
Definition in file sll_m_hexagonal_meshes.F90.