WarpX
Loading...
Searching...
No Matches
Source
Diagnostics
ComputeDiagFunctors
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
31
32
class
BackTransformFunctor
final :
public
ComputeDiagFunctor
33
{
34
public
:
47
BackTransformFunctor
(
const
amrex::MultiFab
* mf_src,
int
lev,
48
int
ncomp,
int
num_buffers,
49
amrex::Vector< std::string >
varnames,
50
amrex::Vector< std::string >
varnames_fields,
51
amrex::IntVect
crse_ratio=
amrex::IntVect
(1));
52
66
void
operator ()
(
amrex::MultiFab
& mf_dst,
int
dcomp,
int
i_buffer)
const override
;
67
82
void
PrepareFunctorData
(
int
i_buffer,
bool
z_slice_in_domain,
83
amrex::Real
current_z_boost,
84
amrex::Box
buffer_box,
int
k_index_zlab,
85
int
snapshot_full )
override
;
89
void
InitData
()
override
;
99
void
LorentzTransformZ
(
amrex::MultiFab
& data,
amrex::Real
gamma_boost,
100
amrex::Real
beta_boost)
const
;
101
private
:
103
const
amrex::MultiFab
*
m_mf_src
=
nullptr
;
105
int
m_lev
;
107
int
m_num_buffers
;
109
amrex::Vector<amrex::Box>
m_buffer_box
;
111
amrex::Vector<amrex::Real>
m_current_z_boost
;
116
amrex::Vector<int>
m_perform_backtransform
;
118
amrex::Vector<int>
m_k_index_zlab
;
120
amrex::Vector< std::string >
m_varnames
;
122
amrex::Vector< std::string >
m_varnames_fields
;
123
128
amrex::Vector<int>
m_map_varnames
;
129
};
130
131
#endif
AMReX_BaseFwd.H
AMReX_Box.H
AMReX_IntVect.H
AMReX_REAL.H
AMReX_Vector.H
ComputeDiagFunctor.H
BackTransformFunctor::m_buffer_box
amrex::Vector< amrex::Box > m_buffer_box
Definition
BackTransformFunctor.H:109
BackTransformFunctor::InitData
void InitData() override
Definition
BackTransformFunctor.cpp:177
BackTransformFunctor::m_varnames_fields
amrex::Vector< std::string > m_varnames_fields
Definition
BackTransformFunctor.H:122
BackTransformFunctor::m_perform_backtransform
amrex::Vector< int > m_perform_backtransform
Definition
BackTransformFunctor.H:116
BackTransformFunctor::m_num_buffers
int m_num_buffers
Definition
BackTransformFunctor.H:107
BackTransformFunctor::m_k_index_zlab
amrex::Vector< int > m_k_index_zlab
Definition
BackTransformFunctor.H:118
BackTransformFunctor::PrepareFunctorData
void PrepareFunctorData(int i_buffer, bool z_slice_in_domain, amrex::Real current_z_boost, amrex::Box buffer_box, int k_index_zlab, int snapshot_full) override
Prepare data required to back-transform fields for lab-frame snapshot, i_buffer.
Definition
BackTransformFunctor.cpp:164
BackTransformFunctor::m_varnames
amrex::Vector< std::string > m_varnames
Definition
BackTransformFunctor.H:120
BackTransformFunctor::m_mf_src
const amrex::MultiFab * m_mf_src
Definition
BackTransformFunctor.H:103
BackTransformFunctor::LorentzTransformZ
void LorentzTransformZ(amrex::MultiFab &data, amrex::Real gamma_boost, amrex::Real beta_boost) const
In-place Lorentz-transform of MultiFab, data, from boosted-frame to the lab-frame for all fields,...
Definition
BackTransformFunctor.cpp:227
BackTransformFunctor::m_lev
int m_lev
Definition
BackTransformFunctor.H:105
BackTransformFunctor::BackTransformFunctor
BackTransformFunctor(const amrex::MultiFab *mf_src, int lev, int ncomp, int num_buffers, amrex::Vector< std::string > varnames, amrex::Vector< std::string > varnames_fields, amrex::IntVect crse_ratio=amrex::IntVect(1))
Definition
BackTransformFunctor.cpp:35
BackTransformFunctor::m_current_z_boost
amrex::Vector< amrex::Real > m_current_z_boost
Definition
BackTransformFunctor.H:111
BackTransformFunctor::operator()
void operator()(amrex::MultiFab &mf_dst, int dcomp, int i_buffer) const override
Lorentz-transform mf_src for the ith buffer and write the result in mf_dst.
Definition
BackTransformFunctor.cpp:49
BackTransformFunctor::m_map_varnames
amrex::Vector< int > m_map_varnames
Definition
BackTransformFunctor.H:128
ComputeDiagFunctor::ComputeDiagFunctor
ComputeDiagFunctor(int ncomp, amrex::IntVect crse_ratio)
Definition
ComputeDiagFunctor.H:19
amrex::MultiFab
amrex::Vector< std::string >
amrex::Real
amrex_real Real
amrex::Box
BoxND< 3 > Box
amrex::IntVect
IntVectND< 3 > IntVect
Generated by
1.13.2