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

Description

Selalib periodic 2D maxwell solver for cartesian coordinates.

Derived types and interfaces

type  sll_t_maxwell_2d_periodic_plan_cartesian_par
 Maxwell solver 2D object, PSTD scheme. More...
 

Functions/Subroutines

type(sll_t_maxwell_2d_periodic_plan_cartesian_par) function, pointer, public sll_f_new_maxwell_2d_periodic_plan_cartesian_par (layout_x, layout_y, ncx, ncy, Lx, Ly)
 Presently, this function receives the geometric information as individual arguments. We should consider passing the 'simple geometry' object that we have for the cartesian cases. More...
 
subroutine, public sll_s_faraday_te (plan, dt, ex, ey)
 Solve faraday equation (TE mode) More...
 
subroutine, public sll_s_ampere_te (plan, dt, ex, ey, jx, jy)
 Solve Ampere-Maxwell equation (TE mode) More...
 
subroutine ampere_tm (plan, dt, bx, by, jz)
 Solve Ampere-Maxwell equation (TE mode) More...
 
subroutine faraday_tm (plan, dt, bx, by)
 Solve Ampere-Maxwell equation (TE mode) More...
 
subroutine, public sll_s_delete_maxwell_2d_periodic_plan_cartesian_par (plan)
 Delete maxwell solver object. More...
 
subroutine verify_argument_sizes_par (layout, array)
 Check array size. More...
 

Function/Subroutine Documentation

◆ ampere_tm()

subroutine sll_m_maxwell_2d_periodic_cartesian_par::ampere_tm ( type(sll_t_maxwell_2d_periodic_plan_cartesian_par), pointer  plan,
real(kind=f64), intent(in)  dt,
real(kind=f64), dimension(:, :)  bx,
real(kind=f64), dimension(:, :)  by,
real(kind=f64), dimension(:, :), optional  jz 
)
private

Solve Ampere-Maxwell equation (TE mode)

Parameters
planmaxwell object
bxelectric field sequential in y
byelectric field sequential in x
jzcurrent density sequential in
[in]dttime step

Definition at line 298 of file sll_m_maxwell_2d_periodic_cartesian_par.F90.

Here is the call graph for this function:

◆ faraday_tm()

subroutine sll_m_maxwell_2d_periodic_cartesian_par::faraday_tm ( type(sll_t_maxwell_2d_periodic_plan_cartesian_par), pointer  plan,
real(kind=f64), intent(in)  dt,
real(kind=f64), dimension(:, :), intent(inout)  bx,
real(kind=f64), dimension(:, :), intent(inout)  by 
)
private

Solve Ampere-Maxwell equation (TE mode)

Parameters
planmaxwell object
[in,out]bxBx field
[in,out]byBy field
[in]dttime step

Definition at line 353 of file sll_m_maxwell_2d_periodic_cartesian_par.F90.

Here is the call graph for this function:

◆ sll_f_new_maxwell_2d_periodic_plan_cartesian_par()

type(sll_t_maxwell_2d_periodic_plan_cartesian_par) function, pointer, public sll_m_maxwell_2d_periodic_cartesian_par::sll_f_new_maxwell_2d_periodic_plan_cartesian_par ( type(sll_t_layout_2d), pointer  layout_x,
type(sll_t_layout_2d), pointer  layout_y,
integer(kind=i32)  ncx,
integer(kind=i32)  ncy,
real(kind=f64)  Lx,
real(kind=f64)  Ly 
)

Presently, this function receives the geometric information as individual arguments. We should consider passing the 'simple geometry' object that we have for the cartesian cases.

Returns
maxwell object
Parameters
layout_xsequential in x direction
layout_ysequential in y direction
ncxx cell number
ncyy cell number
lxDomain x length
lyDomain y length

Definition at line 111 of file sll_m_maxwell_2d_periodic_cartesian_par.F90.

Here is the call graph for this function:

◆ sll_s_ampere_te()

subroutine, public sll_m_maxwell_2d_periodic_cartesian_par::sll_s_ampere_te ( type(sll_t_maxwell_2d_periodic_plan_cartesian_par), pointer  plan,
real(kind=f64), intent(in)  dt,
real(kind=f64), dimension(:, :), intent(inout)  ex,
real(kind=f64), dimension(:, :), intent(inout)  ey,
real(kind=f64), dimension(:, :), optional  jx,
real(kind=f64), dimension(:, :), optional  jy 
)

Solve Ampere-Maxwell equation (TE mode)

Parameters
planmaxwell object
[in,out]exEx field
[in,out]eyEy field
jxJx field
jyJy field
[in]dttime step

Definition at line 237 of file sll_m_maxwell_2d_periodic_cartesian_par.F90.

Here is the call graph for this function:

◆ sll_s_delete_maxwell_2d_periodic_plan_cartesian_par()

subroutine, public sll_m_maxwell_2d_periodic_cartesian_par::sll_s_delete_maxwell_2d_periodic_plan_cartesian_par ( type(sll_t_maxwell_2d_periodic_plan_cartesian_par), pointer  plan)

Delete maxwell solver object.

Delete maxwell solver object

Parameters
planmaxwell object

Definition at line 401 of file sll_m_maxwell_2d_periodic_cartesian_par.F90.

Here is the call graph for this function:

◆ sll_s_faraday_te()

subroutine, public sll_m_maxwell_2d_periodic_cartesian_par::sll_s_faraday_te ( type(sll_t_maxwell_2d_periodic_plan_cartesian_par), pointer  plan,
real(kind=f64), intent(in)  dt,
real(kind=f64), dimension(:, :)  ex,
real(kind=f64), dimension(:, :)  ey 
)

Solve faraday equation (TE mode)

Parameters
planmaxwell object
exx electric field
eyy electric field
[in]dttime step

Definition at line 190 of file sll_m_maxwell_2d_periodic_cartesian_par.F90.

Here is the call graph for this function:

◆ verify_argument_sizes_par()

subroutine sll_m_maxwell_2d_periodic_cartesian_par::verify_argument_sizes_par ( type(sll_t_layout_2d), pointer  layout,
real(kind=f64), dimension(:, :)  array 
)
private

Check array size.

Definition at line 423 of file sll_m_maxwell_2d_periodic_cartesian_par.F90.

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