OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
AmrYtWriter.h
Go to the documentation of this file.
1 #ifndef AMR_YT_WRITER_H
2 #define AMR_YT_WRITER_H
3 
5 
6 #include <boost/filesystem.hpp>
7 
8 #include <vector>
9 
21 
22 public:
23 
28  AmrYtWriter(int step, int bin = 0);
29 
39  const amr::AmrVectorFieldContainer_t& efield,
40  const amr::AmrIntArray_t& refRatio,
41  const amr::AmrGeomContainer_t& geom,
42  const int& nLevel,
43  const double& time,
44  const double& scale);
45 
46 
47  void writeBunch(const AmrPartBunch* bunch_p,
48  const double& time,
49  const double& gamma);
50 
51 private:
52  /* Copied and slightely modified version of
53  * AMReX_ParticleContainerI.H
54  *
55  * @param level to write
56  * @param ofs out stream
57  * @param fnum file number
58  * @param which file
59  * @param count how many particles on this grid
60  * @param where file offset
61  * @param bunch_p to get data from
62  * @param gamma is the Lorentz factor
63  */
64  void writeParticles_m(int level,
65  std::ofstream& ofs,
66  int fnum,
67  amrex::Vector<int>& which,
68  amrex::Vector<int>& count,
69  amrex::Vector<long>& where,
70  const AmrPartBunch* bunch_p,
71  const double gamma) const;
72 
73 private:
74  std::string dir_m;
75 
76  std::vector<std::string> intData_m;
77  std::vector<std::string> realData_m;
78 };
79 
80 #endif
AmrYtWriter(int step, int bin=0)
Definition: AmrYtWriter.cpp:15
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
std::string dir_m
directory where to write files
Definition: AmrYtWriter.h:74
amrex::Vector< AmrGeometry_t > AmrGeomContainer_t
Definition: AmrDefs.h:23
void writeBunch(const AmrPartBunch *bunch_p, const double &time, const double &gamma)
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)
Definition: AmrYtWriter.cpp:68
amrex::Vector< int > AmrIntArray_t
Definition: AmrDefs.h:27
std::vector< std::string > intData_m
integer bunch data
Definition: AmrYtWriter.h:76
PETE_TTTree< OpWhere, typename Cond_t::PETE_Expr_t, typename True_t::PETE_Expr_t, PETE_Scalar< Vektor< T, Dim > > > where(const PETE_Expr< Cond_t > &c, const PETE_Expr< True_t > &t, const Vektor< T, Dim > &f)
amrex::Vector< AmrVectorField_t > AmrVectorFieldContainer_t
Definition: AmrDefs.h:22
amrex::Vector< std::unique_ptr< AmrField_t > > AmrScalarFieldContainer_t
Definition: AmrDefs.h:21
std::vector< std::string > realData_m
real bunch data
Definition: AmrYtWriter.h:77