|
WarpX
|
LabFrameSlice stores the back-transformed metadata corresponding to a single time at the user-defined slice location. This could be a 1D line, 2D slice, or 3D box (a reduced back-transformed diagnostic) within the computational domain, as defined in the input file by the user. The slice is written to disk in the lab_frame_data/slices. Similar to snapshots, zmin_lab, zmax_lab, and t_lab are constant for a given slice. current_z_lab and current_z_boost for each snapshot are updated as the sim time in boosted frame advances. More...
#include <BackTransformedDiagnostic.H>
Public Member Functions | |
| LabFrameSlice (amrex::Real t_lab_in, amrex::Real t_boost, amrex::Real inv_gamma_boost_in, amrex::Real inv_beta_boost_in, amrex::Real dz_lab_in, amrex::RealBox prob_domain_lab, amrex::IntVect prob_ncells_lab, int ncomp_to_dump, std::vector< std::string > mesh_field_names, amrex::RealBox diag_domain_lab, amrex::Box diag_box, int file_num_in, amrex::Real particle_slice_dx_lab) | |
| void | AddDataToBuffer (amrex::MultiFab &tmp_slice_ptr, int i_lab, amrex::Vector< int > const &map_actual_fields_to_dump) override |
| void | AddPartDataToParticleBuffer (amrex::Vector< WarpXParticleContainer::DiagnosticParticleData > const &tmp_particle_buffer, int nSpeciesBoostedFrame) override |
Public Member Functions inherited from LabFrameDiag | |
| void | updateCurrentZPositions (amrex::Real t_boost, amrex::Real inv_gamma, amrex::Real inv_beta) |
| void | createLabFrameDirectories () |
| void | writeLabFrameHeader () |
| virtual | ~LabFrameDiag ()=default |
Additional Inherited Members | |
Public Attributes inherited from LabFrameDiag | |
| std::string | m_file_name |
| amrex::Real | m_t_lab |
| amrex::RealBox | m_prob_domain_lab_ |
| amrex::IntVect | m_prob_ncells_lab_ |
| amrex::RealBox | m_diag_domain_lab_ |
| amrex::Box | m_buff_box_ |
| amrex::Real | m_current_z_lab |
| amrex::Real | m_current_z_boost |
| amrex::Real | m_inv_gamma_boost_ |
| amrex::Real | m_inv_beta_boost_ |
| amrex::Real | m_dz_lab_ |
| amrex::Real | m_particle_slice_dx_lab_ |
| int | m_ncomp_to_dump_ |
| std::vector< std::string > | m_mesh_field_names_ |
| int | m_file_num |
| int | m_initial_i |
| std::unique_ptr< amrex::MultiFab > | m_data_buffer_ |
| amrex::Vector< WarpXParticleContainer::DiagnosticParticleData > | m_particles_buffer_ |
| int | m_buff_counter_ |
| int | m_num_buffer_ = 256 |
| int | m_max_box_size = 256 |
LabFrameSlice stores the back-transformed metadata corresponding to a single time at the user-defined slice location. This could be a 1D line, 2D slice, or 3D box (a reduced back-transformed diagnostic) within the computational domain, as defined in the input file by the user. The slice is written to disk in the lab_frame_data/slices. Similar to snapshots, zmin_lab, zmax_lab, and t_lab are constant for a given slice. current_z_lab and current_z_boost for each snapshot are updated as the sim time in boosted frame advances.
| LabFrameSlice::LabFrameSlice | ( | amrex::Real | t_lab_in, |
| amrex::Real | t_boost, | ||
| amrex::Real | inv_gamma_boost_in, | ||
| amrex::Real | inv_beta_boost_in, | ||
| amrex::Real | dz_lab_in, | ||
| amrex::RealBox | prob_domain_lab, | ||
| amrex::IntVect | prob_ncells_lab, | ||
| int | ncomp_to_dump, | ||
| std::vector< std::string > | mesh_field_names, | ||
| amrex::RealBox | diag_domain_lab, | ||
| amrex::Box | diag_box, | ||
| int | file_num_in, | ||
| amrex::Real | particle_slice_dx_lab | ||
| ) |
|
overridevirtual |
Back-transformed lab-frame field data is copied from tmp_slice to data_buffer where it is stored. For the full diagnostic, all the data in the MultiFab is copied. For the reduced diagnostic, the data is selectively copied if the extent of the z_lab multifab intersects with the user-defined sub-domain for the reduced diagnostic (i.e., a 1D, 2D, or 3D region of the domain).
Reimplemented from LabFrameDiag.
|
overridevirtual |
Back-transformed lab-frame particles is copied from tmp_particle_buffer to particles_buffer. For the full diagnostic, all the particles are copied, while for the reduced diagnostic, particles are selectively copied if their position in within the user-defined sub-domain +/- 1 cell size width for the reduced slice diagnostic.
Reimplemented from LabFrameDiag.
1.8.13