1 #ifndef WARPX_DIAGNOSTICS_H_
2 #define WARPX_DIAGNOSTICS_H_
62 virtual void Flush (
int i_buffer) = 0;
97 virtual bool DoDump (
int step,
int i_buffer,
bool force_flush=
false) = 0;
114 virtual amrex::Real
gettlab ( [[maybe_unused]]
int i_buffer) {
return 0.;}
119 virtual void settlab ( [[maybe_unused]]
int i_buffer, [[maybe_unused]] amrex::Real tlab) { }
159 virtual void set_flush_counter ( [[maybe_unused]]
int i_buffer, [[maybe_unused]]
int flush_counter) { }
177 virtual void set_snapshot_full ( [[maybe_unused]]
int i_buffer, [[maybe_unused]]
int snapshot_full) { }
base class for diagnostics. Contains main routines to filter, compute and flush diagnostics.
Definition: Diagnostics.H:31
std::vector< bool > m_pfield_do_average
Definition: Diagnostics.H:236
bool BaseReadParameters()
Definition: Diagnostics.cpp:48
void setSnapshotDomainHi(int i_buffer, int idim, amrex::Real domain_lab_hi)
Definition: Diagnostics.H:150
amrex::Vector< std::string > m_varnames_fields
Definition: Diagnostics.H:229
virtual void PrepareFieldDataForOutput()
Definition: Diagnostics.H:206
int nmax_lev
Definition: Diagnostics.H:272
virtual void PrepareBufferData()
Definition: Diagnostics.H:198
amrex::Vector< amrex::Vector< int > > m_totalParticles_flushed_already
Definition: Diagnostics.H:309
std::string m_format
Definition: Diagnostics.H:251
virtual amrex::Real gettlab([[maybe_unused]] int i_buffer)
Definition: Diagnostics.H:114
virtual void set_last_valid_Zslice([[maybe_unused]] int i_buffer, [[maybe_unused]] int last_valid_Zslice)
Definition: Diagnostics.H:168
virtual int get_snapshot_full_flag([[maybe_unused]] int i_buffer)
Definition: Diagnostics.H:172
void InitDataAfterRestart()
Definition: Diagnostics.cpp:379
std::vector< std::string > m_pfield_strings
Definition: Diagnostics.H:240
amrex::Vector< std::string > m_pfield_varnames
Definition: Diagnostics.H:232
amrex::Vector< std::unique_ptr< ComputeParticleDiagFunctor > > m_all_particle_functors
Definition: Diagnostics.H:303
int m_already_done
Definition: Diagnostics.H:253
int getnumbuffers()
Definition: Diagnostics.H:110
amrex::Vector< amrex::RealBox > m_snapshot_domain_lab
Definition: Diagnostics.H:317
virtual void set_snapshot_full([[maybe_unused]] int i_buffer, [[maybe_unused]] int snapshot_full)
Definition: Diagnostics.H:177
void InitData()
Definition: Diagnostics.cpp:448
amrex::Vector< amrex::Vector< amrex::MultiFab > > m_mf_output
Definition: Diagnostics.H:261
amrex::Vector< amrex::Real > m_hi
Definition: Diagnostics.H:295
int m_file_min_digits
Definition: Diagnostics.H:220
virtual void settlab([[maybe_unused]] int i_buffer, [[maybe_unused]] amrex::Real tlab)
Definition: Diagnostics.H:119
std::vector< std::string > m_output_species_names
Definition: Diagnostics.H:276
virtual void Flush(int i_buffer)=0
Flush particle and field buffers to file using the FlushFormat member variable.
virtual int get_flush_counter([[maybe_unused]] int i_buffer)
Definition: Diagnostics.H:154
virtual void DerivedInitData()
Definition: Diagnostics.H:192
virtual void MovingWindowAndGalileanDomainShift(int step)
Definition: Diagnostics.H:214
bool DoDumpLastTimestep() const
Definition: Diagnostics.H:108
virtual void InitializeParticleFunctors()
Definition: Diagnostics.H:84
virtual void UpdateBufferData()
Definition: Diagnostics.H:202
std::string m_diag_name
Definition: Diagnostics.H:216
std::unique_ptr< FlushFormat > m_flush_format
Definition: Diagnostics.H:255
amrex::Vector< amrex::Vector< ParticleDiag > > m_output_species
Definition: Diagnostics.H:282
amrex::Vector< amrex::Real > m_lo
Definition: Diagnostics.H:293
amrex::IntVect m_crse_ratio
Definition: Diagnostics.H:291
virtual void set_flush_counter([[maybe_unused]] int i_buffer, [[maybe_unused]] int flush_counter)
Definition: Diagnostics.H:159
amrex::Vector< std::string > m_varnames
Definition: Diagnostics.H:227
virtual void InitializeBufferData(int i_buffer, int lev, bool restart=false)=0
virtual void InitializeFieldFunctorsRZopenPMD([[maybe_unused]] int lev)
Definition: Diagnostics.H:82
virtual void set_buffer_k_index_hi([[maybe_unused]] int i_buffer, [[maybe_unused]] int kindex)
Definition: Diagnostics.H:128
int m_num_buffers
Definition: Diagnostics.H:297
virtual amrex::Real get_snapshot_domain_hi([[maybe_unused]] int i_buffer, [[maybe_unused]] int idim)
Definition: Diagnostics.H:138
void InitBaseData()
Definition: Diagnostics.cpp:528
amrex::Vector< int > m_rho_per_species_index
Definition: Diagnostics.H:299
std::vector< std::string > m_pfield_species
Definition: Diagnostics.H:234
amrex::Vector< amrex::Vector< amrex::Geometry > > m_geom_output
Definition: Diagnostics.H:269
void setSnapshotDomainLo(int i_buffer, int idim, amrex::Real domain_lab_lo)
Definition: Diagnostics.H:144
virtual void InitializeParticleBuffer()=0
int nlev_output
Definition: Diagnostics.H:274
amrex::Vector< amrex::Vector< int > > m_totalParticles_in_buffer
Definition: Diagnostics.H:314
virtual amrex::Real get_snapshot_domain_lo([[maybe_unused]] int i_buffer, [[maybe_unused]] int idim)
Definition: Diagnostics.H:133
std::string m_file_prefix
Definition: Diagnostics.H:218
Diagnostics(int i, std::string name)
Definition: Diagnostics.cpp:40
void FilterComputePackFlush(int step, bool force_flush=false)
Definition: Diagnostics.cpp:638
bool m_dump_last_timestep
Definition: Diagnostics.H:247
std::vector< int > m_pfield_species_index
Definition: Diagnostics.H:238
virtual bool DoComputeAndPack(int step, bool force_flush=false)=0
virtual bool DoDump(int step, int i_buffer, bool force_flush=false)=0
virtual int get_last_valid_Zslice([[maybe_unused]] int i_buffer)
Definition: Diagnostics.H:163
virtual void PrepareParticleDataForOutput()
Definition: Diagnostics.H:208
virtual void InitializeFieldFunctors(int lev)=0
void InitDataBeforeRestart()
Definition: Diagnostics.cpp:369
int nlev
Definition: Diagnostics.H:271
void NewIteration()
Definition: Diagnostics.H:99
std::vector< std::string > m_all_species_names
Definition: Diagnostics.H:278
int m_diag_index
Definition: Diagnostics.H:222
std::vector< std::string > m_pfield_filter_strings
Definition: Diagnostics.H:244
void ComputeAndPack()
Definition: Diagnostics.cpp:593
amrex::Vector< amrex::Vector< std::unique_ptr< ComputeDiagFunctor > > > m_all_field_functors
Definition: Diagnostics.H:288
virtual int get_buffer_k_index_hi([[maybe_unused]] int i_buffer)
Definition: Diagnostics.H:123
std::vector< bool > m_pfield_dofilter
Definition: Diagnostics.H:242
amrex::Vector< amrex::Vector< std::unique_ptr< PinnedMemoryParticleContainer > > > m_particles_buffer
Definition: Diagnostics.H:301
IntVectND< AMREX_SPACEDIM > IntVect
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void ignore_unused(const Ts &...)
i
Definition: check_interp_points_and_weights.py:174
string name
Definition: stencil.py:452