XGCa
Functions/Subroutines
efield.F90 File Reference
#include "t_coeff_mod_macro.h"
Include dependency graph for efield.F90:

Functions/Subroutines

subroutine efield (grid, psn, sp, i, fld, time)
 High level routine to valuate the electric field, potential and 3D perturbed magnetic field for at a particle's position. More...
 
subroutine efield_gk (grid, psn, sp, i, fld, itr, p)
 Low level routine to valuate the electric field, potential and 3D perturbed magnetic field for at a particle's position. This routine performs the actual interpolation. More...
 
subroutine efield_init (grid, psn)
 Initialization of the electric field. Simply calls the gradient operation on the potential. More...
 
subroutine ptb_bfield_gk (grid, psn, sp, i, fld, itr, p, search_ptl)
 Low level routine to evaluate the perturbed magnetic field, at a particle's position. This routine performs the actual interpolation. More...
 

Function/Subroutine Documentation

◆ efield()

subroutine efield ( type(grid_type), intent(in)  grid,
type(psn_type), intent(in)  psn,
type(species_type), intent(in)  sp,
integer, intent(in)  i,
type(fld_type), intent(inout)  fld,
real (kind=8), intent(in)  time 
)

High level routine to valuate the electric field, potential and 3D perturbed magnetic field for at a particle's position.

Parameters
[in]gridGrid data, type(grid_type)
[in]psnField date, type(psn_type)
[in]spParticle data, type(species_type)
[in]iParticle index in sp object, (integer)
[in,out]fldField data at the particle position, type(fld_type)
[in]timeSimulation time (not used!), (real(8))
Here is the call graph for this function:
Here is the caller graph for this function:

◆ efield_gk()

subroutine efield_gk ( type(grid_type), intent(in)  grid,
type(psn_type), intent(in)  psn,
type(species_type), intent(in)  sp,
integer, intent(in)  i,
type(fld_type), intent(inout)  fld,
integer, intent(in)  itr,
real (kind=8), dimension(3), intent(in)  p 
)

Low level routine to valuate the electric field, potential and 3D perturbed magnetic field for at a particle's position. This routine performs the actual interpolation.

Parameters
[in]gridGrid data, type(grid_type)
[in]psnField data on grid, type(psn_type)
[in]spParticle data, type(species_type)
[in]iParticle index in particle data, (integer)
[in,out]fldField data at particle position, type(fld_type)
[in]itrIndex of triangle corresponding to particle position, (integer)
[in]pInterpolation weights for triangle vertices, (real(8))
Here is the caller graph for this function:

◆ efield_init()

subroutine efield_init ( type(grid_type), intent(in)  grid,
type(psn_type), intent(inout)  psn 
)

Initialization of the electric field. Simply calls the gradient operation on the potential.

Parameters
[in]gridGrid data, type(grid_type)
[in,out]psnField data on the grid, type(psn_type)
Here is the call graph for this function:

◆ ptb_bfield_gk()

subroutine ptb_bfield_gk ( type(grid_type), intent(in)  grid,
type(psn_type), intent(in)  psn,
type(species_type), intent(in)  sp,
integer, intent(in)  i,
type(fld_type), intent(inout)  fld,
integer, intent(in)  itr,
real (kind=8), dimension(3), intent(in)  p,
logical, intent(in)  search_ptl 
)

Low level routine to evaluate the perturbed magnetic field, at a particle's position. This routine performs the actual interpolation.

Parameters
[in]gridGrid data, type(grid_type)
[in]psnField data on grid, type(psn_type)
[in]spParticle data, type(species_type)
[in]iParticle index in particle data, (integer)
[in,out]fldField data at particle position, type(fld_type)
[in]itrTriangle in which the particle is located (known >0, search -1 or 0, out of mesh <-1), integer
[in]pBarycentric coordinates in trianble itr, real(8)
[in]search_ptlWhether particle search is needed or not, logical
Here is the call graph for this function:
Here is the caller graph for this function: