Block-Structured AMR Software Framework
 
Loading...
Searching...
No Matches
AMReX_ParticlesHDF5.H
Go to the documentation of this file.
1#ifndef AMREX_PARTICLES_HDF5_H_
2#define AMREX_PARTICLES_HDF5_H_
3
4public:
12 void WriteParticleRealDataHDF5 (void* data, size_t size, hid_t fid) const;
13
21 void ReadParticleRealDataHDF5 (void* data, size_t size, hid_t fid);
22
30 void CheckpointHDF5 (const std::string& dir, const std::string& name,
31 const std::string& compression = "None@0") const;
32
36 void CheckpointHDF5 (const std::string& dir, const std::string& name, bool is_checkpoint,
37 const Vector<std::string>& real_comp_names = Vector<std::string>(),
38 const Vector<std::string>& int_comp_names = Vector<std::string>(),
39 const std::string& compression = "None@0") const;
40
56 template <class F>
57 void WriteHDF5ParticleData (const std::string& dir,
58 const std::string& name,
59 const Vector<int>& write_real_comp,
60 const Vector<int>& write_int_comp,
61 const Vector<std::string>& real_comp_names,
62 const Vector<std::string>& int_comp_names,
63 const std::string& compression,
64 F&& f, bool is_checkpoint=false) const;
65
66
68
70
77 void RestartHDF5 (const std::string& dir, const std::string& file);
78
86 void RestartHDF5 (const std::string& dir, const std::string& file, bool is_checkpoint);
87
95 void WritePlotFileHDF5 (const std::string& dir, const std::string& name, const std::string& compression) const;
96
109 template <class F, std::enable_if_t<!std::is_same_v<F, Vector<std::string>>>* = nullptr>
110 void WritePlotFileHDF5 (const std::string& dir, const std::string& name, const std::string& compression, F&& f) const;
111
121 void WritePlotFileHDF5 (const std::string& dir, const std::string& name,
122 const Vector<std::string>& real_comp_names,
123 const Vector<std::string>& int_comp_names,
124 const std::string& compression) const;
125
140 template <class F>
141 void WritePlotFileHDF5 (const std::string& dir, const std::string& name,
142 const Vector<std::string>& real_comp_names,
143 const Vector<std::string>& int_comp_names,
144 const std::string& compression, F&& f) const;
145
155 void WritePlotFileHDF5 (const std::string& dir, const std::string& name,
156 const Vector<std::string>& real_comp_names,
157 const std::string& compression) const;
158
173 template <class F, std::enable_if_t<!std::is_same_v<F, Vector<std::string>>>* = nullptr>
174 void WritePlotFileHDF5 (const std::string& dir, const std::string& name,
175 const Vector<std::string>& real_comp_names,
176 const std::string& compression, F&& f) const;
177
188 void WritePlotFileHDF5 (const std::string& dir,
189 const std::string& name,
190 const Vector<int>& write_real_comp,
191 const Vector<int>& write_int_comp,
192 const std::string& compression) const;
193
209 template <class F>
210 void WritePlotFileHDF5 (const std::string& dir,
211 const std::string& name,
212 const Vector<int>& write_real_comp,
213 const Vector<int>& write_int_comp,
214 const std::string& compression, F&& f) const;
215
230 void WritePlotFileHDF5 (const std::string& dir,
231 const std::string& name,
232 const Vector<int>& write_real_comp,
233 const Vector<int>& write_int_comp,
234 const Vector<std::string>& real_comp_names,
235 const Vector<std::string>& int_comp_names,
236 const std::string& compression) const;
237
257 template <class F>
258 void WritePlotFileHDF5 (const std::string& dir,
259 const std::string& name,
260 const Vector<int>& write_real_comp,
261 const Vector<int>& write_int_comp,
262 const Vector<std::string>& real_comp_names,
263 const Vector<std::string>& int_comp_names,
264 const std::string& compression,
265 F&& f) const;
266
268
270
271 void
272 WriteParticlesHDF5 (int level, hid_t grp,
273 Vector<int>& which, Vector<int>& count, Vector<Long>& where,
274 const Vector<int>& write_real_comp, const Vector<int>& write_int_comp,
275 const std::string& compression,
276 const Vector<std::map<std::pair<int, int>,IntVector>>& particle_io_flags, bool is_checkpoint) const;
277
278protected:
279
280template <class RTYPE>
281void ReadParticlesHDF5 (hsize_t offset, hsize_t count, int grd, int lev, hid_t int_dset, hid_t real_dset, int finest_level_in_file, bool convert_ids);
282
283#endif
Array4< int const > offset
Definition AMReX_HypreMLABecLap.cpp:1089
void CheckpointHDF5(const std::string &dir, const std::string &name, const std::string &compression="None@0") const
Writes a particle checkpoint to file, suitable for restarting.
void WritePlotFilePreHDF5()
void CheckpointPreHDF5()
void WritePlotFilePostHDF5()
void ReadParticleRealDataHDF5(void *data, size_t size, hid_t fid)
Read a contiguous chunk of real particle data from HDF5 file.
void ReadParticlesHDF5(hsize_t offset, hsize_t count, int grd, int lev, hid_t int_dset, hid_t real_dset, int finest_level_in_file, bool convert_ids)
void WriteParticlesHDF5(int level, hid_t grp, Vector< int > &which, Vector< int > &count, Vector< Long > &where, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const std::string &compression, const Vector< std::map< std::pair< int, int >, IntVector > > &particle_io_flags, bool is_checkpoint) const
void WritePlotFileHDF5(const std::string &dir, const std::string &name, const std::string &compression) const
This version of WritePlotFile writes all components and assigns component names.
void RestartHDF5(const std::string &dir, const std::string &file)
Restart from checkpoint.
void WriteHDF5ParticleData(const std::string &dir, const std::string &name, const Vector< int > &write_real_comp, const Vector< int > &write_int_comp, const Vector< std::string > &real_comp_names, const Vector< std::string > &int_comp_names, const std::string &compression, F &&f, bool is_checkpoint=false) const
Writes particle data to disk in the HDF5 format.
void CheckpointPostHDF5()
void WriteParticleRealDataHDF5(void *data, size_t size, hid_t fid) const
Write a contiguous chunk of real particle data to an HDF5 file.