OPAL (Object Oriented Parallel Accelerator Library)
2.2.0
OPAL
|
#include <AmrYtWriter.h>
Public Member Functions | |
AmrYtWriter (int step, int bin=0) | |
void | writeFields (const amr::AmrScalarFieldContainer_t &rho, const amr::AmrScalarFieldContainer_t &phi, const amr::AmrVectorFieldContainer_t &efield, const amr::AmrIntArray_t &refRatio, const amr::AmrGeomContainer_t &geom, const int &nLevel, const double &time, const double &scale) |
void | writeBunch (const AmrPartBunch *bunch_p, const double &time, const double &gamma) |
![]() | |
virtual | ~AbstractAmrWriter () |
Private Member Functions | |
void | writeParticles_m (int level, std::ofstream &ofs, int fnum, amrex::Vector< int > &which, amrex::Vector< int > &count, amrex::Vector< long > &where, const AmrPartBunch *bunch_p, const double gamma) const |
Private Attributes | |
std::string | dir_m |
directory where to write files More... | |
std::vector< std::string > | intData_m |
integer bunch data More... | |
std::vector< std::string > | realData_m |
real bunch data More... | |
This concrete class writes output files that are readable by yt. The format can be read by the fork opal-yt that uses accelerator units instead of astrophysics units. The functions are copied from AMReX and modified to fit our needs.
Definition at line 20 of file AmrYtWriter.h.
AmrYtWriter::AmrYtWriter | ( | int | step, |
int | bin = 0 |
||
) |
step | we write |
bin | energy bin we write (multi-bunch simulation) |
Definition at line 15 of file AmrYtWriter.cpp.
References Communicate::barrier(), IpplInfo::Comm, dir_m, Hypervolume::fs, OpalData::getInputBasename(), OpalData::getInstance(), intData_m, IpplInfo::myNode(), and realData_m.
|
virtual |
bunch_p | |
time | |
scale | used for mapping |
Implements AbstractAmrWriter.
Definition at line 273 of file AmrYtWriter.cpp.
References allreduce(), Communicate::barrier(), IpplInfo::Comm, dir_m, BoxLibLayout< T, Dim >::finestLevel(), AmrParticleBase< PLayout >::getAmrLayout(), AmrPartBunch::getAmrParticleBase(), PartBunchBase< T, Dim >::getLayout(), AmrParticleBase< PLayout >::getLocalNumPerLevel(), PartBunchBase< T, Dim >::getTotalNum(), Options::info, intData_m, max(), min(), IpplInfo::myNode(), realData_m, where(), and writeParticles_m().
|
virtual |
Write yt files to the simulation subdirectory data/amr/yt. The data can be visualized using the python script pyOPALTools/amrPlots/visualize.py. Use the help to find out how to call the script.
Implements AbstractAmrWriter.
Definition at line 68 of file AmrYtWriter.cpp.
References Communicate::barrier(), IpplInfo::Comm, dir_m, IpplInfo::myNode(), and Hypervolume::n.
|
private |
Definition at line 533 of file AmrYtWriter.cpp.
References AmrParticleLevelCounter< Key, T, Compare, Allocator >::begin(), PartBunchBase< T, Dim >::Bf, PartBunchBase< T, Dim >::Bin, PartBunchBase< T, Dim >::dt, PartBunchBase< T, Dim >::Ef, AmrPartBunch::getAmrParticleBase(), OpalData::getInstance(), PartBunchBase< T, Dim >::getLayout(), AmrParticleBase< PLayout >::getLocalNumPerLevel(), AmrParticleBase< PLayout >::Grid, PartBunchBase< T, Dim >::ID, Options::info, intData_m, PartBunchBase< T, Dim >::M, IpplInfo::myNode(), PartBunchBase< T, Dim >::P, PartBunchBase< T, Dim >::Q, PartBunchBase< T, Dim >::R, and realData_m.
Referenced by writeBunch().
|
private |
directory where to write files
Definition at line 74 of file AmrYtWriter.h.
Referenced by AmrYtWriter(), writeBunch(), and writeFields().
|
private |
integer bunch data
Definition at line 76 of file AmrYtWriter.h.
Referenced by AmrYtWriter(), writeBunch(), and writeParticles_m().
|
private |
real bunch data
Definition at line 77 of file AmrYtWriter.h.
Referenced by AmrYtWriter(), writeBunch(), and writeParticles_m().