8 #ifndef WARPX_BackTransformedDiagnostic_H_ 9 #define WARPX_BackTransformedDiagnostic_H_ 14 #include <AMReX_Geometry.H> 15 #include <AMReX_ParallelDescriptor.H> 16 #include <AMReX_PlotFileUtil.H> 17 #include <AMReX_VisMF.H> 78 amrex::Real inv_beta);
91 amrex::Vector<int>
const& ){}
100 amrex::Vector<WarpXParticleContainer::DiagnosticParticleData>
const& ,
120 amrex::Real inv_gamma_boost_in, amrex::Real inv_beta_boost_in,
121 amrex::Real dz_lab_in, amrex::RealBox prob_domain_lab,
122 amrex::IntVect prob_ncells_lab,
int ncomp_to_dump,
123 std::vector<std::string> mesh_field_names,
124 amrex::RealBox diag_domain_lab,
125 amrex::Box diag_box,
int file_num_in);
127 amrex::Vector<int>
const& map_actual_fields_to_dump)
override;
129 amrex::Vector<WarpXParticleContainer::DiagnosticParticleData>
const& tmp_particle_buffer,
130 int nSpeciesBoostedFrame)
override;
146 amrex::Real inv_gamma_boost_in, amrex::Real inv_beta_boost_in,
147 amrex::Real dz_lab_in, amrex::RealBox prob_domain_lab,
148 amrex::IntVect prob_ncells_lab,
int ncomp_to_dump,
149 std::vector<std::string> mesh_field_names,
150 amrex::RealBox diag_domain_lab,
151 amrex::Box diag_box,
int file_num_in,
152 amrex::Real particle_slice_dx_lab);
154 amrex::Vector<int>
const& map_actual_fields_to_dump)
override;
156 amrex::Vector<WarpXParticleContainer::DiagnosticParticleData>
const& tmp_particle_buffer,
157 int nSpeciesBoostedFrame)
override;
181 amrex::Real v_window_lab, amrex::Real dt_snapshots_lab,
182 int N_snapshots, amrex::Real dt_slice_snapshots_lab,
184 amrex::Real t_boost, amrex::Real dt_boost,
185 int boost_direction,
const amrex::Geometry& geom,
186 amrex::RealBox& slice_realbox,
187 amrex::Real particle_slice_width_lab);
191 void Flush(
const amrex::Geometry& geom);
215 void writeLabFrameData(
const amrex::MultiFab* cell_centered_data,
217 const amrex::Geometry& geom,
218 const amrex::Real t_boost,
const amrex::Real dt);
220 void writeMetaData();
238 int m_max_box_size_ = 256;
242 void writeParticleData(
244 const std::string&
name,
const int i_lab);
246 #ifdef WARPX_USE_HDF5 247 void writeParticleDataHDF5(
249 const std::string&
name,
const std::string& species_name);
252 std::map<std::string, int> m_possible_fields_to_dump = {
270 std::vector<std::string> m_mesh_field_names = {
"Ex",
"Ey",
"Ez",
272 "jx",
"jy",
"jz",
"rho"};
273 int m_ncomp_to_dump = 10;
int m_ncomp_to_dump_
Definition: BackTransformedDiagnostic.H:59
void updateCurrentZPositions(amrex::Real t_boost, amrex::Real inv_gamma, amrex::Real inv_beta)
Definition: BackTransformedDiagnostic.cpp:1152
LabFrameSnapShot stores the back-transformed lab-frame metadata corresponding to a single time snapsh...
Definition: BackTransformedDiagnostic.H:117
amrex::Real m_current_z_lab
Definition: BackTransformedDiagnostic.H:52
int m_buff_counter_
Definition: BackTransformedDiagnostic.H:74
int gamma_boost
Definition: compute_domain.py:41
amrex::IntVect m_prob_ncells_lab_
Definition: BackTransformedDiagnostic.H:48
std::vector< std::string > m_mesh_field_names_
Definition: BackTransformedDiagnostic.H:60
amrex::Box m_buff_box_
Definition: BackTransformedDiagnostic.H:50
Definition: MultiParticleContainer.H:53
amrex::Real m_inv_beta_boost_
Definition: BackTransformedDiagnostic.H:55
LabFrameSlice stores the back-transformed metadata corresponding to a single time at the user-defined...
Definition: BackTransformedDiagnostic.H:143
void writeLabFrameHeader()
Definition: BackTransformedDiagnostic.cpp:1241
amrex::Real m_current_z_boost
Definition: BackTransformedDiagnostic.H:53
amrex::Real m_t_lab
Definition: BackTransformedDiagnostic.H:46
amrex::Real m_dz_lab_
Definition: BackTransformedDiagnostic.H:56
virtual void AddDataToBuffer(amrex::MultiFab &, int, amrex::Vector< int > const &)
Definition: BackTransformedDiagnostic.H:90
std::string m_file_name
Definition: BackTransformedDiagnostic.H:45
virtual void AddPartDataToParticleBuffer(amrex::Vector< WarpXParticleContainer::DiagnosticParticleData > const &, int)
Definition: BackTransformedDiagnostic.H:99
amrex::StructOfArrays< DiagIdx::nattribs, 0 > DiagnosticParticleData
Definition: WarpXParticleContainer.H:142
amrex::RealBox m_prob_domain_lab_
Definition: BackTransformedDiagnostic.H:47
void createLabFrameDirectories()
Definition: BackTransformedDiagnostic.cpp:1160
The capability for back-transformed lab-frame data is implemented to generate the full diagnostic sna...
Definition: BackTransformedDiagnostic.H:43
std::unique_ptr< amrex::MultiFab > m_data_buffer_
Definition: BackTransformedDiagnostic.H:68
int m_max_box_size
Definition: BackTransformedDiagnostic.H:76
int m_num_buffer_
Definition: BackTransformedDiagnostic.H:75
amrex::Real m_inv_gamma_boost_
Definition: BackTransformedDiagnostic.H:54
name
Definition: run_automated.py:204
int m_initial_i
Definition: BackTransformedDiagnostic.H:63
int m_file_num
Definition: BackTransformedDiagnostic.H:62
amrex::Vector< WarpXParticleContainer::DiagnosticParticleData > m_particles_buffer_
Definition: BackTransformedDiagnostic.H:72
amrex::Real m_particle_slice_dx_lab_
Definition: BackTransformedDiagnostic.H:57
amrex::RealBox m_diag_domain_lab_
Definition: BackTransformedDiagnostic.H:49
virtual ~LabFrameDiag()=default