#include <WarpXOpenPMD.H>
|
| void | Init (openPMD::Access access, const std::string &filePrefix) |
| |
| void | SetupPos (WarpXParticleContainer *pc, openPMD::ParticleSpecies &currSpecies, const unsigned long long &np) const |
| |
| void | SetupRealProperties (openPMD::ParticleSpecies &currSpecies, const amrex::Vector< int > &write_real_comp, const amrex::Vector< std::string > &real_comp_names, unsigned long long np) const |
| |
| void | SaveRealProperty (WarpXParIter &pti, openPMD::ParticleSpecies &currSpecies, unsigned long long offset, const amrex::Vector< int > &write_real_comp, const amrex::Vector< std::string > &real_comp_names) const |
| |
| void | DumpToFile (WarpXParticleContainer *pc, const std::string &name, int iteration, const amrex::Vector< int > &write_real_comp, const amrex::Vector< int > &write_int_comp, const amrex::Vector< std::string > &real_comp_names, const amrex::Vector< std::string > &int_comp_names) const |
| |
| void | GetFileName (std::string &filename) |
| |
Writer logic for openPMD particles and fields
◆ WarpXOpenPMDPlot()
| WarpXOpenPMDPlot::WarpXOpenPMDPlot |
( |
bool |
oneFilePerTS, |
|
|
std::string |
filetype, |
|
|
std::vector< bool > |
fieldPMLdirections |
|
) |
| |
Initialize openPMD I/O routines
- Parameters
-
| oneFilePerTS | write one file per timestep |
| filetype | file backend, e.g. "bp" or "h5" |
| fieldPMLdirections | PML field solver, |
- See also
- WarpX::getPMLdirections()
◆ ~WarpXOpenPMDPlot()
| WarpXOpenPMDPlot::~WarpXOpenPMDPlot |
( |
| ) |
|
◆ CloseStep()
| void WarpXOpenPMDPlot::CloseStep |
( |
| ) |
|
Close the step
Signal that no further updates will be written for the step.
◆ DumpToFile()
| void WarpXOpenPMDPlot::DumpToFile |
( |
WarpXParticleContainer * |
pc, |
|
|
const std::string & |
name, |
|
|
int |
iteration, |
|
|
const amrex::Vector< int > & |
write_real_comp, |
|
|
const amrex::Vector< int > & |
write_int_comp, |
|
|
const amrex::Vector< std::string > & |
real_comp_names, |
|
|
const amrex::Vector< std::string > & |
int_comp_names |
|
) |
| const |
|
private |
This function saves the plot file
- Parameters
-
| [in] | pc | WarpX particle container |
| [in] | name | species name |
| [in] | iteration | timestep |
| [in] | write_real_comp | The real attribute ids, from WarpX |
| [in] | real_comp_names | The real attribute names, from WarpX |
| [in] | write_int_comp | The int attribute ids, from WarpX |
| [in] | int_comp_names | The int attribute names, from WarpX |
◆ GetFileName()
| void WarpXOpenPMDPlot::GetFileName |
( |
std::string & |
filename | ) |
|
|
private |
◆ Init()
| void WarpXOpenPMDPlot::Init |
( |
openPMD::Access |
access, |
|
|
const std::string & |
filePrefix |
|
) |
| |
|
private |
◆ SaveRealProperty()
| void WarpXOpenPMDPlot::SaveRealProperty |
( |
WarpXParIter & |
pti, |
|
|
openPMD::ParticleSpecies & |
currSpecies, |
|
|
unsigned long long |
offset, |
|
|
const amrex::Vector< int > & |
write_real_comp, |
|
|
const amrex::Vector< std::string > & |
real_comp_names |
|
) |
| const |
|
private |
This function saves the values of the entries for particle properties
- Parameters
-
| [in] | pti | WarpX particle iterator |
| [in] | currSpecies | The openPMD species to save to |
| [in] | offset | offset to start saving the particle iterator contents |
| [in] | write_real_comp | The real attribute ids, from WarpX |
| [in] | real_comp_names | The real attribute names, from WarpX |
◆ SetStep()
| void WarpXOpenPMDPlot::SetStep |
( |
int |
ts, |
|
|
const std::string & |
filePrefix |
|
) |
| |
Set Iteration Step for the series
- Note
- If an iteration has been written, then it will give a warning
◆ SetupPos()
| void WarpXOpenPMDPlot::SetupPos |
( |
WarpXParticleContainer * |
pc, |
|
|
openPMD::ParticleSpecies & |
currSpecies, |
|
|
const unsigned long long & |
np |
|
) |
| const |
|
private |
This function sets up the entries for storing the particle positions, global IDs, and constant records (charge, mass)
- Parameters
-
| [in] | pc | WarpX particle container |
| [in] | currSpecies | Corresponding openPMD species |
| [in] | np | Number of particles |
◆ SetupRealProperties()
| void WarpXOpenPMDPlot::SetupRealProperties |
( |
openPMD::ParticleSpecies & |
currSpecies, |
|
|
const amrex::Vector< int > & |
write_real_comp, |
|
|
const amrex::Vector< std::string > & |
real_comp_names, |
|
|
unsigned long long |
np |
|
) |
| const |
|
private |
This function sets up the entries for particle properties
- Parameters
-
| [in] | currSpecies | The openPMD species |
| [in] | write_real_comp | The real attribute ids, from WarpX |
| [in] | real_comp_names | The real attribute names, from WarpX |
| [in] | np | Number of particles |
◆ WriteOpenPMDFields()
| void WarpXOpenPMDPlot::WriteOpenPMDFields |
( |
const std::vector< std::string > & |
varnames, |
|
|
const amrex::MultiFab & |
mf, |
|
|
const amrex::Geometry & |
geom, |
|
|
const int |
iteration, |
|
|
const double |
time |
|
) |
| const |
◆ WriteOpenPMDParticles()
| void WarpXOpenPMDPlot::WriteOpenPMDParticles |
( |
const amrex::Vector< ParticleDiag > & |
particle_diags | ) |
|
◆ m_CurrentStep
| int WarpXOpenPMDPlot::m_CurrentStep = -1 |
|
private |
MPI-parallel openPMD backend: bp or h5.
◆ m_fieldPMLdirections
| std::vector< bool > WarpXOpenPMDPlot::m_fieldPMLdirections |
|
private |
◆ m_MPIRank
| int WarpXOpenPMDPlot::m_MPIRank = 0 |
|
private |
◆ m_MPISize
| int WarpXOpenPMDPlot::m_MPISize = 1 |
|
private |
◆ m_NumAoSRealAttributes
| int WarpXOpenPMDPlot::m_NumAoSRealAttributes = 0 |
|
private |
WarpX' addition particle attributes in SoA.
◆ m_NumSoARealAttributes
◆ m_OneFilePerTS
| bool WarpXOpenPMDPlot::m_OneFilePerTS = true |
|
private |
WarpX definition: no additional attributes in particle AoS.
◆ m_OpenPMDFileType
| std::string WarpXOpenPMDPlot::m_OpenPMDFileType = "bp" |
|
private |
write in openPMD fileBased manner for individual time steps
◆ m_Series
| std::unique_ptr<openPMD::Series> WarpXOpenPMDPlot::m_Series |
|
private |
The documentation for this class was generated from the following files:
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/20.10/Source/Diagnostics/WarpXOpenPMD.H
- /home/docs/checkouts/readthedocs.org/user_builds/warpx/checkouts/20.10/Source/Diagnostics/WarpXOpenPMD.cpp