|
| | 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)) |
| |
| 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.
|
| |
| 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.
|
| |
| void | InitData () override |
| |
| 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, Ex, Ey, Ez, Bx, By, Bz, jx, jy, jz, and rho.
|
| |
| | ComputeDiagFunctor (int ncomp, amrex::IntVect crse_ratio) |
| |
| virtual | ~ComputeDiagFunctor ()=default |
| |
| | ComputeDiagFunctor (const ComputeDiagFunctor &)=default |
| |
| ComputeDiagFunctor & | operator= (const ComputeDiagFunctor &)=default |
| |
| | ComputeDiagFunctor (ComputeDiagFunctor &&)=default |
| |
| ComputeDiagFunctor & | operator= (ComputeDiagFunctor &&)=default |
| |
| int | nComp () const |
| |
| void | InterpolateMFForDiag (amrex::MultiFab &mf_dst, const amrex::MultiFab &mf_src, int dcomp, const amrex::DistributionMapping &dm, bool convertRZmodes2cartesian) const |
| |
Functor to back-transform cell-centered data and store result in mf_out.
The cell-centered data is a ten-component multifab with field-data averaged-down from the finest to coarsest level, and stored as single-level data. For every i^th buffer, a z-slice corresponding to the z-boost location of the slice at the current timestep is extracted. This slice containing field-data in the boosted-frame is Lorentz-transformed to the lab-frame. The user-requested lab-frame field data is then stored in mf_dst.
| void BackTransformFunctor::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, Ex, Ey, Ez, Bx, By, Bz, jx, jy, jz, and rho.
- Parameters
-
| [in] | data | z-slice field-data MultiFab to be back-transformed in-place from boosted-frame to lab-frame |
| [in] | gamma_boost | The Lorentz factor of the boosted-frame in which the simulation is run |
| [in] | beta_boost | The ratio of boost velocity to the speed of light |
| void BackTransformFunctor::operator() |
( |
amrex::MultiFab & | mf_dst, |
|
|
int | dcomp, |
|
|
int | i_buffer ) const |
|
overridevirtual |
Lorentz-transform mf_src for the ith buffer and write the result in mf_dst.
The source multifab, is a ten-component cell-centered multifab storing field-data in the boosted-frame. An z-slice is generated at the z-boost location for the ith buffer, stored in m_current_z_boost[i_buffer]. The data is then lorentz-transformed in-place using LorenzTransformZ (). The user-requested fields are then copied to mf_dst.
- Parameters
-
| [out] | mf_dst | output MultiFab where the back-transformed data is written |
| [in] | dcomp | first component of mf_dst in which the back-transformed lab-frame data for the user-request fields is written. |
| [in] | i_buffer | buffer index for which the data is transformed. |
Implements ComputeDiagFunctor.
Indices that map user-defined fields to plot to the fields stored in the cell-centered MultiFab, m_mf_src. The cell-centered MultiFab stores Ex, Ey, Ez, Bx, By, Bz, jx, jy, jz, and rho.