Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
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... | |
|
private |
Definition at line 1005 of file sll_m_triangular_meshes.F90.
|
private |
Displays mesh information on the terminal.
Definition at line 549 of file sll_m_triangular_meshes.F90.
|
private |
Definition at line 941 of file sll_m_triangular_meshes.F90.
|
private |
Definition at line 581 of file sll_m_triangular_meshes.F90.
|
private |
Definition at line 592 of file sll_m_triangular_meshes.F90.
|
private |
Definition at line 366 of file sll_m_triangular_meshes.F90.
|
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.
maafil | file name with data |
Definition at line 166 of file sll_m_triangular_meshes.F90.
|
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.
hex_mesh | hexagonal mesh |
Definition at line 197 of file sll_m_triangular_meshes.F90.
|
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.
[in] | nc_eta1 | number of cells along first direction |
[in] | eta1_min | left edge first direction |
[in] | eta1_max | right edge first direction |
[in] | nc_eta2 | number of cells along second direction |
[in] | eta2_min | left edge second direction |
[in] | eta2_max | right edge second direction |
Definition at line 292 of file sll_m_triangular_meshes.F90.
|
private |
Definition at line 1276 of file sll_m_triangular_meshes.F90.
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.
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.
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.
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.
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.
maafil | file name with data |
Definition at line 182 of file sll_m_triangular_meshes.F90.
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.
[in] | nc_eta1 | number of cells along first direction |
[in] | eta1_min | left edge first direction |
[in] | eta1_max | right edge first direction |
[in] | nc_eta2 | number of cells along second direction |
[in] | eta2_min | left edge second direction |
[in] | eta2_max | right edge second direction |
Definition at line 337 of file sll_m_triangular_meshes.F90.
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.