WarpX
|
Functor to compute a diagnostic and store the result in existing MultiFab. More...
#include <ComputeDiagFunctor.H>
Public Member Functions | |
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 |
virtual void | operator() (amrex::MultiFab &mf_dst, int dcomp, int i_buffer=0) const =0 |
int | nComp () const |
virtual void | PrepareFunctorData (int i_buffer, bool z_slice_in_domain, amrex::Real current_z_boost, amrex::Box buffer_box, const int k_index_zlab, const int snapshot_full) |
Prepare data required to process fields in the operator() Note that this function has parameters that are specific to back-transformed diagnostics, that are unused for regular diagnostics. More... | |
virtual void | InitData () |
void | InterpolateMFForDiag (amrex::MultiFab &mf_dst, const amrex::MultiFab &mf_src, int dcomp, const amrex::DistributionMapping &dm, bool convertRZmodes2cartesian) const |
Protected Attributes | |
amrex::IntVect | m_crse_ratio |
Private Attributes | |
int | m_ncomp |
Functor to compute a diagnostic and store the result in existing MultiFab.
|
inline |
|
virtualdefault |
|
default |
|
default |
|
inlinevirtual |
Reimplemented in BackTransformFunctor.
|
inline |
|
inline |
Number of component from the input multifab to write to the output multifab
|
pure virtual |
Compute a field and store the result in mf_dst
[out] | mf_dst | output MultiFab where the result is written |
[in] | dcomp | first component of mf_dst in which the result is written to the output diagnostic MultiFab, mf_dst. |
[in] | i_buffer | index of a back-transformed snapshot |
Implemented in RhoFunctor, PartPerGridFunctor, PartPerCellFunctor, ParticleReductionFunctor, JFunctor, JdispFunctor, DivEFunctor, DivBFunctor, CellCenterFunctor, and BackTransformFunctor.
|
default |
|
default |
|
inlinevirtual |
Prepare data required to process fields in the operator() Note that this function has parameters that are specific to back-transformed diagnostics, that are unused for regular diagnostics.
[in] | i_buffer | index of the back-transform snapshot |
[in] | z_slice_in_domain | if the z-slice at current_z_boost is within the boosted-frame and lab-frame domain. The fields are sliced and back-transformed only if this value is true. |
[in] | current_z_boost | current z coordinate in the boosted-frame |
[in] | buffer_box | Box with index-space in lab-frame for the ith buffer |
[in] | k_index_zlab | k-index in the lab-frame corresponding to the current z co-ordinate in the lab-frame for the ith buffer. |
[in] | snapshot_full | if the current snapshot, with index, i_buffer, is full (1) or not (0). If it is full, then Lorentz-transform is not performed by setting m_perform_backtransform to 0; |
Reimplemented in BackTransformFunctor.
|
protected |
Coarsening ratio used to interpolate fields from simulation MultiFabs to output MultiFab.
|
private |
Number of components of mf_dst that this functor updates.