8 #ifndef WARPX_BackTransformedDiagnostic_H_ 9 #define WARPX_BackTransformedDiagnostic_H_ 16 #include <AMReX_Box.H> 17 #include <AMReX_IntVect.H> 18 #include <AMReX_MultiFab.H> 19 #include <AMReX_REAL.H> 20 #include <AMReX_RealBox.H> 21 #include <AMReX_Vector.H> 23 #include <AMReX_BaseFwd.H> 84 amrex::Real inv_beta);
97 amrex::Vector<int>
const& ){}
106 amrex::Vector<WarpXParticleContainer::DiagnosticParticleData>
const& ,
126 amrex::Real inv_gamma_boost_in, amrex::Real inv_beta_boost_in,
127 amrex::Real dz_lab_in, amrex::RealBox prob_domain_lab,
128 amrex::IntVect prob_ncells_lab,
int ncomp_to_dump,
129 std::vector<std::string> mesh_field_names,
130 amrex::RealBox diag_domain_lab,
131 amrex::Box diag_box,
int file_num_in,
const int max_box_size,
132 const int buffer_size);
134 amrex::Vector<int>
const& map_actual_fields_to_dump)
override;
136 amrex::Vector<WarpXParticleContainer::DiagnosticParticleData>
const& tmp_particle_buffer,
137 int nSpeciesBoostedFrame)
override;
153 amrex::Real inv_gamma_boost_in, amrex::Real inv_beta_boost_in,
154 amrex::Real dz_lab_in, amrex::RealBox prob_domain_lab,
155 amrex::IntVect prob_ncells_lab,
int ncomp_to_dump,
156 std::vector<std::string> mesh_field_names,
157 amrex::RealBox diag_domain_lab,
158 amrex::Box diag_box,
int file_num_in,
159 amrex::Real particle_slice_dx_lab,
160 const int max_box_size,
161 const int buffer_size);
163 amrex::Vector<int>
const& map_actual_fields_to_dump)
override;
165 amrex::Vector<WarpXParticleContainer::DiagnosticParticleData>
const& tmp_particle_buffer,
166 int nSpeciesBoostedFrame)
override;
190 amrex::Real v_window_lab, amrex::Real dt_snapshots_lab,
191 int N_snapshots, amrex::Real dt_slice_snapshots_lab,
193 amrex::Real t_boost, amrex::Real dt_boost,
194 int boost_direction,
const amrex::Geometry& geom,
195 amrex::RealBox& slice_realbox,
196 amrex::Real particle_slice_width_lab);
200 void Flush (
const amrex::Geometry& geom);
224 void writeLabFrameData (
const amrex::MultiFab* cell_centered_data,
226 const amrex::Geometry& geom,
227 const amrex::Real t_boost,
const amrex::Real dt);
229 void writeMetaData ();
247 int m_max_box_size_ = 256;
251 void writeParticleData (
253 const std::string&
name,
const int i_lab);
255 #ifdef WARPX_USE_HDF5 256 void writeParticleDataHDF5(
258 const std::string&
name,
const std::string& species_name);
261 std::map<std::string, int> m_possible_fields_to_dump = {
279 std::vector<std::string> m_mesh_field_names = {
"Ex",
"Ey",
"Ez",
281 "jx",
"jy",
"jz",
"rho"};
282 int m_ncomp_to_dump = 10;
int m_ncomp_to_dump_
Definition: BackTransformedDiagnostic.H:66
void updateCurrentZPositions(amrex::Real t_boost, amrex::Real inv_gamma, amrex::Real inv_beta)
Definition: BackTransformedDiagnostic.cpp:1187
LabFrameSnapShot stores the back-transformed lab-frame metadata corresponding to a single time snapsh...
Definition: BackTransformedDiagnostic.H:123
amrex::Real m_current_z_lab
Definition: BackTransformedDiagnostic.H:59
int m_buff_counter_
Definition: BackTransformedDiagnostic.H:80
int gamma_boost
Definition: compute_domain.py:41
amrex::IntVect m_prob_ncells_lab_
Definition: BackTransformedDiagnostic.H:55
std::vector< std::string > m_mesh_field_names_
Definition: BackTransformedDiagnostic.H:67
amrex::Box m_buff_box_
Definition: BackTransformedDiagnostic.H:57
Definition: MultiParticleContainer.H:64
amrex::Real m_inv_beta_boost_
Definition: BackTransformedDiagnostic.H:62
LabFrameSlice stores the back-transformed metadata corresponding to a single time at the user-defined...
Definition: BackTransformedDiagnostic.H:150
void writeLabFrameHeader()
Definition: BackTransformedDiagnostic.cpp:1276
amrex::Real m_current_z_boost
Definition: BackTransformedDiagnostic.H:60
amrex::Real m_t_lab
Definition: BackTransformedDiagnostic.H:53
amrex::Real m_dz_lab_
Definition: BackTransformedDiagnostic.H:63
virtual void AddDataToBuffer(amrex::MultiFab &, int, amrex::Vector< int > const &)
Definition: BackTransformedDiagnostic.H:96
std::string m_file_name
Definition: BackTransformedDiagnostic.H:52
virtual void AddPartDataToParticleBuffer(amrex::Vector< WarpXParticleContainer::DiagnosticParticleData > const &, int)
Definition: BackTransformedDiagnostic.H:105
amrex::StructOfArrays< DiagIdx::nattribs, 0 > DiagnosticParticleData
Definition: WarpXParticleContainer.H:118
amrex::RealBox m_prob_domain_lab_
Definition: BackTransformedDiagnostic.H:54
void createLabFrameDirectories()
Definition: BackTransformedDiagnostic.cpp:1195
The capability for back-transformed lab-frame data is implemented to generate the full diagnostic sna...
Definition: BackTransformedDiagnostic.H:50
std::unique_ptr< amrex::MultiFab > m_data_buffer_
Definition: BackTransformedDiagnostic.H:74
int m_max_box_size
Definition: BackTransformedDiagnostic.H:82
int m_num_buffer_
Definition: BackTransformedDiagnostic.H:81
amrex::Real m_inv_gamma_boost_
Definition: BackTransformedDiagnostic.H:61
name
Definition: run_automated.py:204
int m_file_num
Definition: BackTransformedDiagnostic.H:69
amrex::Vector< WarpXParticleContainer::DiagnosticParticleData > m_particles_buffer_
Definition: BackTransformedDiagnostic.H:78
amrex::Real m_particle_slice_dx_lab_
Definition: BackTransformedDiagnostic.H:64
amrex::RealBox m_diag_domain_lab_
Definition: BackTransformedDiagnostic.H:56
virtual ~LabFrameDiag()=default