WarpX
Public Member Functions | Private Attributes | List of all members
DivBFunctor Class Referencefinal

Functor to compute divB into mf_out. More...

#include <DivBFunctor.H>

Inheritance diagram for DivBFunctor:
ComputeDiagFunctor

Public Member Functions

 DivBFunctor (std::array< const amrex::MultiFab *const, 3 > arr_mf_src, int lev, amrex::IntVect crse_ratio, bool convertRZmodes2cartesian=true, int ncomp=1)
 
void operator() (amrex::MultiFab &mf_dst, int dcomp, int) const override
 Compute DivB directly into mf_dst. More...
 
- Public Member Functions inherited from ComputeDiagFunctor
 ComputeDiagFunctor (int ncomp, amrex::IntVect crse_ratio)
 
virtual ~ComputeDiagFunctor ()=default
 
 ComputeDiagFunctor (const ComputeDiagFunctor &)=default
 
ComputeDiagFunctoroperator= (const ComputeDiagFunctor &)=default
 
 ComputeDiagFunctor (ComputeDiagFunctor &&)=default
 
ComputeDiagFunctoroperator= (ComputeDiagFunctor &&)=default
 
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
 

Private Attributes

std::array< const amrex::MultiFab *const, 3 > m_arr_mf_src
 
int const m_lev
 
bool m_convertRZmodes2cartesian
 

Additional Inherited Members

- Protected Attributes inherited from ComputeDiagFunctor
amrex::IntVect m_crse_ratio
 

Detailed Description

Functor to compute divB into mf_out.

Constructor & Destructor Documentation

◆ DivBFunctor()

DivBFunctor::DivBFunctor ( std::array< const amrex::MultiFab *const, 3 >  arr_mf_src,
int  lev,
amrex::IntVect  crse_ratio,
bool  convertRZmodes2cartesian = true,
int  ncomp = 1 
)

Constructor.

Parameters
[in]arr_mf_srcsource multifabs (3 elements for x y z).
[in]levlevel of multifab.
[in]crse_ratiofor interpolating field values from simulation MultiFabs to the output diagnostic MultiFab, mf_dst.
[in]convertRZmodes2cartesianwhether to generate the result in Cartesian coordinates (summing over modes)
[in]ncompNumber of component of mf_src to cell-center in dst multifab.

Member Function Documentation

◆ operator()()

void DivBFunctor::operator() ( amrex::MultiFab mf_dst,
int  dcomp,
int   
) const
overridevirtual

Compute DivB directly into mf_dst.

Parameters
[out]mf_dstoutput MultiFab where the result is written
[in]dcompfirst component of mf_dst in which cell-centered data is stored

Implements ComputeDiagFunctor.

Member Data Documentation

◆ m_arr_mf_src

std::array<const amrex::MultiFab * const, 3> DivBFunctor::m_arr_mf_src
private

Vector of pointer to source multifab Bx, By, Bz

◆ m_convertRZmodes2cartesian

bool DivBFunctor::m_convertRZmodes2cartesian
private

◆ m_lev

int const DivBFunctor::m_lev
private

level on which mf_src is defined (used in cylindrical) (for cylindrical) whether to average all modes into 1 comp


The documentation for this class was generated from the following files: