Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines
sll_m_triangular_meshes Module Reference

Derived types and interfaces

type  sll_t_triangular_mesh_2d
 2d hexagonal mesh More...
 
interface  sll_o_create
 
interface  sll_o_delete
 
interface  sll_o_display
 
interface  sll_o_new_triangular_mesh_2d
 

Functions/Subroutines

type(sll_t_triangular_mesh_2d) function, pointer new_triangular_mesh_2d_from_file (maafil)
 allocates the memory space for a new 2D triangular mesh on the heap, initializes it with the given arguments and returns a pointer to the object. More...
 
subroutine, public sll_s_triangular_mesh_2d_init_from_file (m, maafil)
 Initialize a new 2D triangular mesh. More...
 
type(sll_t_triangular_mesh_2d) function, pointer new_triangular_mesh_2d_from_hex_mesh (hex_mesh)
 allocates the memory space for a new 2D triangular mesh on the heap, initializes it with the given hexagonal mesh and returns a pointer to the object. More...
 
type(sll_t_triangular_mesh_2d) function, pointer new_triangular_mesh_2d_from_square (nc_eta1, eta1_min, eta1_max, nc_eta2, eta2_min, eta2_max, bc)
 Allocates the memory space for a new 2D triangular mesh on the heap,. More...
 
subroutine, public sll_s_triangular_mesh_2d_init_from_square (m, nc_eta1, eta1_min, eta1_max, nc_eta2, eta2_min, eta2_max, bc)
 Initialize a new 2D triangular mesh. More...
 
subroutine initialize_triangular_mesh_2d (mesh, nc_eta1, eta1_min, eta1_max, nc_eta2, eta2_min, eta2_max, bc)
 
subroutine display_triangular_mesh_2d (mesh)
 Displays mesh information on the terminal. More...
 
real(kind=f64) function global_to_x1 (mesh, i)
 
real(kind=f64) function global_to_x2 (mesh, i)
 
subroutine, public sll_s_write_triangular_mesh_mtv (mesh, mtv_file)
 
subroutine, public sll_s_triangular_mesh_2d_free (mesh)
 
subroutine, public sll_s_read_from_file (mesh, maafil)
 
subroutine get_cell_center (mesh, iel, x1, x2)
 
subroutine, public sll_s_map_to_circle (mesh, num_cells, order)
 Map an hexagonal mesh on circle param[inout] mesh the triangular mesh built fron an hexagonal mesh param[in] num_cells is the num_cells parameter of the hexagonal mesh param[in] order, optional if order=1 we move only points on the boundary. More...
 
subroutine compute_areas (mesh)
 
subroutine poclis (mesh, ncotcu, nuctfr)
 
subroutine, public sll_s_analyze_triangular_mesh (mesh)
 Compute unstructured mesh quantities. More...
 

Function/Subroutine Documentation

◆ compute_areas()

subroutine sll_m_triangular_meshes::compute_areas ( type(sll_t_triangular_mesh_2d), intent(inout)  mesh)
private

Definition at line 1005 of file sll_m_triangular_meshes.F90.

Here is the caller graph for this function:

◆ display_triangular_mesh_2d()

subroutine sll_m_triangular_meshes::display_triangular_mesh_2d ( class(sll_t_triangular_mesh_2d), intent(in)  mesh)
private

Displays mesh information on the terminal.

Definition at line 549 of file sll_m_triangular_meshes.F90.

◆ get_cell_center()

subroutine sll_m_triangular_meshes::get_cell_center ( class(sll_t_triangular_mesh_2d mesh,
integer(kind=i32), intent(in)  iel,
real(kind=f64), intent(out)  x1,
real(kind=f64), intent(out)  x2 
)
private

Definition at line 941 of file sll_m_triangular_meshes.F90.

Here is the caller graph for this function:

◆ global_to_x1()

real(kind=f64) function sll_m_triangular_meshes::global_to_x1 ( class(sll_t_triangular_mesh_2d mesh,
integer(kind=i32)  i 
)
private

Definition at line 581 of file sll_m_triangular_meshes.F90.

◆ global_to_x2()

real(kind=f64) function sll_m_triangular_meshes::global_to_x2 ( class(sll_t_triangular_mesh_2d mesh,
integer(kind=i32)  i 
)
private

Definition at line 592 of file sll_m_triangular_meshes.F90.

◆ initialize_triangular_mesh_2d()

subroutine sll_m_triangular_meshes::initialize_triangular_mesh_2d ( type(sll_t_triangular_mesh_2d mesh,
integer(kind=i32), intent(in)  nc_eta1,
real(kind=f64), intent(in)  eta1_min,
real(kind=f64), intent(in)  eta1_max,
integer(kind=i32), intent(in)  nc_eta2,
real(kind=f64), intent(in)  eta2_min,
real(kind=f64), intent(in)  eta2_max,
integer(kind=i32), optional  bc 
)
private

Definition at line 366 of file sll_m_triangular_meshes.F90.

Here is the caller graph for this function:

◆ new_triangular_mesh_2d_from_file()

type(sll_t_triangular_mesh_2d) function, pointer sll_m_triangular_meshes::new_triangular_mesh_2d_from_file ( character(len=*), intent(in)  maafil)
private

allocates the memory space for a new 2D triangular mesh on the heap, initializes it with the given arguments and returns a pointer to the object.

Parameters
maafilfile name with data
Returns
a pointer to the newly allocated object.

Definition at line 166 of file sll_m_triangular_meshes.F90.

◆ new_triangular_mesh_2d_from_hex_mesh()

type(sll_t_triangular_mesh_2d) function, pointer sll_m_triangular_meshes::new_triangular_mesh_2d_from_hex_mesh ( type(sll_t_hex_mesh_2d), intent(in), pointer  hex_mesh)
private

allocates the memory space for a new 2D triangular mesh on the heap, initializes it with the given hexagonal mesh and returns a pointer to the object.

Parameters
hex_meshhexagonal mesh
Returns
a pointer to the newly allocated object.

Definition at line 197 of file sll_m_triangular_meshes.F90.

◆ new_triangular_mesh_2d_from_square()

type(sll_t_triangular_mesh_2d) function, pointer sll_m_triangular_meshes::new_triangular_mesh_2d_from_square ( integer(kind=i32), intent(in)  nc_eta1,
real(kind=f64), intent(in)  eta1_min,
real(kind=f64), intent(in)  eta1_max,
integer(kind=i32), intent(in)  nc_eta2,
real(kind=f64), intent(in)  eta2_min,
real(kind=f64), intent(in)  eta2_max,
integer(kind=i32), optional  bc 
)
private

Allocates the memory space for a new 2D triangular mesh on the heap,.

initializes it with the given arguments and returns a pointer to the object.

Parameters
[in]nc_eta1number of cells along first direction
[in]eta1_minleft edge first direction
[in]eta1_maxright edge first direction
[in]nc_eta2number of cells along second direction
[in]eta2_minleft edge second direction
[in]eta2_maxright edge second direction
Returns
a pointer to the newly allocated object.

Definition at line 292 of file sll_m_triangular_meshes.F90.

◆ poclis()

subroutine sll_m_triangular_meshes::poclis ( type(sll_t_triangular_mesh_2d mesh,
integer, dimension(:)  ncotcu,
integer, dimension(:)  nuctfr 
)
private

Definition at line 1276 of file sll_m_triangular_meshes.F90.

Here is the caller graph for this function:

◆ sll_s_analyze_triangular_mesh()

subroutine, public sll_m_triangular_meshes::sll_s_analyze_triangular_mesh ( type(sll_t_triangular_mesh_2d), intent(inout)  mesh)

Compute unstructured mesh quantities.

num_nodes - nodes num_cells - triangles coord - coord nodes refs - references nodes - number nodes nvois - number neighbors area - areas triangles base - integral bsis function nusd - num subdomains

npoel1 - pointer to "npoel2" array npoel2 - triangles indices with same node

petitl - small reference length grandl - big reference length

nbtcot - number of edges nbcoti - number of edges not on the boundary

From subroutine written by A. Adolf / L. Arnaud - Octobre 1991

Definition at line 1465 of file sll_m_triangular_meshes.F90.

Here is the call graph for this function:

◆ sll_s_map_to_circle()

subroutine, public sll_m_triangular_meshes::sll_s_map_to_circle ( class(sll_t_triangular_mesh_2d), intent(inout)  mesh,
integer(kind=i32), intent(in)  num_cells,
integer(kind=i32), optional  order 
)

Map an hexagonal mesh on circle param[inout] mesh the triangular mesh built fron an hexagonal mesh param[in] num_cells is the num_cells parameter of the hexagonal mesh param[in] order, optional if order=1 we move only points on the boundary.

Definition at line 972 of file sll_m_triangular_meshes.F90.

◆ sll_s_read_from_file()

subroutine, public sll_m_triangular_meshes::sll_s_read_from_file ( type(sll_t_triangular_mesh_2d mesh,
character(len=*), intent(in)  maafil 
)

Definition at line 872 of file sll_m_triangular_meshes.F90.

Here is the caller graph for this function:

◆ sll_s_triangular_mesh_2d_free()

subroutine, public sll_m_triangular_meshes::sll_s_triangular_mesh_2d_free ( class(sll_t_triangular_mesh_2d), intent(inout)  mesh)

Definition at line 864 of file sll_m_triangular_meshes.F90.

◆ sll_s_triangular_mesh_2d_init_from_file()

subroutine, public sll_m_triangular_meshes::sll_s_triangular_mesh_2d_init_from_file ( type(sll_t_triangular_mesh_2d m,
character(len=*), intent(in)  maafil 
)

Initialize a new 2D triangular mesh.

Parameters
maafilfile name with data
Returns
a pointer to the newly allocated object.

Definition at line 182 of file sll_m_triangular_meshes.F90.

Here is the call graph for this function:

◆ sll_s_triangular_mesh_2d_init_from_square()

subroutine, public sll_m_triangular_meshes::sll_s_triangular_mesh_2d_init_from_square ( type(sll_t_triangular_mesh_2d m,
integer(kind=i32), intent(in)  nc_eta1,
real(kind=f64), intent(in)  eta1_min,
real(kind=f64), intent(in)  eta1_max,
integer(kind=i32), intent(in)  nc_eta2,
real(kind=f64), intent(in)  eta2_min,
real(kind=f64), intent(in)  eta2_max,
integer(kind=i32), optional  bc 
)

Initialize a new 2D triangular mesh.

Parameters
[in]nc_eta1number of cells along first direction
[in]eta1_minleft edge first direction
[in]eta1_maxright edge first direction
[in]nc_eta2number of cells along second direction
[in]eta2_minleft edge second direction
[in]eta2_maxright edge second direction
Returns
a pointer to the newly allocated object.

Definition at line 337 of file sll_m_triangular_meshes.F90.

Here is the call graph for this function:

◆ sll_s_write_triangular_mesh_mtv()

subroutine, public sll_m_triangular_meshes::sll_s_write_triangular_mesh_mtv ( type(sll_t_triangular_mesh_2d), intent(in)  mesh,
character(len=*), intent(in)  mtv_file 
)

Definition at line 603 of file sll_m_triangular_meshes.F90.

Here is the call graph for this function:
    Report Typos and Errors