WarpX
BackTransformFunctor.H
Go to the documentation of this file.
1 /* Copyright 2021 Revathi Jambunathan
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 #ifndef WARPX_BACKTRANSFORMFUNCTOR_H_
8 #define WARPX_BACKTRANSFORMFUNCTOR_H_
9 
10 #include "ComputeDiagFunctor.H"
11 
12 #include <AMReX_Box.H>
13 #include <AMReX_IntVect.H>
14 #include <AMReX_REAL.H>
15 #include <AMReX_Vector.H>
16 
17 #include <AMReX_BaseFwd.H>
18 
19 #include <string>
20 
32 class
34 {
35 public:
48  BackTransformFunctor ( const amrex::MultiFab * mf_src, int lev,
49  int ncomp, int num_buffers,
51  amrex::Vector< std::string > varnames_fields,
52  amrex::IntVect crse_ratio= amrex::IntVect(1));
53 
67  void operator ()(amrex::MultiFab& mf_dst, int dcomp, int i_buffer) const override;
68 
83  void PrepareFunctorData ( int i_buffer, bool z_slice_in_domain,
84  amrex::Real current_z_boost,
85  amrex::Box buffer_box, int k_index_zlab,
86  int snapshot_full ) override;
90  void InitData () override;
100  void LorentzTransformZ (amrex::MultiFab& data, amrex::Real gamma_boost,
101  amrex::Real beta_boost) const;
102 private:
104  amrex::MultiFab const * const m_mf_src = nullptr;
106  int const m_lev;
108  int const m_num_buffers;
124 
130 };
131 
132 #endif
Functor to back-transform cell-centered data and store result in mf_out.
Definition: BackTransformFunctor.H:34
amrex::Vector< amrex::Box > m_buffer_box
Definition: BackTransformFunctor.H:110
amrex::Vector< std::string > m_varnames_fields
Definition: BackTransformFunctor.H:123
amrex::Vector< int > m_perform_backtransform
Definition: BackTransformFunctor.H:117
amrex::Vector< int > m_k_index_zlab
Definition: BackTransformFunctor.H:119
amrex::Vector< std::string > m_varnames
Definition: BackTransformFunctor.H:121
amrex::Vector< amrex::Real > m_current_z_boost
Definition: BackTransformFunctor.H:112
int const m_num_buffers
Definition: BackTransformFunctor.H:108
amrex::Vector< int > m_map_varnames
Definition: BackTransformFunctor.H:129
int const m_lev
Definition: BackTransformFunctor.H:106
Functor to compute a diagnostic and store the result in existing MultiFab.
Definition: ComputeDiagFunctor.H:18
int gamma_boost
Definition: compute_domain.py:41
data
Definition: run_alltests_1node.py:325