Hipace
Functions
PlasmaDepositCurrent.cpp File Reference
#include "PlasmaDepositCurrent.H"
#include "particles/particles_utils/ShapeFactors.H"
#include "particles/particles_utils/FieldGather.H"
#include "particles/plasma/PlasmaParticleContainer.H"
#include "particles/sorting/TileSort.H"
#include "fields/Fields.H"
#include "utils/Constants.H"
#include "Hipace.H"
#include "utils/HipaceProfilerWrapper.H"
#include "utils/GPUUtil.H"

Functions

void DepositCurrent (PlasmaParticleContainer &plasma, Fields &fields, const MultiLaser &multi_laser, const int which_slice, const bool deposit_jx_jy, const bool deposit_jz, const bool deposit_rho, const bool deposit_chi, const bool deposit_rhomjz, amrex::Vector< amrex::Geometry > const &gm, int const lev, const PlasmaBins &bins, int bin_size)
 

Function Documentation

◆ DepositCurrent()

void DepositCurrent ( PlasmaParticleContainer plasma,
Fields fields,
const MultiLaser multi_laser,
const int  which_slice,
const bool  deposit_jx_jy,
const bool  deposit_jz,
const bool  deposit_rho,
const bool  deposit_chi,
const bool  deposit_rhomjz,
amrex::Vector< amrex::Geometry > const &  gm,
int const  lev,
const PlasmaBins bins,
int  bin_size 
)

Depose current of particles in species plasma into the current 2D slice in fields

Parameters
[in]plasmaspecies of which the current is deposited
[in,out]fieldsthe general field class, modified by this function
[in]multi_laserMultiLaser that affects the plasma during the deposition
[in]which_slicedefines if this or the next slice is handled
[in]deposit_jx_jyif true, deposit to jx and jy
[in]deposit_jzif true, deposit to jz
[in]deposit_rhoif true, deposit to rho
[in]deposit_chiif true, deposit chi
[in]deposit_rhomjzif true, deposit rhomjz
[in]gmGeometry of the simulation, to get the cell size etc.
[in]levMR level
[in]binsobjects containing indices of plasma particles in each tile
[in]bin_sizetile size (square)