1#ifndef WARPX_DIAGNOSTICS_H_
2#define WARPX_DIAGNOSTICS_H_
74 virtual void Flush (
int i_buffer,
bool force_flush) = 0;
111 virtual bool DoDump (
int step,
int i_buffer,
bool force_flush=
false) = 0;
128 virtual amrex::Real
gettlab ( [[maybe_unused]]
int i_buffer) {
return 0.;}
133 virtual void settlab ( [[maybe_unused]]
int i_buffer, [[maybe_unused]] amrex::Real tlab) { }
173 virtual void set_flush_counter ( [[maybe_unused]]
int i_buffer, [[maybe_unused]]
int flush_counter) { }
191 virtual void set_snapshot_full ( [[maybe_unused]]
int i_buffer, [[maybe_unused]]
int snapshot_full) { }
DiagTypes
Definition Diagnostics.H:25
@ BoundaryScraping
Definition Diagnostics.H:25
@ BackTransformed
Definition Diagnostics.H:25
@ Full
Definition Diagnostics.H:25
@ TimeAveraged
Definition Diagnostics.H:25
std::vector< bool > m_pfield_do_average
Definition Diagnostics.H:257
bool BaseReadParameters()
Definition Diagnostics.cpp:49
void setSnapshotDomainHi(int i_buffer, int idim, amrex::Real domain_lab_hi)
Definition Diagnostics.H:164
amrex::Vector< std::string > m_varnames_fields
Definition Diagnostics.H:250
virtual void PrepareFieldDataForOutput()
Definition Diagnostics.H:227
int nmax_lev
Definition Diagnostics.H:299
virtual void set_last_valid_Zslice(int i_buffer, int last_valid_Zslice)
Definition Diagnostics.H:182
virtual amrex::Real gettlab(int i_buffer)
Definition Diagnostics.H:128
virtual void PrepareBufferData()
Definition Diagnostics.H:219
Diagnostics(Diagnostics &&)=default
virtual int get_last_valid_Zslice(int i_buffer)
Definition Diagnostics.H:177
virtual void set_buffer_k_index_hi(int i_buffer, int kindex)
Definition Diagnostics.H:142
virtual void InitializeFieldFunctorsRZopenPMD(int lev)
Definition Diagnostics.H:96
std::string m_format
Definition Diagnostics.H:272
Diagnostics & operator=(Diagnostics const &)=delete
virtual void set_snapshot_full(int i_buffer, int snapshot_full)
Definition Diagnostics.H:191
std::vector< std::string > m_pfield_strings
Definition Diagnostics.H:261
amrex::Vector< std::string > m_pfield_varnames
Definition Diagnostics.H:253
amrex::Vector< std::unique_ptr< ComputeParticleDiagFunctor > > m_all_particle_functors
Definition Diagnostics.H:332
virtual void settlab(int i_buffer, amrex::Real tlab)
Definition Diagnostics.H:133
int m_already_done
Definition Diagnostics.H:274
amrex::Vector< amrex::RealBox > m_snapshot_domain_lab
Definition Diagnostics.H:341
DiagTypes m_diag_type
Definition Diagnostics.H:52
Diagnostics & operator=(Diagnostics &&)=default
amrex::Vector< amrex::Vector< amrex::MultiFab > > m_mf_output
Definition Diagnostics.H:282
amrex::Vector< amrex::Real > m_hi
Definition Diagnostics.H:322
void InitData(const MultiParticleContainer &mpc)
Definition Diagnostics.cpp:440
virtual amrex::Real get_snapshot_domain_lo(int i_buffer, int idim)
Definition Diagnostics.H:147
virtual int get_snapshot_full_flag(int i_buffer)
Definition Diagnostics.H:186
int m_file_min_digits
Definition Diagnostics.H:241
Diagnostics(int i, std::string name, DiagTypes diag_type)
Definition Diagnostics.cpp:41
std::vector< std::string > m_output_species_names
Definition Diagnostics.H:303
virtual void DerivedInitData()
Definition Diagnostics.H:209
virtual int get_buffer_k_index_hi(int i_buffer)
Definition Diagnostics.H:137
virtual void MovingWindowAndGalileanDomainShift(int step)
Definition Diagnostics.H:235
virtual void set_flush_counter(int i_buffer, int flush_counter)
Definition Diagnostics.H:173
virtual void InitializeParticleBuffer(const MultiParticleContainer &mpc)=0
amrex::Vector< amrex::Vector< amrex::MultiFab > > m_sum_mf_output
Definition Diagnostics.H:288
bool DoDumpLastTimestep() const
Definition Diagnostics.H:122
virtual void InitializeParticleFunctors()
Definition Diagnostics.H:98
virtual void UpdateBufferData()
Definition Diagnostics.H:223
std::string m_diag_name
Definition Diagnostics.H:237
int m_verbose
Definition Diagnostics.H:197
std::unique_ptr< FlushFormat > m_flush_format
Definition Diagnostics.H:276
amrex::Vector< amrex::Vector< ParticleDiag > > m_output_species
Definition Diagnostics.H:309
amrex::Vector< amrex::Real > m_lo
Definition Diagnostics.H:320
amrex::IntVect m_crse_ratio
Definition Diagnostics.H:318
amrex::Vector< std::string > m_varnames
Definition Diagnostics.H:248
virtual void InitializeBufferData(int i_buffer, int lev, bool restart=false)=0
void InitDataAfterRestart(const MultiParticleContainer &mpc)
Definition Diagnostics.cpp:371
int getnumbuffers() const
Definition Diagnostics.H:124
int m_num_buffers
Definition Diagnostics.H:324
void InitBaseData()
Definition Diagnostics.cpp:520
amrex::Vector< int > m_rho_per_species_index
Definition Diagnostics.H:326
std::vector< std::string > m_pfield_species
Definition Diagnostics.H:255
Diagnostics(Diagnostics const &)=delete
amrex::Vector< amrex::Vector< amrex::Geometry > > m_geom_output
Definition Diagnostics.H:296
void setSnapshotDomainLo(int i_buffer, int idim, amrex::Real domain_lab_lo)
Definition Diagnostics.H:158
int nlev_output
Definition Diagnostics.H:301
amrex::Vector< amrex::Vector< int > > m_totalParticles_in_buffer
Definition Diagnostics.H:338
virtual int get_flush_counter(int i_buffer)
Definition Diagnostics.H:168
std::string m_file_prefix
Definition Diagnostics.H:239
virtual amrex::Real get_snapshot_domain_hi(int i_buffer, int idim)
Definition Diagnostics.H:152
void FilterComputePackFlush(int step, bool force_flush=false)
Definition Diagnostics.cpp:652
bool m_dump_last_timestep
Definition Diagnostics.H:268
std::vector< int > m_pfield_species_index
Definition Diagnostics.H:259
virtual bool DoComputeAndPack(int step, bool force_flush=false)=0
virtual bool DoDump(int step, int i_buffer, bool force_flush=false)=0
virtual void Flush(int i_buffer, bool force_flush)=0
Flush particle and field buffers to file using the FlushFormat member variable.
virtual void PrepareParticleDataForOutput()
Definition Diagnostics.H:229
virtual void InitializeFieldFunctors(int lev)=0
void InitDataBeforeRestart()
Definition Diagnostics.cpp:361
int nlev
Definition Diagnostics.H:298
void NewIteration()
Definition Diagnostics.H:113
std::vector< std::string > m_all_species_names
Definition Diagnostics.H:305
amrex::Vector< int > m_T_per_species_index
Definition Diagnostics.H:328
int m_diag_index
Definition Diagnostics.H:243
std::vector< std::string > m_pfield_filter_strings
Definition Diagnostics.H:265
void ComputeAndPack()
Definition Diagnostics.cpp:598
amrex::Vector< amrex::Vector< std::unique_ptr< ComputeDiagFunctor > > > m_all_field_functors
Definition Diagnostics.H:315
std::vector< bool > m_pfield_dofilter
Definition Diagnostics.H:263
amrex::Vector< amrex::Vector< std::unique_ptr< PinnedMemoryParticleContainer > > > m_particles_buffer
Definition Diagnostics.H:330
Definition MultiParticleContainer.H:68
__host__ __device__ void ignore_unused(const Ts &...)