Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Public Member Functions | Private Member Functions | Private Attributes | List of all members
sll_t_hex_mesh_2d Type Reference

2d hexagonal mesh More...

Inheritance diagram for sll_t_hex_mesh_2d:
Collaboration diagram for sll_t_hex_mesh_2d:

Public Member Functions

generic, public eta1_cell => eta1_cell_one_arg, eta1_cell_two_arg
 
generic, public eta2_cell => eta2_cell_one_arg, eta2_cell_two_arg
 

Private Member Functions

procedure, pass(mesh) eta1_node => eta1_node_hex
 
procedure, pass(mesh) eta2_node => eta2_node_hex
 
procedure, pass(mesh) eta1_cell_one_arg => eta1_cell_hex
 
procedure, pass(mesh) eta1_cell_two_arg => eta1_cell_hex_two_arg
 
procedure, pass(mesh) eta2_cell_one_arg => eta2_cell_hex
 
procedure, pass(mesh) eta2_cell_two_arg => eta2_cell_hex_two_arg
 
procedure, pass(mesh) index_hex_to_global
 
procedure, pass(mesh) hex_to_global
 
procedure, pass(mesh) global_to_hex1
 
procedure, pass(mesh) global_to_hex2
 
procedure, pass(mesh) global_to_x1
 
procedure, pass(mesh) global_to_x2
 
procedure, pass(mesh) sll_f_cart_to_hex1
 
procedure, pass(mesh) sll_f_cart_to_hex2
 
procedure, pass(mesh) global_to_local
 
procedure, pass(mesh) sll_f_local_to_global
 
procedure, pass(mesh) local_hex_to_global
 
procedure, pass(mesh) cell_type
 
procedure, pass(mesh) write_hex_mesh_2d
 
procedure, pass(mesh) write_hex_mesh_mtv
 
procedure, pass(mesh) get_neighbours
 
procedure, pass(mesh) hex_to_aligned_pt
 
procedure, pass(mesh) hex_to_aligned_elmt
 
procedure, pass(mesh) ref_to_hex_elmt
 
procedure, pass(mesh) ref_to_aligned_elmt
 
procedure, pass(mesh) display => sll_s_display_hex_mesh_2d
 
procedure, pass(mesh) write_field_hex_mesh_xmf
 
procedure, pass(mesh) delete => sll_s_delete_hex_mesh_2d
 

Private Attributes

integer(kind=i32) num_cells
 number of cells in any direction from origin More...
 
integer(kind=i32) num_pts_tot
 number of total points More...
 
integer(kind=i32) num_triangles
 number of triangles More...
 
integer(kind=i32) num_edges
 number of edges More...
 
real(kind=f64) radius
 distance between origin and external vertex More...
 
real(kind=f64) center_x1
 x1 cartesian coordinate of the origin More...
 
real(kind=f64) center_x2
 x2 cartesian coordinate of the origin More...
 
real(kind=f64) delta
 cell spacing More...
 
real(kind=f64) r1_x1
 first coordinate of first generator vector More...
 
real(kind=f64) r1_x2
 second coordinate of first generator vector More...
 
real(kind=f64) r2_x1
 first coordinate of second generator vector More...
 
real(kind=f64) r2_x2
 second coordinate of second generator vector More...
 
real(kind=f64) r3_x1
 first coordinate of third generator vector More...
 
real(kind=f64) r3_x2
 second coordinate of third generator vector More...
 
real(kind=f64), dimension(:, :), pointer cartesian_coord
 (2,1:num_pts_tot) More...
 
integer(kind=i32), dimension(:, :), pointer hex_coord
 (1:2,1:num_pts_tot) More...
 
integer(kind=i32), dimension(:), pointer global_indices
 (1:num_pts_tot) More...
 

Detailed Description

2d hexagonal mesh

Definition at line 63 of file sll_m_hexagonal_meshes.F90.

Member Function/Subroutine Documentation

◆ cell_type()

procedure, pass(mesh) cell_type
private

Definition at line 123 of file sll_m_hexagonal_meshes.F90.

◆ delete()

procedure, pass(mesh) delete
private

Definition at line 133 of file sll_m_hexagonal_meshes.F90.

◆ display()

procedure, pass(mesh) display
private

Definition at line 131 of file sll_m_hexagonal_meshes.F90.

◆ eta1_cell()

generic, public eta1_cell
inherited

Definition at line 36 of file sll_m_meshes_base.F90.

◆ eta1_cell_one_arg()

procedure, pass(mesh) eta1_cell_one_arg
private

Definition at line 108 of file sll_m_hexagonal_meshes.F90.

◆ eta1_cell_two_arg()

procedure, pass(mesh) eta1_cell_two_arg
private

Definition at line 109 of file sll_m_hexagonal_meshes.F90.

◆ eta1_node()

procedure, pass(mesh) eta1_node
private

Definition at line 106 of file sll_m_hexagonal_meshes.F90.

◆ eta2_cell()

generic, public eta2_cell
inherited

Definition at line 38 of file sll_m_meshes_base.F90.

◆ eta2_cell_one_arg()

procedure, pass(mesh) eta2_cell_one_arg
private

Definition at line 110 of file sll_m_hexagonal_meshes.F90.

◆ eta2_cell_two_arg()

procedure, pass(mesh) eta2_cell_two_arg
private

Definition at line 111 of file sll_m_hexagonal_meshes.F90.

◆ eta2_node()

procedure, pass(mesh) eta2_node
private

Definition at line 107 of file sll_m_hexagonal_meshes.F90.

◆ get_neighbours()

procedure, pass(mesh) get_neighbours
private

Definition at line 126 of file sll_m_hexagonal_meshes.F90.

◆ global_to_hex1()

procedure, pass(mesh) global_to_hex1
private

Definition at line 114 of file sll_m_hexagonal_meshes.F90.

◆ global_to_hex2()

procedure, pass(mesh) global_to_hex2
private

Definition at line 115 of file sll_m_hexagonal_meshes.F90.

◆ global_to_local()

procedure, pass(mesh) global_to_local
private

Definition at line 120 of file sll_m_hexagonal_meshes.F90.

◆ global_to_x1()

procedure, pass(mesh) global_to_x1
private

Definition at line 116 of file sll_m_hexagonal_meshes.F90.

◆ global_to_x2()

procedure, pass(mesh) global_to_x2
private

Definition at line 117 of file sll_m_hexagonal_meshes.F90.

◆ hex_to_aligned_elmt()

procedure, pass(mesh) hex_to_aligned_elmt
private

Definition at line 128 of file sll_m_hexagonal_meshes.F90.

◆ hex_to_aligned_pt()

procedure, pass(mesh) hex_to_aligned_pt
private

Definition at line 127 of file sll_m_hexagonal_meshes.F90.

◆ hex_to_global()

procedure, pass(mesh) hex_to_global
private

Definition at line 113 of file sll_m_hexagonal_meshes.F90.

◆ index_hex_to_global()

procedure, pass(mesh) index_hex_to_global
private

Definition at line 112 of file sll_m_hexagonal_meshes.F90.

◆ local_hex_to_global()

procedure, pass(mesh) local_hex_to_global
private

Definition at line 122 of file sll_m_hexagonal_meshes.F90.

◆ ref_to_aligned_elmt()

procedure, pass(mesh) ref_to_aligned_elmt
private

Definition at line 130 of file sll_m_hexagonal_meshes.F90.

◆ ref_to_hex_elmt()

procedure, pass(mesh) ref_to_hex_elmt
private

Definition at line 129 of file sll_m_hexagonal_meshes.F90.

◆ sll_f_cart_to_hex1()

procedure, pass(mesh) sll_f_cart_to_hex1
private

Definition at line 118 of file sll_m_hexagonal_meshes.F90.

◆ sll_f_cart_to_hex2()

procedure, pass(mesh) sll_f_cart_to_hex2
private

Definition at line 119 of file sll_m_hexagonal_meshes.F90.

◆ sll_f_local_to_global()

procedure, pass(mesh) sll_f_local_to_global
private

Definition at line 121 of file sll_m_hexagonal_meshes.F90.

◆ write_field_hex_mesh_xmf()

procedure, pass(mesh) write_field_hex_mesh_xmf
private

Definition at line 132 of file sll_m_hexagonal_meshes.F90.

◆ write_hex_mesh_2d()

procedure, pass(mesh) write_hex_mesh_2d
private

Definition at line 124 of file sll_m_hexagonal_meshes.F90.

◆ write_hex_mesh_mtv()

procedure, pass(mesh) write_hex_mesh_mtv
private

Definition at line 125 of file sll_m_hexagonal_meshes.F90.

Member Data Documentation

◆ cartesian_coord

real(kind=f64), dimension(:, :), pointer cartesian_coord
private

(2,1:num_pts_tot)

Definition at line 83 of file sll_m_hexagonal_meshes.F90.

◆ center_x1

real(kind=f64) center_x1
private

x1 cartesian coordinate of the origin

Definition at line 72 of file sll_m_hexagonal_meshes.F90.

◆ center_x2

real(kind=f64) center_x2
private

x2 cartesian coordinate of the origin

Definition at line 73 of file sll_m_hexagonal_meshes.F90.

◆ delta

real(kind=f64) delta
private

cell spacing

Definition at line 74 of file sll_m_hexagonal_meshes.F90.

◆ global_indices

integer(kind=i32), dimension(:), pointer global_indices
private

(1:num_pts_tot)

Definition at line 88 of file sll_m_hexagonal_meshes.F90.

◆ hex_coord

integer(kind=i32), dimension(:, :), pointer hex_coord
private

(1:2,1:num_pts_tot)

Definition at line 85 of file sll_m_hexagonal_meshes.F90.

◆ num_cells

integer(kind=i32) num_cells
private

number of cells in any direction from origin

Definition at line 67 of file sll_m_hexagonal_meshes.F90.

◆ num_edges

integer(kind=i32) num_edges
private

number of edges

Definition at line 70 of file sll_m_hexagonal_meshes.F90.

◆ num_pts_tot

integer(kind=i32) num_pts_tot
private

number of total points

Definition at line 68 of file sll_m_hexagonal_meshes.F90.

◆ num_triangles

integer(kind=i32) num_triangles
private

number of triangles

Definition at line 69 of file sll_m_hexagonal_meshes.F90.

◆ r1_x1

real(kind=f64) r1_x1
private

first coordinate of first generator vector

Definition at line 75 of file sll_m_hexagonal_meshes.F90.

◆ r1_x2

real(kind=f64) r1_x2
private

second coordinate of first generator vector

Definition at line 76 of file sll_m_hexagonal_meshes.F90.

◆ r2_x1

real(kind=f64) r2_x1
private

first coordinate of second generator vector

Definition at line 77 of file sll_m_hexagonal_meshes.F90.

◆ r2_x2

real(kind=f64) r2_x2
private

second coordinate of second generator vector

Definition at line 78 of file sll_m_hexagonal_meshes.F90.

◆ r3_x1

real(kind=f64) r3_x1
private

first coordinate of third generator vector

Definition at line 79 of file sll_m_hexagonal_meshes.F90.

◆ r3_x2

real(kind=f64) r3_x2
private

second coordinate of third generator vector

Definition at line 80 of file sll_m_hexagonal_meshes.F90.

◆ radius

real(kind=f64) radius
private

distance between origin and external vertex

Definition at line 71 of file sll_m_hexagonal_meshes.F90.

    Report Typos and Errors