WarpX
Loading...
Searching...
No Matches
ParticleIO.cpp File Reference
#include "Fields.H"
#include "Particles/ParticleIO.H"
#include "Particles/Pusher/GetAndSetPosition.H"
#include "Particles/MultiParticleContainer.H"
#include "Particles/PhysicalParticleContainer.H"
#include "Particles/LaserParticleContainer.H"
#include "Particles/RigidInjectedParticleContainer.H"
#include "Particles/WarpXParticleContainer.H"
#include "Utils/TextMsg.H"
#include "WarpX.H"
#include "ablastr/fields/MultiFabRegister.H"
#include <ablastr/utils/text/StreamUtils.H>
#include <AMReX_Array.H>
#include <AMReX_Array4.H>
#include <AMReX_BLassert.H>
#include <AMReX_Config.H>
#include <AMReX_FArrayBox.H>
#include <AMReX_FabArray.H>
#include <AMReX_Geometry.H>
#include <AMReX_GpuControl.H>
#include <AMReX_GpuLaunch.H>
#include <AMReX_GpuQualifiers.H>
#include <AMReX_IndexType.H>
#include <AMReX_MultiFab.H>
#include <AMReX_ParallelDescriptor.H>
#include <AMReX_ParIter.H>
#include <AMReX_ParticleIO.H>
#include <AMReX_Print.H>
#include <AMReX_REAL.H>
#include <AMReX_Vector.H>
#include <algorithm>
#include <memory>
#include <string>
#include <sstream>
#include <vector>

Enumerations

enum class  FieldType
 

Functions

void storePhiOnParticles (WarpXParticleContainer::Base &tmp, ElectrostaticSolverAlgo electrostatic_solver_id, bool is_full_diagnostic)
 
void storeFieldOnParticles (WarpXParticleContainer::Base &tmp, bool is_full_diagnostic, bool save_Ex, bool save_Ey, bool save_Ez, bool save_Bx, bool save_By, bool save_Bz)
 Gathers fields from a MultiFab to the macroparticles. Adds a runtime component of the particle container to store it.
 

Enumeration Type Documentation

◆ FieldType

enum class warpx::fields::FieldType : int
strong

Unique identifiers for WarpX scalar and vector fields.

These are implemented as amrex::MultiFab (one or one per component "direction", respectively) and stored in the ablastr::fields::MultiFabRegister .

Function Documentation

◆ storeFieldOnParticles()

void storeFieldOnParticles ( WarpXParticleContainer::Base & tmp,
bool is_full_diagnostic,
bool save_Ex,
bool save_Ey,
bool save_Ez,
bool save_Bx,
bool save_By,
bool save_Bz )

Gathers fields from a MultiFab to the macroparticles. Adds a runtime component of the particle container to store it.

Parameters
tmpThe particle container on which to store the gathered field
is_full_diagnosticWhether this diagnostic is a full diagnostic
save_ExWhether the Ex field is saved
save_EyWhether the Ex field is saved
save_EzWhether the Ex field is saved
save_BxWhether the Ex field is saved
save_ByWhether the Ex field is saved
save_BzWhether the Ex field is saved

◆ storePhiOnParticles()

void storePhiOnParticles ( WarpXParticleContainer::Base & tmp,
ElectrostaticSolverAlgo electrostatic_solver_id,
bool is_full_diagnostic )

Gathers phi (electrostatic potential) from a MultiFab to the macroparticles. Adds a runtime component of the particle container to store it.

Parameters
tmpthe particle container on which to store the gathered field
electrostatic_solver_idthe type of electrostatic solver used
is_full_diagnosticwhether this diagnostic is a full diagnostic