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

Description

initialization of 1d landau cartesian mesh from namelist

Author
Michel Mehrenberger


Partly generated from mesh_1d_landau_cart.gnml file

integer(kind=i32) num_cells 32
real(kind=f64) eta_min 0._f64
integer(kind=i32) nbox 1
real(kind=f64) kmode 0.5_f64

and num4.clone file

_1
_2
_3
_4

Default parameters correspond to namelist

&mesh_1d_landau_cart
num_cells = 32
eta_min = 0.
nbox = 1
kmode = 0.5
/

and clones as

&mesh_1d_landau_cart_1
num_cells_1 = 32
eta_min_1 = 0.
nbox_1 = 1
kmode_1 = 0.5
/

...

&mesh_1d_landau_cart_4
num_cells_4 = 32
eta_min_4 = 0.
nbox_4 = 1
kmode_4 = 0.5
/

Examples of calls of interface (generic)

!print namelist info
call sll_o_nml_mesh_1d_landau_cart( &
filename, &
proc_id=sll_f_get_collective_rank(sll_v_world_collective))

Possibilities for namelists variables

num_cells : integer >= 1
eta_min : real
nbox : integer >= 1
kmode : real > 0.

We have the relation eta_min< eta_max = nbox*2pi/kmode.
The 1d mesh is [eta_min,eta_max] discretized in num_cells cells
Examples of calls of interface (specific):

  1. Allocation and initialization of real(kind=f64), pointer :: array(:) according to choice read from namelist mesh_1d_landau_cart in filename
    call sll_o_nml_mesh_1d_landau_cart(filename,array)
    The output array is of size num_cells+1 with
    array(i) = eta_min+(i-1)*(eta_max-eta_min), i=1,num_cells+1
  2. Same, but read this time, from namelist mesh_1d_landau_cart_1.
    call sll_o_nml_mesh_1d_landau_cart(filename,array,clone="_1")
  3. Allocation and initialization of type(sll_t_cartesian_mesh_1d), pointer :: mesh according to choice read from namelist mesh_1d_landau_cart in filename
    call sll_o_nml_mesh_1d_landau_cart(filename,mesh)
  4. Same, but read this time, from namelist mesh_1d_landau_cart_1.
    call sll_o_nml_mesh_1d_landau_cart(filename,mesh,clone="_1")

Derived types and interfaces

type  sll_t_nml_mesh_1d_landau_cart
 
interface  sll_o_nml_mesh_1d_landau_cart
 

Functions/Subroutines

subroutine s_nml_mesh_1d_landau_cart_array (filename, array, clone, proc_id)
 create 1d array from namelist More...
 
subroutine s_nml_mesh_1d_landau_cart_mesh (filename, mesh, clone, proc_id)
 create 1d (uniform) cartesian mesh from namelist More...
 
subroutine s_nml_mesh_1d_landau_cart_print (filename, clone, proc_id)
 print namelist info More...
 

Function/Subroutine Documentation

◆ s_nml_mesh_1d_landau_cart_array()

subroutine sll_m_nml_mesh_1d_landau_cart::s_nml_mesh_1d_landau_cart_array ( character(len=*), intent(in)  filename,
real(kind=f64), dimension(:), intent(out), pointer  array,
character(len=*), intent(in), optional  clone,
integer(kind=i32), intent(in), optional  proc_id 
)
private

create 1d array from namelist

Parameters
[in]filenamenamelist file input
[out]arrayoutput array
[in]cloneoptional choice of clone
[in]proc_idoptional id of proc

Definition at line 183 of file sll_m_nml_mesh_1d_landau_cart.F90.

◆ s_nml_mesh_1d_landau_cart_mesh()

subroutine sll_m_nml_mesh_1d_landau_cart::s_nml_mesh_1d_landau_cart_mesh ( character(len=*), intent(in)  filename,
type(sll_t_cartesian_mesh_1d), intent(out), pointer  mesh,
character(len=*), intent(in), optional  clone,
integer(kind=i32), intent(in), optional  proc_id 
)
private

create 1d (uniform) cartesian mesh from namelist

Parameters
[in]filenamenamelist file input
[out]meshoutput mesh
[in]cloneoptional choice of clone
[in]proc_idoptional id of proc

Definition at line 221 of file sll_m_nml_mesh_1d_landau_cart.F90.

◆ s_nml_mesh_1d_landau_cart_print()

subroutine sll_m_nml_mesh_1d_landau_cart::s_nml_mesh_1d_landau_cart_print ( character(len=*), intent(in)  filename,
character(len=*), intent(in), optional  clone,
integer(kind=i32), intent(in), optional  proc_id 
)
private

print namelist info

Parameters
[in]filenamenamelist file input
[in]cloneoptional choice of clone
[in]proc_idoptional id of proc

Definition at line 260 of file sll_m_nml_mesh_1d_landau_cart.F90.

    Report Typos and Errors