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

Derived types and interfaces

type  sll_t_species
 
type  sll_c_particle_group_base
 
type  sll_t_particle_array
 
interface  i_get_int
 
interface  i_get_intnd
 
interface  i_get_scalar
 
interface  get_scalar
 
interface  i_get_coords
 
interface  i_get_array
 
interface  i_set_coords
 
interface  i_set_scalar
 
interface  set_scalar
 
interface  i_set_array
 
interface  empty
 

Functions/Subroutines

pure real(kind=f64) function q_over_m (self)
 

More...
 
subroutine initialize_species (self, species_charge, species_mass)
 
pure integer(kind=i32) function get_box (self, i)
 
pure integer(kind=i32) function, dimension(3) get_boxnd (self, i)
 
pure real(kind=f64) function, dimension(3) get_xbox (self, i)
 
pure integer(kind=i32) function get_patch (self, i)
 Get the number of the patch (per default we only have one patch and therefore always return a 1) More...
 
pure real(kind=f64) function, dimension(3) get_xpatch (self, i)
 Get the coordinate in the patch-local system. Default: get_x. More...
 
subroutine set_box (self, i, box)
 Set the number of the box (by default nothing is done) More...
 
subroutine set_boxnd (self, i, box)
 Set the number of the box from nd index (by default nothing is done) More...
 
subroutine set_patch (self, i, box)
 Set the number of the patch (by default nothing is done) More...
 
subroutine chget_x (self, chunk, x)
 
subroutine chget_v (self, chunk, v)
 
subroutine chget_weights (self, chunk, weights)
 
subroutine chget_box (self, chunk, box)
 
subroutine chget_boxnd (self, chunk, boxnd)
 
subroutine chget_patch (self, chunk, patch)
 
subroutine print (self, filename)
 Dummy print function ( can be overwritten to print for debugging ) More...
 
subroutine read (self, filename)
 Dummy read function ( can be overwritten to read for restart ) More...
 
pure integer(kind=i32) function, dimension(2), public sll_f_index_1dto2d (num_pts, ind1d)
 Helper function to compute the 2d index for a tensor product grid from the 1d index. More...
 
pure integer(kind=i32) function, public sll_f_index_2dto1d (num_pts, ind2d)
 Helper function to compute the 1d index for a tensor product grid from the 2d index. More...
 
pure integer(kind=i32) function, dimension(3), public sll_f_index_1dto3d (num_pts, ind1d)
 Helper function to compute the 2d index for a tensor product grid from the 1d index. More...
 
pure integer(kind=i32) function, public sll_f_index_3dto1d (num_pts, ind3d)
 Helper function to compute the 1d index for a tensor product grid from the 2d index. More...
 

Function/Subroutine Documentation

◆ chget_box()

subroutine sll_m_particle_group_base::chget_box ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), dimension(1:2), intent(in)  chunk,
integer(kind=i32), dimension(:), intent(out), pointer  box 
)
private
Parameters
[in]selfparticle group object
[in]chunkparticle number range
[out]boxbox number of particle chunk

Definition at line 391 of file sll_m_particle_group_base.F90.

◆ chget_boxnd()

subroutine sll_m_particle_group_base::chget_boxnd ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), dimension(1:2), intent(in)  chunk,
integer(kind=i32), dimension(:,:), intent(out), pointer  boxnd 
)
private
Parameters
[in]selfparticle group object
[in]chunkparticle number range
[out]boxndbox number of particle chunk

Definition at line 405 of file sll_m_particle_group_base.F90.

◆ chget_patch()

subroutine sll_m_particle_group_base::chget_patch ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), dimension(1:2), intent(in)  chunk,
integer(kind=i32), dimension(:), intent(out), pointer  patch 
)
private
Parameters
[in]selfparticle group object
[in]chunkparticle number range
[out]patchbox number of particle chunk

Definition at line 419 of file sll_m_particle_group_base.F90.

◆ chget_v()

subroutine sll_m_particle_group_base::chget_v ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), dimension(1:2), intent(in)  chunk,
real(kind=f64), dimension(:,:), intent(out), pointer  v 
)
private
Parameters
[in]selfparticle group object
[in]chunkparticle number range
[out]vv of particle chunk

Definition at line 363 of file sll_m_particle_group_base.F90.

◆ chget_weights()

subroutine sll_m_particle_group_base::chget_weights ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), dimension(1:2), intent(in)  chunk,
real(kind=f64), dimension(:,:), intent(out), pointer  weights 
)
private
Parameters
[in]selfparticle group object
[in]chunkparticle number range
[out]weightsx of particle chunk

Definition at line 377 of file sll_m_particle_group_base.F90.

◆ chget_x()

subroutine sll_m_particle_group_base::chget_x ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), dimension(1:2), intent(in)  chunk,
real(kind=f64), dimension(:,:), intent(out), pointer  x 
)
private
Parameters
[in]selfparticle group object
[in]chunkparticle number range
[out]xx of particle chunk

Definition at line 349 of file sll_m_particle_group_base.F90.

◆ get_box()

pure integer(kind=i32) function sll_m_particle_group_base::get_box ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), intent(in)  i 
)
private
Parameters
[in]selfparticle group object
[in]iparticle number

Definition at line 261 of file sll_m_particle_group_base.F90.

◆ get_boxnd()

pure integer(kind=i32) function, dimension(3) sll_m_particle_group_base::get_boxnd ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), intent(in)  i 
)
private
Parameters
[in]selfparticle group object
[in]iparticle number

Definition at line 272 of file sll_m_particle_group_base.F90.

◆ get_patch()

pure integer(kind=i32) function sll_m_particle_group_base::get_patch ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), intent(in)  i 
)
private

Get the number of the patch (per default we only have one patch and therefore always return a 1)

Parameters
[in]selfparticle group object
[in]iparticle number

Definition at line 294 of file sll_m_particle_group_base.F90.

◆ get_xbox()

pure real(kind=f64) function, dimension(3) sll_m_particle_group_base::get_xbox ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), intent(in)  i 
)
private
Parameters
[in]selfparticle group object
[in]iparticle number

Definition at line 283 of file sll_m_particle_group_base.F90.

◆ get_xpatch()

pure real(kind=f64) function, dimension(3) sll_m_particle_group_base::get_xpatch ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), intent(in)  i 
)
private

Get the coordinate in the patch-local system. Default: get_x.

Parameters
[in]selfparticle group object
[in]iparticle number

Definition at line 305 of file sll_m_particle_group_base.F90.

◆ initialize_species()

subroutine sll_m_particle_group_base::initialize_species ( class(sll_t_species), intent(out)  self,
real(kind=f64), intent(in)  species_charge,
real(kind=f64), intent(in)  species_mass 
)
private

Definition at line 239 of file sll_m_particle_group_base.F90.

◆ print()

subroutine sll_m_particle_group_base::print ( class(sll_c_particle_group_base), intent(in)  self,
character(len=*), intent(in)  filename 
)
private

Dummy print function ( can be overwritten to print for debugging )

Parameters
[in]selfparticle group object

Definition at line 433 of file sll_m_particle_group_base.F90.

◆ q_over_m()

pure real(kind=f64) function sll_m_particle_group_base::q_over_m ( class( sll_t_species ), intent(in)  self)
private

Definition at line 230 of file sll_m_particle_group_base.F90.

◆ read()

subroutine sll_m_particle_group_base::read ( class(sll_c_particle_group_base), intent(inout)  self,
character(len=*), intent(in)  filename 
)
private

Dummy read function ( can be overwritten to read for restart )

Parameters
[in,out]selfparticle group object

Definition at line 440 of file sll_m_particle_group_base.F90.

◆ set_box()

subroutine sll_m_particle_group_base::set_box ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), intent(in)  i,
integer(kind=i32), intent(out)  box 
)
private

Set the number of the box (by default nothing is done)

Parameters
[in]selfparticle group object
[in]iparticle number
[out]boxbox number

Definition at line 317 of file sll_m_particle_group_base.F90.

◆ set_boxnd()

subroutine sll_m_particle_group_base::set_boxnd ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), intent(in)  i,
integer(kind=i32), dimension(:), intent(out)  box 
)
private

Set the number of the box from nd index (by default nothing is done)

Parameters
[in]selfparticle group object
[in]iparticle number
[out]boxbox number

Definition at line 326 of file sll_m_particle_group_base.F90.

◆ set_patch()

subroutine sll_m_particle_group_base::set_patch ( class(sll_c_particle_group_base), intent(in)  self,
integer(kind=i32), intent(in)  i,
integer(kind=i32), intent(out)  box 
)
private

Set the number of the patch (by default nothing is done)

Parameters
[in]selfparticle group object
[in]iparticle number
[out]boxbox number

Definition at line 336 of file sll_m_particle_group_base.F90.

◆ sll_f_index_1dto2d()

pure integer(kind=i32) function, dimension(2), public sll_m_particle_group_base::sll_f_index_1dto2d ( integer(kind=i32), dimension(2), intent(in)  num_pts,
integer(kind=i32), intent(in)  ind1d 
)

Helper function to compute the 2d index for a tensor product grid from the 1d index.

Definition at line 451 of file sll_m_particle_group_base.F90.

◆ sll_f_index_1dto3d()

pure integer(kind=i32) function, dimension(3), public sll_m_particle_group_base::sll_f_index_1dto3d ( integer(kind=i32), dimension(3), intent(in)  num_pts,
integer(kind=i32), intent(in)  ind1d 
)

Helper function to compute the 2d index for a tensor product grid from the 1d index.

Definition at line 475 of file sll_m_particle_group_base.F90.

◆ sll_f_index_2dto1d()

pure integer(kind=i32) function, public sll_m_particle_group_base::sll_f_index_2dto1d ( integer(kind=i32), dimension(2), intent(in)  num_pts,
integer(kind=i32), dimension(2), intent(in)  ind2d 
)

Helper function to compute the 1d index for a tensor product grid from the 2d index.

Definition at line 463 of file sll_m_particle_group_base.F90.

◆ sll_f_index_3dto1d()

pure integer(kind=i32) function, public sll_m_particle_group_base::sll_f_index_3dto1d ( integer(kind=i32), dimension(3), intent(in)  num_pts,
integer(kind=i32), dimension(3), intent(in)  ind3d 
)

Helper function to compute the 1d index for a tensor product grid from the 2d index.

Definition at line 492 of file sll_m_particle_group_base.F90.

    Report Typos and Errors