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_cartesian_meshes Module Reference

Description

Cartesian mesh basic types.

Derived types and interfaces

type  sll_t_cartesian_mesh_1d
 1D cartesian mesh More...
 
type  sll_t_cartesian_mesh_2d
 2D cartesian mesh More...
 
type  sll_t_cartesian_mesh_2d_ptr
 2d cartesian mesh pointer More...
 
type  sll_t_cartesian_mesh_3d
 3D cartesian mesh More...
 
type  sll_t_cartesian_mesh_4d
 4D cartesian mesh More...
 
type  sll_t_cartesian_mesh_6d
 6D cartesian mesh More...
 
interface  sll_o_delete
 Deallocates memory for the cartesian mesh. More...
 
interface  operator(*)
 Tensor product. More...
 
interface  sll_o_display
 Print mesh parameters. More...
 
interface  sll_o_get_node_positions
 Get node positions array. More...
 
interface  sll_o_new
 allocates the memory space for a new cartesian mesh on the heap, initializes it with the given arguments and returns a pointer to the object. More...
 
interface  sll_o_cell
 
interface  sll_o_cell_margin
 
interface  sll_o_mesh_area
 

Functions/Subroutines

type(sll_t_cartesian_mesh_1d) function, pointer, public sll_f_new_cartesian_mesh_1d (num_cells, eta_min, eta_max)
 allocates the memory space for a new 1D cartesian mesh on the heap, initializes it with the given arguments and returns a pointer to the object. More...
 
subroutine, public sll_s_cartesian_mesh_1d_init (m, num_cells, eta_min, eta_max)
 Initializes a previously allocated 1D cartesian mesh object. More...
 
type(sll_t_cartesian_mesh_2d) function, pointer, public sll_f_tensor_product_1d_1d (m_a, m_b)
 Create a 2d mesh from two 1d meshes. More...
 
type(sll_t_cartesian_mesh_4d) function, pointer tensor_product_2d_2d (m_a, m_b)
 Create a 4d mesh from two 2d meshes. More...
 
subroutine get_node_positions_1d (m, eta1_node)
 
real(kind=f64) function eta1_node_1d (mesh, i)
 
real(kind=f64) function eta1_cell_1d (mesh, i)
 
subroutine get_node_positions_2d (m, eta1, eta2)
 
type(sll_t_cartesian_mesh_2d) function, pointer, public sll_f_new_cartesian_mesh_2d (num_cells1, num_cells2, eta1_min, eta1_max, eta2_min, eta2_max)
 allocates the memory space for a new 2D cartesian mesh on the heap, initializes it with the given arguments and returns a pointer to the object. More...
 
subroutine, public sll_s_cartesian_mesh_2d_init (m, num_cells1, num_cells2, eta1_min, eta1_max, eta2_min, eta2_max)
 initializes a cartesian mesh 2D object that has been already allocated. More...
 
real(kind=f64) function eta1_node_2d (mesh, i, j)
 
real(kind=f64) function eta2_node_2d (mesh, i, j)
 
real(kind=f64) function eta1_cell_2d_two_arg (mesh, i, j)
 
real(kind=f64) function eta2_cell_2d_two_arg (mesh, i, j)
 
real(kind=f64) function eta1_cell_2d_one_arg (mesh, cell_num)
 
real(kind=f64) function eta2_cell_2d_one_arg (mesh, cell_num)
 
type(sll_t_cartesian_mesh_3d) function, pointer, public sll_f_new_cartesian_mesh_3d (num_cells1, num_cells2, num_cells3, eta1_min, eta1_max, eta2_min, eta2_max, eta3_min, eta3_max)
 allocates the memory space for a new 3D cartesian mesh on the heap, initializes it with the given arguments and returns a pointer to the object. More...
 
subroutine, public sll_s_cartesian_mesh_3d_init (m, num_cells1, num_cells2, num_cells3, eta1_min, eta1_max, eta2_min, eta2_max, eta3_min, eta3_max)
 allocates the memory space for a new 3D cartesian mesh, initializes it with the given arguments and returns the object. More...
 
real(kind=f64) function eta1_node_3d (mesh, i1, i2, i3)
 
real(kind=f64) function eta2_node_3d (mesh, i1, i2, i3)
 
real(kind=f64) function eta3_node_3d (mesh, i1, i2, i3)
 
real(kind=f64) function eta1_cell_3d (mesh, i1, i2, i3)
 
real(kind=f64) function eta2_cell_3d (mesh, i1, i2, i3)
 
real(kind=f64) function eta3_cell_3d (mesh, i1, i2, i3)
 
type(sll_t_cartesian_mesh_4d) function, pointer, public sll_f_new_cartesian_mesh_4d (num_cells1, num_cells2, num_cells3, num_cells4, eta1_min, eta1_max, eta2_min, eta2_max, eta3_min, eta3_max, eta4_min, eta4_max)
 allocates the memory space for a new 4D cartesian mesh on the heap, More...
 
real(kind=f64) function eta1_node_4d (mesh, i1, i2, i3, i4)
 
real(kind=f64) function eta2_node_4d (mesh, i1, i2, i3, i4)
 
real(kind=f64) function eta3_node_4d (mesh, i1, i2, i3, i4)
 
real(kind=f64) function eta4_node_4d (mesh, i1, i2, i3, i4)
 
real(kind=f64) function eta1_cell_4d (mesh, i1, i2, i3, i4)
 
real(kind=f64) function eta2_cell_4d (mesh, i1, i2, i3, i4)
 
real(kind=f64) function eta3_cell_4d (mesh, i1, i2, i3, i4)
 
real(kind=f64) function eta4_cell_4d (mesh, i1, i2, i3, i4)
 
subroutine display_cartesian_mesh_1d (mesh)
 display contents of a 1D cartesian mesh. Recommended access through the generic interface sll_o_display( mesh ). More...
 
subroutine display_cartesian_mesh_2d (mesh)
 display contents of a 2d cartesian mesh. Recommended access through the generic interface sll_o_display( mesh ). More...
 
subroutine display_cartesian_mesh_3d (mesh)
 display contents of a 3d cartesian mesh. Recommended access through the generic interface sll_o_display( mesh ). More...
 
subroutine display_cartesian_mesh_4d (mesh)
 display contents of a 4d cartesian mesh. Recommended access through the generic interface sll_o_display( mesh ). More...
 
subroutine sll_s_cartesian_mesh_1d_free (mesh)
 deallocates memory for the 1D cartesian mesh. Recommended access through the generic interface delete( mesh ). More...
 
subroutine sll_s_cartesian_mesh_2d_free (mesh)
 deallocates memory for the 2D cartesian mesh. Recommended access through the generic interface delete( mesh ). More...
 
subroutine, public sll_s_cartesian_mesh_3d_free (mesh)
 deallocates memory for the 3D cartesian mesh. Recommended access through the generic interface delete( mesh ). More...
 
subroutine sll_s_cartesian_mesh_4d_free (mesh)
 deallocates memory for the 4D cartesian mesh. Recommended access through the generic interface delete( mesh ). More...
 
real(kind=f64) function, dimension(mesh%num_cells+1) nodes_cartesian_mesh_1d (mesh)
 Returns all nodes for the 1D cartesian mesh. More...
 
integer(kind=i32) function, dimension(size(point)) cell_cartesian_mesh_1d (mesh, point)
 Returns cell number(s) for given point(s) in cartesian mesh. More...
 
real(kind=f64) function, dimension(2) cell_margin_cartesian_mesh_1d (mesh, cell)
 Returns the margin (a,b) for a given cell. More...
 
integer(kind=i32) function num_nodes_cartesian_mesh_1d (mesh)
 Returns the number of nodes for the 1D cartesian mesh. More...
 
real(kind=f64) function length_cartesian_mesh_1d (mesh)
 Returns the interval length for a 1D cartesian mesh. More...
 
real(kind=f64) function area_cartesian_mesh_2d (mesh)
 Returns the area size for a 2D cartesian mesh. More...
 
real(kind=f64) function area_cartesian_mesh_3d (mesh)
 Returns the area size for a 3D cartesian mesh. More...
 
real(kind=f64) function area_cartesian_mesh_4d (mesh)
 Returns the area size for a 3D cartesian mesh. More...
 
real(kind=f64) function period_cartesian_mesh_1d (mesh, point)
 Returns coordinate in a periodic mesh. More...
 
subroutine sll_s_cartesian_mesh_6d_init (this, num_cells, eta_min, eta_max)
 initialize a 6D cartesian mesh More...
 
subroutine display_cartesian_mesh_6d (mesh)
 display contents of a 6d cartesian mesh. Recommended access through the generic interface sll_display( mesh ). More...
 
subroutine sll_s_cartesian_mesh_6d_free (this)
 destructor of 6D cartesian mesh More...
 

Function/Subroutine Documentation

◆ area_cartesian_mesh_2d()

real(kind=f64) function sll_m_cartesian_meshes::area_cartesian_mesh_2d ( class(sll_t_cartesian_mesh_2d), intent(in)  mesh)
private

Returns the area size for a 2D cartesian mesh.

Parameters
meshpointer to a sll_t_cartesian_mesh_2d object.

Definition at line 1265 of file sll_m_cartesian_meshes.F90.

◆ area_cartesian_mesh_3d()

real(kind=f64) function sll_m_cartesian_meshes::area_cartesian_mesh_3d ( class(sll_t_cartesian_mesh_3d), intent(in)  mesh)
private

Returns the area size for a 3D cartesian mesh.

Parameters
meshpointer to a sll_t_cartesian_mesh_3d object.

Definition at line 1276 of file sll_m_cartesian_meshes.F90.

◆ area_cartesian_mesh_4d()

real(kind=f64) function sll_m_cartesian_meshes::area_cartesian_mesh_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh)
private

Returns the area size for a 3D cartesian mesh.

Parameters
meshpointer to a sll_t_cartesian_mesh_3d object.

Definition at line 1288 of file sll_m_cartesian_meshes.F90.

◆ cell_cartesian_mesh_1d()

integer(kind=i32) function, dimension(size(point)) sll_m_cartesian_meshes::cell_cartesian_mesh_1d ( class(sll_t_cartesian_mesh_1d), intent(in)  mesh,
real(kind=f64), dimension(:), intent(in)  point 
)
private

Returns cell number(s) for given point(s) in cartesian mesh.

Parameters
meshpointer to a sll_t_cartesian_mesh_1d object.
pointposition for wich cell number should be calculated Last knot belongs to last cell

Definition at line 1222 of file sll_m_cartesian_meshes.F90.

◆ cell_margin_cartesian_mesh_1d()

real(kind=f64) function, dimension(2) sll_m_cartesian_meshes::cell_margin_cartesian_mesh_1d ( class(sll_t_cartesian_mesh_1d), intent(in)  mesh,
integer(kind=i32), intent(in)  cell 
)
private

Returns the margin (a,b) for a given cell.

Parameters
meshpointer to a sll_t_cartesian_mesh_1d object.
cellnumber of cell
margintwo dimensional array sorted from low to high Last knot belongs to last cell

Definition at line 1236 of file sll_m_cartesian_meshes.F90.

◆ display_cartesian_mesh_1d()

subroutine sll_m_cartesian_meshes::display_cartesian_mesh_1d ( class(sll_t_cartesian_mesh_1d), intent(in)  mesh)
private

display contents of a 1D cartesian mesh. Recommended access through the generic interface sll_o_display( mesh ).

Parameters
meshpointer to a sll_t_cartesian_mesh_1d object.

Definition at line 1073 of file sll_m_cartesian_meshes.F90.

◆ display_cartesian_mesh_2d()

subroutine sll_m_cartesian_meshes::display_cartesian_mesh_2d ( class(sll_t_cartesian_mesh_2d), intent(in)  mesh)
private

display contents of a 2d cartesian mesh. Recommended access through the generic interface sll_o_display( mesh ).

Parameters
meshpointer to a sll_t_cartesian_mesh_2d object.

Definition at line 1087 of file sll_m_cartesian_meshes.F90.

◆ display_cartesian_mesh_3d()

subroutine sll_m_cartesian_meshes::display_cartesian_mesh_3d ( class(sll_t_cartesian_mesh_3d), intent(in)  mesh)
private

display contents of a 3d cartesian mesh. Recommended access through the generic interface sll_o_display( mesh ).

Parameters
meshpointer to a sll_t_cartesian_mesh_3d object.

Definition at line 1104 of file sll_m_cartesian_meshes.F90.

◆ display_cartesian_mesh_4d()

subroutine sll_m_cartesian_meshes::display_cartesian_mesh_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh)
private

display contents of a 4d cartesian mesh. Recommended access through the generic interface sll_o_display( mesh ).

Parameters
meshpointer to a sll_t_cartesian_mesh_4d object.

Definition at line 1125 of file sll_m_cartesian_meshes.F90.

◆ display_cartesian_mesh_6d()

subroutine sll_m_cartesian_meshes::display_cartesian_mesh_6d ( class(sll_t_cartesian_mesh_6d), intent(in)  mesh)
private

display contents of a 6d cartesian mesh. Recommended access through the generic interface sll_display( mesh ).

Parameters
meshpointer to a sll_cartesian_mesh_6d object.

Definition at line 1345 of file sll_m_cartesian_meshes.F90.

◆ eta1_cell_1d()

real(kind=f64) function sll_m_cartesian_meshes::eta1_cell_1d ( class(sll_t_cartesian_mesh_1d), intent(in)  mesh,
integer(kind=i32), intent(in)  i 
)
private

Definition at line 364 of file sll_m_cartesian_meshes.F90.

◆ eta1_cell_2d_one_arg()

real(kind=f64) function sll_m_cartesian_meshes::eta1_cell_2d_one_arg ( class(sll_t_cartesian_mesh_2d), intent(in)  mesh,
integer(kind=i32), intent(in)  cell_num 
)
private

Definition at line 567 of file sll_m_cartesian_meshes.F90.

◆ eta1_cell_2d_two_arg()

real(kind=f64) function sll_m_cartesian_meshes::eta1_cell_2d_two_arg ( class(sll_t_cartesian_mesh_2d), intent(in)  mesh,
integer(kind=i32), intent(in)  i,
integer(kind=i32), intent(in)  j 
)
private

Definition at line 533 of file sll_m_cartesian_meshes.F90.

◆ eta1_cell_3d()

real(kind=f64) function sll_m_cartesian_meshes::eta1_cell_3d ( class(sll_t_cartesian_mesh_3d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3 
)
private

Definition at line 773 of file sll_m_cartesian_meshes.F90.

◆ eta1_cell_4d()

real(kind=f64) function sll_m_cartesian_meshes::eta1_cell_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3,
integer(kind=i32), intent(in)  i4 
)
private

Definition at line 994 of file sll_m_cartesian_meshes.F90.

◆ eta1_node_1d()

real(kind=f64) function sll_m_cartesian_meshes::eta1_node_1d ( class(sll_t_cartesian_mesh_1d), intent(in)  mesh,
integer(kind=i32), intent(in)  i 
)
private

Definition at line 352 of file sll_m_cartesian_meshes.F90.

◆ eta1_node_2d()

real(kind=f64) function sll_m_cartesian_meshes::eta1_node_2d ( class(sll_t_cartesian_mesh_2d), intent(in)  mesh,
integer(kind=i32), intent(in)  i,
integer(kind=i32), intent(in)  j 
)
private

Definition at line 499 of file sll_m_cartesian_meshes.F90.

◆ eta1_node_3d()

real(kind=f64) function sll_m_cartesian_meshes::eta1_node_3d ( class(sll_t_cartesian_mesh_3d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3 
)
private

Definition at line 719 of file sll_m_cartesian_meshes.F90.

◆ eta1_node_4d()

real(kind=f64) function sll_m_cartesian_meshes::eta1_node_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3,
integer(kind=i32), intent(in)  i4 
)
private

Definition at line 918 of file sll_m_cartesian_meshes.F90.

◆ eta2_cell_2d_one_arg()

real(kind=f64) function sll_m_cartesian_meshes::eta2_cell_2d_one_arg ( class(sll_t_cartesian_mesh_2d), intent(in)  mesh,
integer(kind=i32), intent(in)  cell_num 
)
private

Definition at line 581 of file sll_m_cartesian_meshes.F90.

◆ eta2_cell_2d_two_arg()

real(kind=f64) function sll_m_cartesian_meshes::eta2_cell_2d_two_arg ( class(sll_t_cartesian_mesh_2d), intent(in)  mesh,
integer(kind=i32), intent(in)  i,
integer(kind=i32), intent(in)  j 
)
private

Definition at line 550 of file sll_m_cartesian_meshes.F90.

◆ eta2_cell_3d()

real(kind=f64) function sll_m_cartesian_meshes::eta2_cell_3d ( class(sll_t_cartesian_mesh_3d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3 
)
private

Definition at line 791 of file sll_m_cartesian_meshes.F90.

◆ eta2_cell_4d()

real(kind=f64) function sll_m_cartesian_meshes::eta2_cell_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3,
integer(kind=i32), intent(in)  i4 
)
private

Definition at line 1013 of file sll_m_cartesian_meshes.F90.

◆ eta2_node_2d()

real(kind=f64) function sll_m_cartesian_meshes::eta2_node_2d ( class(sll_t_cartesian_mesh_2d), intent(in)  mesh,
integer(kind=i32), intent(in)  i,
integer(kind=i32), intent(in)  j 
)
private

Definition at line 516 of file sll_m_cartesian_meshes.F90.

◆ eta2_node_3d()

real(kind=f64) function sll_m_cartesian_meshes::eta2_node_3d ( class(sll_t_cartesian_mesh_3d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3 
)
private

Definition at line 737 of file sll_m_cartesian_meshes.F90.

◆ eta2_node_4d()

real(kind=f64) function sll_m_cartesian_meshes::eta2_node_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3,
integer(kind=i32), intent(in)  i4 
)
private

Definition at line 937 of file sll_m_cartesian_meshes.F90.

◆ eta3_cell_3d()

real(kind=f64) function sll_m_cartesian_meshes::eta3_cell_3d ( class(sll_t_cartesian_mesh_3d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3 
)
private

Definition at line 809 of file sll_m_cartesian_meshes.F90.

◆ eta3_cell_4d()

real(kind=f64) function sll_m_cartesian_meshes::eta3_cell_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3,
integer(kind=i32), intent(in)  i4 
)
private

Definition at line 1032 of file sll_m_cartesian_meshes.F90.

◆ eta3_node_3d()

real(kind=f64) function sll_m_cartesian_meshes::eta3_node_3d ( class(sll_t_cartesian_mesh_3d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3 
)
private

Definition at line 755 of file sll_m_cartesian_meshes.F90.

◆ eta3_node_4d()

real(kind=f64) function sll_m_cartesian_meshes::eta3_node_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3,
integer(kind=i32), intent(in)  i4 
)
private

Definition at line 956 of file sll_m_cartesian_meshes.F90.

◆ eta4_cell_4d()

real(kind=f64) function sll_m_cartesian_meshes::eta4_cell_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3,
integer(kind=i32), intent(in)  i4 
)
private

Definition at line 1051 of file sll_m_cartesian_meshes.F90.

◆ eta4_node_4d()

real(kind=f64) function sll_m_cartesian_meshes::eta4_node_4d ( class(sll_t_cartesian_mesh_4d), intent(in)  mesh,
integer(kind=i32), intent(in)  i1,
integer(kind=i32), intent(in)  i2,
integer(kind=i32), intent(in)  i3,
integer(kind=i32), intent(in)  i4 
)
private

Definition at line 975 of file sll_m_cartesian_meshes.F90.

◆ get_node_positions_1d()

subroutine sll_m_cartesian_meshes::get_node_positions_1d ( type(sll_t_cartesian_mesh_1d m,
real(kind=f64), dimension(:), allocatable  eta1_node 
)
private

Definition at line 334 of file sll_m_cartesian_meshes.F90.

◆ get_node_positions_2d()

subroutine sll_m_cartesian_meshes::get_node_positions_2d ( class(sll_t_cartesian_mesh_2d m,
real(kind=f64), dimension(:, :), allocatable  eta1,
real(kind=f64), dimension(:, :), allocatable  eta2 
)
private

Definition at line 376 of file sll_m_cartesian_meshes.F90.

◆ length_cartesian_mesh_1d()

real(kind=f64) function sll_m_cartesian_meshes::length_cartesian_mesh_1d ( class(sll_t_cartesian_mesh_1d), intent(in)  mesh)
private

Returns the interval length for a 1D cartesian mesh.

Parameters
meshpointer to a sll_t_cartesian_mesh_1d object.

Definition at line 1256 of file sll_m_cartesian_meshes.F90.

◆ nodes_cartesian_mesh_1d()

real(kind=f64) function, dimension(mesh%num_cells + 1) sll_m_cartesian_meshes::nodes_cartesian_mesh_1d ( class(sll_t_cartesian_mesh_1d), intent(in)  mesh)
private

Returns all nodes for the 1D cartesian mesh.

Parameters
meshpointer to a sll_t_cartesian_mesh_1d object.

Definition at line 1205 of file sll_m_cartesian_meshes.F90.

◆ num_nodes_cartesian_mesh_1d()

integer(kind=i32) function sll_m_cartesian_meshes::num_nodes_cartesian_mesh_1d ( class(sll_t_cartesian_mesh_1d), intent(in)  mesh)
private

Returns the number of nodes for the 1D cartesian mesh.

Parameters
meshpointer to a sll_t_cartesian_mesh_1d object.

Definition at line 1248 of file sll_m_cartesian_meshes.F90.

◆ period_cartesian_mesh_1d()

real(kind=f64) function sll_m_cartesian_meshes::period_cartesian_mesh_1d ( class(sll_t_cartesian_mesh_1d), intent(in)  mesh,
real(kind=f64), intent(in)  point 
)
private

Returns coordinate in a periodic mesh.

Parameters
meshpointer to a sll_t_cartesian_mesh_1d object.
pointposition

Definition at line 1302 of file sll_m_cartesian_meshes.F90.

◆ sll_f_new_cartesian_mesh_1d()

type(sll_t_cartesian_mesh_1d) function, pointer, public sll_m_cartesian_meshes::sll_f_new_cartesian_mesh_1d ( integer(kind=i32), intent(in)  num_cells,
real(kind=f64), intent(in), optional  eta_min,
real(kind=f64), intent(in), optional  eta_max 
)

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

Parameters
num_cellsinteger denoting the number of cells.
eta_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh.
eta_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh.
Returns
a pointer to the newly allocated object.

Definition at line 254 of file sll_m_cartesian_meshes.F90.

Here is the caller graph for this function:

◆ sll_f_new_cartesian_mesh_2d()

type(sll_t_cartesian_mesh_2d) function, pointer, public sll_m_cartesian_meshes::sll_f_new_cartesian_mesh_2d ( integer(kind=i32), intent(in)  num_cells1,
integer(kind=i32), intent(in)  num_cells2,
real(kind=f64), intent(in), optional  eta1_min,
real(kind=f64), intent(in), optional  eta1_max,
real(kind=f64), intent(in), optional  eta2_min,
real(kind=f64), intent(in), optional  eta2_max 
)

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

Parameters
num_cells1integer denoting the number of cells, direction 1.
num_cells2integer denoting the number of cells, direction 2.
eta1_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 1.
eta1_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 1.
eta2_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 2.
eta2_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 2.
Returns
a pointer to the newly allocated object.

Definition at line 421 of file sll_m_cartesian_meshes.F90.

Here is the caller graph for this function:

◆ sll_f_new_cartesian_mesh_3d()

type(sll_t_cartesian_mesh_3d) function, pointer, public sll_m_cartesian_meshes::sll_f_new_cartesian_mesh_3d ( integer(kind=i32), intent(in)  num_cells1,
integer(kind=i32), intent(in)  num_cells2,
integer(kind=i32), intent(in)  num_cells3,
real(kind=f64), intent(in), optional  eta1_min,
real(kind=f64), intent(in), optional  eta1_max,
real(kind=f64), intent(in), optional  eta2_min,
real(kind=f64), intent(in), optional  eta2_max,
real(kind=f64), intent(in), optional  eta3_min,
real(kind=f64), intent(in), optional  eta3_max 
)

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

Parameters
num_cells1integer denoting the number of cells, direction 1.
num_cells2integer denoting the number of cells, direction 2.
num_cells3integer denoting the number of cells, direction 3.
eta1_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 1.
eta1_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 1.
eta2_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 2.
eta2_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 2.
eta3_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 3.
eta3_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 3.
Returns
m a pointer to the newly allocated object.

Definition at line 614 of file sll_m_cartesian_meshes.F90.

◆ sll_f_new_cartesian_mesh_4d()

type(sll_t_cartesian_mesh_4d) function, pointer, public sll_m_cartesian_meshes::sll_f_new_cartesian_mesh_4d ( integer(kind=i32), intent(in)  num_cells1,
integer(kind=i32), intent(in)  num_cells2,
integer(kind=i32), intent(in)  num_cells3,
integer(kind=i32), intent(in)  num_cells4,
real(kind=f64), intent(in), optional  eta1_min,
real(kind=f64), intent(in), optional  eta1_max,
real(kind=f64), intent(in), optional  eta2_min,
real(kind=f64), intent(in), optional  eta2_max,
real(kind=f64), intent(in), optional  eta3_min,
real(kind=f64), intent(in), optional  eta3_max,
real(kind=f64), intent(in), optional  eta4_min,
real(kind=f64), intent(in), optional  eta4_max 
)

allocates the memory space for a new 4D cartesian mesh on the heap,

Allocates the memory space for a new 4D cartesian mesh on the heap, initializes it with the given arguments and returns a pointer to the object.

Parameters
num_cells1integer denoting the number of cells, direction 1.
num_cells2integer denoting the number of cells, direction 2.
num_cells3integer denoting the number of cells, direction 3.
num_cells4integer denoting the number of cells, direction 4.
eta1_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 1.
eta1_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 1.
eta2_minoptional double precision value which represents the minimum value of the eta2 parameter in the cartesian mesh, direction 2.
eta2_maxoptional double precision value which represents the maximum value of the eta2 parameter in the cartesian mesh, direction 2.
eta3_minoptional double precision value which represents the minimum value of the eta3 parameter in the cartesian mesh, direction 3.
eta3_maxoptional double precision value which represents the maximum value of the eta3 parameter in the cartesian mesh, direction 3.
eta4_minoptional double precision value which represents the minimum value of the eta4 parameter in the cartesian mesh, direction 4.
eta4_maxoptional double precision value which represents the maximum value of the eta4 parameter in the cartesian mesh, direction 4.
Returns
m a pointer to the newly allocated object.

Definition at line 853 of file sll_m_cartesian_meshes.F90.

Here is the caller graph for this function:

◆ sll_f_tensor_product_1d_1d()

type(sll_t_cartesian_mesh_2d) function, pointer, public sll_m_cartesian_meshes::sll_f_tensor_product_1d_1d ( type(sll_t_cartesian_mesh_1d), intent(in), pointer  m_a,
type(sll_t_cartesian_mesh_1d), intent(in), pointer  m_b 
)

Create a 2d mesh from two 1d meshes.

Definition at line 297 of file sll_m_cartesian_meshes.F90.

◆ sll_s_cartesian_mesh_1d_free()

subroutine sll_m_cartesian_meshes::sll_s_cartesian_mesh_1d_free ( class(sll_t_cartesian_mesh_1d), intent(inout)  mesh)
private

deallocates memory for the 1D cartesian mesh. Recommended access through the generic interface delete( mesh ).

Parameters
meshpointer to a sll_t_cartesian_mesh_1d object.

Definition at line 1150 of file sll_m_cartesian_meshes.F90.

◆ sll_s_cartesian_mesh_1d_init()

subroutine, public sll_m_cartesian_meshes::sll_s_cartesian_mesh_1d_init ( class(sll_t_cartesian_mesh_1d), intent(inout)  m,
integer(kind=i32), intent(in)  num_cells,
real(kind=f64), intent(in), optional  eta_min,
real(kind=f64), intent(in), optional  eta_max 
)

Initializes a previously allocated 1D cartesian mesh object.

Parameters
num_cellsinteger denoting the number of cells.
eta_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh.
eta_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh.
mis a pointer to the newly allocated object.

Definition at line 276 of file sll_m_cartesian_meshes.F90.

Here is the caller graph for this function:

◆ sll_s_cartesian_mesh_2d_free()

subroutine sll_m_cartesian_meshes::sll_s_cartesian_mesh_2d_free ( class(sll_t_cartesian_mesh_2d), intent(inout)  mesh)
private

deallocates memory for the 2D cartesian mesh. Recommended access through the generic interface delete( mesh ).

Parameters
meshpointer to a sll_t_cartesian_mesh_2d object.

Definition at line 1164 of file sll_m_cartesian_meshes.F90.

◆ sll_s_cartesian_mesh_2d_init()

subroutine, public sll_m_cartesian_meshes::sll_s_cartesian_mesh_2d_init ( class(sll_t_cartesian_mesh_2d), intent(inout)  m,
integer(kind=i32), intent(in)  num_cells1,
integer(kind=i32), intent(in)  num_cells2,
real(kind=f64), intent(in), optional  eta1_min,
real(kind=f64), intent(in), optional  eta1_max,
real(kind=f64), intent(in), optional  eta2_min,
real(kind=f64), intent(in), optional  eta2_max 
)

initializes a cartesian mesh 2D object that has been already allocated.

Parameters
num_cells1integer denoting the number of cells, direction 1.
num_cells2integer denoting the number of cells, direction 2.
eta1_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 1.
eta1_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 1.
eta2_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 2.
eta2_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 2.
mis a pointer to the newly allocated object.

Definition at line 463 of file sll_m_cartesian_meshes.F90.

Here is the caller graph for this function:

◆ sll_s_cartesian_mesh_3d_free()

subroutine, public sll_m_cartesian_meshes::sll_s_cartesian_mesh_3d_free ( class(sll_t_cartesian_mesh_3d), intent(inout)  mesh)

deallocates memory for the 3D cartesian mesh. Recommended access through the generic interface delete( mesh ).

Parameters
meshpointer to a sll_t_cartesian_mesh_3d object.

Definition at line 1178 of file sll_m_cartesian_meshes.F90.

◆ sll_s_cartesian_mesh_3d_init()

subroutine, public sll_m_cartesian_meshes::sll_s_cartesian_mesh_3d_init ( type(sll_t_cartesian_mesh_3d), intent(out)  m,
integer(kind=i32), intent(in)  num_cells1,
integer(kind=i32), intent(in)  num_cells2,
integer(kind=i32), intent(in)  num_cells3,
real(kind=f64), intent(in), optional  eta1_min,
real(kind=f64), intent(in), optional  eta1_max,
real(kind=f64), intent(in), optional  eta2_min,
real(kind=f64), intent(in), optional  eta2_max,
real(kind=f64), intent(in), optional  eta3_min,
real(kind=f64), intent(in), optional  eta3_max 
)

allocates the memory space for a new 3D cartesian mesh, initializes it with the given arguments and returns the object.

Parameters
num_cells1integer denoting the number of cells, direction 1.
num_cells2integer denoting the number of cells, direction 2.
num_cells3integer denoting the number of cells, direction 3.
eta1_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 1.
eta1_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 1.
eta2_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 2.
eta2_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 2.
eta3_minoptional double precision value which represents the minimum value of the eta1 parameter in the cartesian mesh, direction 3.
eta3_maxoptional double precision value which represents the maximum value of the eta1 parameter in the cartesian mesh, direction 3.
Returns
m the object representing a 3d grid.

Definition at line 669 of file sll_m_cartesian_meshes.F90.

Here is the caller graph for this function:

◆ sll_s_cartesian_mesh_4d_free()

subroutine sll_m_cartesian_meshes::sll_s_cartesian_mesh_4d_free ( class(sll_t_cartesian_mesh_4d), intent(inout)  mesh)
private

deallocates memory for the 4D cartesian mesh. Recommended access through the generic interface delete( mesh ).

Parameters
meshpointer to a sll_t_cartesian_mesh_4d object.

Definition at line 1192 of file sll_m_cartesian_meshes.F90.

◆ sll_s_cartesian_mesh_6d_free()

subroutine sll_m_cartesian_meshes::sll_s_cartesian_mesh_6d_free ( class(sll_t_cartesian_mesh_6d), intent(inout)  this)
private

destructor of 6D cartesian mesh

Parameters
[in,out]meshsll_cartesian_mesh_6d object

Definition at line 1377 of file sll_m_cartesian_meshes.F90.

◆ sll_s_cartesian_mesh_6d_init()

subroutine sll_m_cartesian_meshes::sll_s_cartesian_mesh_6d_init ( class(sll_t_cartesian_mesh_6d), intent(inout)  this,
integer(kind=i32), dimension(6), intent(in)  num_cells,
real(kind=f64), dimension(6), intent(in)  eta_min,
real(kind=f64), dimension(6), intent(in)  eta_max 
)
private

initialize a 6D cartesian mesh

Parameters
[in,out]meshsll_cartesian_mesh_6d object
[in]num_cellsarray with number of cells along each dimension
[in]eta_minarray with minimal value of eta along each dimension
[in]eta_maxarray with maximal value of eta along each dimension

Definition at line 1320 of file sll_m_cartesian_meshes.F90.

◆ tensor_product_2d_2d()

type(sll_t_cartesian_mesh_4d) function, pointer sll_m_cartesian_meshes::tensor_product_2d_2d ( type(sll_t_cartesian_mesh_2d), intent(in), pointer  m_a,
type(sll_t_cartesian_mesh_2d), intent(in), pointer  m_b 
)
private

Create a 4d mesh from two 2d meshes.

Definition at line 313 of file sll_m_cartesian_meshes.F90.

    Report Typos and Errors