WarpX
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
SpectralFieldDataRZ Class Reference

#include <SpectralFieldDataRZ.H>

Public Types

using FFTplans = amrex::LayoutData< ablastr::math::anyfft::VendorFFTPlan >
 
using MultiSpectralHankelTransformer = amrex::LayoutData< SpectralHankelTransformer >
 
using BinomialFilter = amrex::LayoutData< SpectralBinomialFilter >
 

Public Member Functions

 SpectralFieldDataRZ (int lev, const amrex::BoxArray &realspace_ba, const SpectralKSpaceRZ &k_space, const amrex::DistributionMapping &dm, int n_field_required, int n_modes)
 
 SpectralFieldDataRZ ()=default
 
 ~SpectralFieldDataRZ ()
 
 SpectralFieldDataRZ (SpectralFieldDataRZ const &)=delete
 
SpectralFieldDataRZoperator= (SpectralFieldDataRZ const &)=delete
 
 SpectralFieldDataRZ (SpectralFieldDataRZ &&)=default
 
SpectralFieldDataRZoperator= (SpectralFieldDataRZ &&field_data)=default
 
void ForwardTransform (int lev, const amrex::MultiFab &mf, int field_index, int i_comp=0)
 
void ForwardTransform (int lev, const amrex::MultiFab &mf_r, int field_index_r, const amrex::MultiFab &mf_t, int field_index_t)
 
void BackwardTransform (int lev, amrex::MultiFab &mf, int field_index, int i_comp=0)
 
void BackwardTransform (int lev, amrex::MultiFab &mf_r, int field_index_r, amrex::MultiFab &mf_t, int field_index_t)
 
void FABZForwardTransform (amrex::MFIter const &mfi, amrex::Box const &realspace_bx, amrex::MultiFab const &tempHTransformedSplit, int field_index, bool is_nodal_z)
 
void FABZBackwardTransform (amrex::MFIter const &mfi, amrex::Box const &realspace_bx, int field_index, amrex::MultiFab &tempHTransformedSplit, bool is_nodal_z)
 
void CopySpectralDataComp (int src_comp, int dest_comp)
 Copy spectral data from component src_comp to component dest_comp of fields. More...
 
void ZeroOutDataComp (int icomp)
 Set to zero the data on component icomp of fields. More...
 
void ScaleDataComp (int icomp, amrex::Real scale_factor)
 Scale the data on component icomp of fields by a given scale factor. More...
 
void InitFilter (amrex::IntVect const &filter_npass_each_dir, bool compensation, SpectralKSpaceRZ const &k_space)
 
void ApplyFilter (int lev, int field_index)
 
void ApplyFilter (int lev, int field_index1, int field_index2, int field_index3)
 
HankelTransform::RealVector const & getKrArray (amrex::MFIter const &mfi) const
 

Public Attributes

SpectralField fields
 fields stores fields in spectral space, as multicomponent FabArray More...
 
int n_rz_azimuthal_modes
 Number of modes for the RZ multi-mode version, see WarpX::n_rz_azimuthal_modes. More...
 
int m_ncomps
 Number of MultiFab components, see WarpX::ncomps. More...
 

Private Attributes

SpectralFieldIndex m_spectral_index
 
int m_n_fields
 
SpectralField tempHTransformed
 
SpectralField tmpSpectralField
 
FFTplans forward_plan
 
FFTplans backward_plan
 
SpectralShiftFactor zshift_FFTfromCell
 
SpectralShiftFactor zshift_FFTtoCell
 
MultiSpectralHankelTransformer multi_spectral_hankel_transformer
 
BinomialFilter binomialfilter
 

Member Typedef Documentation

◆ BinomialFilter

◆ FFTplans

using SpectralFieldDataRZ::FFTplans = amrex::LayoutData<ablastr::math::anyfft::VendorFFTPlan>

◆ MultiSpectralHankelTransformer

Constructor & Destructor Documentation

◆ SpectralFieldDataRZ() [1/4]

SpectralFieldDataRZ::SpectralFieldDataRZ ( int  lev,
const amrex::BoxArray realspace_ba,
const SpectralKSpaceRZ k_space,
const amrex::DistributionMapping dm,
int  n_field_required,
int  n_modes 
)

◆ SpectralFieldDataRZ() [2/4]

SpectralFieldDataRZ::SpectralFieldDataRZ ( )
default

◆ ~SpectralFieldDataRZ()

SpectralFieldDataRZ::~SpectralFieldDataRZ ( )

◆ SpectralFieldDataRZ() [3/4]

SpectralFieldDataRZ::SpectralFieldDataRZ ( SpectralFieldDataRZ const &  )
delete

Delete Copy constructor

◆ SpectralFieldDataRZ() [4/4]

SpectralFieldDataRZ::SpectralFieldDataRZ ( SpectralFieldDataRZ &&  )
default

Default Move constructor

Member Function Documentation

◆ ApplyFilter() [1/2]

void SpectralFieldDataRZ::ApplyFilter ( int  lev,
int  field_index 
)

◆ ApplyFilter() [2/2]

void SpectralFieldDataRZ::ApplyFilter ( int  lev,
int  field_index1,
int  field_index2,
int  field_index3 
)

◆ BackwardTransform() [1/2]

void SpectralFieldDataRZ::BackwardTransform ( int  lev,
amrex::MultiFab mf,
int  field_index,
int  i_comp = 0 
)

◆ BackwardTransform() [2/2]

void SpectralFieldDataRZ::BackwardTransform ( int  lev,
amrex::MultiFab mf_r,
int  field_index_r,
amrex::MultiFab mf_t,
int  field_index_t 
)

◆ CopySpectralDataComp()

void SpectralFieldDataRZ::CopySpectralDataComp ( int  src_comp,
int  dest_comp 
)
inline

Copy spectral data from component src_comp to component dest_comp of fields.

Parameters
[in]src_compcomponent of the source FabArray from which the data are copied
[in]dest_compcomponent of the destination FabArray where the data are copied

◆ FABZBackwardTransform()

void SpectralFieldDataRZ::FABZBackwardTransform ( amrex::MFIter const &  mfi,
amrex::Box const &  realspace_bx,
int  field_index,
amrex::MultiFab tempHTransformedSplit,
bool  is_nodal_z 
)

◆ FABZForwardTransform()

void SpectralFieldDataRZ::FABZForwardTransform ( amrex::MFIter const &  mfi,
amrex::Box const &  realspace_bx,
amrex::MultiFab const &  tempHTransformedSplit,
int  field_index,
bool  is_nodal_z 
)

◆ ForwardTransform() [1/2]

void SpectralFieldDataRZ::ForwardTransform ( int  lev,
const amrex::MultiFab mf,
int  field_index,
int  i_comp = 0 
)

◆ ForwardTransform() [2/2]

void SpectralFieldDataRZ::ForwardTransform ( int  lev,
const amrex::MultiFab mf_r,
int  field_index_r,
const amrex::MultiFab mf_t,
int  field_index_t 
)

◆ getKrArray()

HankelTransform::RealVector const& SpectralFieldDataRZ::getKrArray ( amrex::MFIter const &  mfi) const
inline

◆ InitFilter()

void SpectralFieldDataRZ::InitFilter ( amrex::IntVect const &  filter_npass_each_dir,
bool  compensation,
SpectralKSpaceRZ const &  k_space 
)

◆ operator=() [1/2]

SpectralFieldDataRZ& SpectralFieldDataRZ::operator= ( SpectralFieldDataRZ &&  field_data)
default

Default Move operator

◆ operator=() [2/2]

SpectralFieldDataRZ& SpectralFieldDataRZ::operator= ( SpectralFieldDataRZ const &  )
delete

Delete Copy operator

◆ ScaleDataComp()

void SpectralFieldDataRZ::ScaleDataComp ( int  icomp,
amrex::Real  scale_factor 
)
inline

Scale the data on component icomp of fields by a given scale factor.

Parameters
[in]icompcomponent of the FabArray where the data are scaled
[in]scale_factorscale factor to use for scaling

◆ ZeroOutDataComp()

void SpectralFieldDataRZ::ZeroOutDataComp ( int  icomp)
inline

Set to zero the data on component icomp of fields.

Parameters
[in]icompcomponent of the FabArray where the data are set to zero

Member Data Documentation

◆ backward_plan

FFTplans SpectralFieldDataRZ::backward_plan
private

◆ binomialfilter

BinomialFilter SpectralFieldDataRZ::binomialfilter
private

◆ fields

SpectralField SpectralFieldDataRZ::fields

fields stores fields in spectral space, as multicomponent FabArray

◆ forward_plan

FFTplans SpectralFieldDataRZ::forward_plan
private

◆ m_n_fields

int SpectralFieldDataRZ::m_n_fields
private

◆ m_ncomps

int SpectralFieldDataRZ::m_ncomps

Number of MultiFab components, see WarpX::ncomps.

◆ m_spectral_index

SpectralFieldIndex SpectralFieldDataRZ::m_spectral_index
private

◆ multi_spectral_hankel_transformer

MultiSpectralHankelTransformer SpectralFieldDataRZ::multi_spectral_hankel_transformer
private

◆ n_rz_azimuthal_modes

int SpectralFieldDataRZ::n_rz_azimuthal_modes

Number of modes for the RZ multi-mode version, see WarpX::n_rz_azimuthal_modes.

◆ tempHTransformed

SpectralField SpectralFieldDataRZ::tempHTransformed
private

◆ tmpSpectralField

SpectralField SpectralFieldDataRZ::tmpSpectralField
private

◆ zshift_FFTfromCell

SpectralShiftFactor SpectralFieldDataRZ::zshift_FFTfromCell
private

◆ zshift_FFTtoCell

SpectralShiftFactor SpectralFieldDataRZ::zshift_FFTtoCell
private

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