WarpX
BackTransformFunctor.H
Go to the documentation of this file.
1 #ifndef WARPX_BACKTRANSFORMFUNCTOR_H_
2 #define WARPX_BACKTRANSFORMFUNCTOR_H_
3 
4 #include "ComputeDiagFunctor.H"
5 
6 #include <AMReX_Box.H>
7 #include <AMReX_IntVect.H>
8 #include <AMReX_REAL.H>
9 #include <AMReX_Vector.H>
10 
11 #include <AMReX_BaseFwd.H>
12 
13 #include <string>
14 
26 class
28 {
29 public:
38  BackTransformFunctor ( const amrex::MultiFab * const mf_src, const int lev,
39  const int ncomp, const int num_buffers,
40  amrex::Vector< std::string > varnames,
41  const amrex::IntVect crse_ratio= amrex::IntVect(1));
42 
56  void operator ()(amrex::MultiFab& mf_dst, int dcomp, const int i_buffer) const override;
57 
69  void PrepareFunctorData ( int i_buffer, bool ZSliceInDomain,
70  amrex::Real current_z_boost,
71  amrex::Box buffer_box, const int k_index_zlab,
72  const int max_box_size ) override;
76  void InitData () override;
86  void LorentzTransformZ (amrex::MultiFab& data, amrex::Real gamma_boost,
87  amrex::Real beta_boost) const;
88 private:
90  amrex::MultiFab const * const m_mf_src = nullptr;
92  int const m_lev;
94  int const m_num_buffers;
96  amrex::Vector<amrex::Box> m_buffer_box;
98  amrex::Vector<amrex::Real> m_current_z_boost;
103  amrex::Vector<int> m_perform_backtransform;
105  amrex::Vector<int> m_k_index_zlab;
107  amrex::Vector< std::string > m_varnames;
108 
110  int m_max_box_size = 256;
115  amrex::Vector<int> m_map_varnames;
116 };
117 
118 #endif
amrex::Vector< int > m_map_varnames
Definition: BackTransformFunctor.H:115
data
Definition: run_alltests_1node.py:320
int gamma_boost
Definition: compute_domain.py:41
amrex::Vector< int > m_perform_backtransform
Definition: BackTransformFunctor.H:103
amrex::Vector< std::string > m_varnames
Definition: BackTransformFunctor.H:107
int const m_num_buffers
Definition: BackTransformFunctor.H:94
amrex::Vector< amrex::Box > m_buffer_box
Definition: BackTransformFunctor.H:96
Functor to compute a diagnostic and store the result in existing MultiFab.
Definition: ComputeDiagFunctor.H:13
int const m_lev
Definition: BackTransformFunctor.H:92
amrex::Vector< amrex::Real > m_current_z_boost
Definition: BackTransformFunctor.H:98
Functor to back-transform cell-centered data and store result in mf_out.
Definition: BackTransformFunctor.H:26
amrex::Vector< int > m_k_index_zlab
Definition: BackTransformFunctor.H:105