ARTEMIS
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< fftw_plan >
 
using MultiSpectralHankelTransformer = amrex::LayoutData< SpectralHankelTransformer >
 
using BinomialFilter = amrex::LayoutData< SpectralBinomialFilter >
 

Public Member Functions

 SpectralFieldDataRZ (const int lev, const amrex::BoxArray &realspace_ba, const SpectralKSpaceRZ &k_space, const amrex::DistributionMapping &dm, const int n_field_required, const int n_modes)
 
 SpectralFieldDataRZ ()=default
 
SpectralFieldDataRZoperator= (SpectralFieldDataRZ &&field_data)=default
 
 ~SpectralFieldDataRZ ()
 
void ForwardTransform (const int lev, const amrex::MultiFab &mf, const int field_index, const int i_comp=0)
 
void ForwardTransform (const int lev, const amrex::MultiFab &mf_r, const int field_index_r, const amrex::MultiFab &mf_t, const int field_index_t)
 
void BackwardTransform (const int lev, amrex::MultiFab &mf, const int field_index, const int i_comp=0)
 
void BackwardTransform (const int lev, amrex::MultiFab &mf_r, const int field_index_r, amrex::MultiFab &mf_t, const int field_index_t)
 
void FABZForwardTransform (amrex::MFIter const &mfi, amrex::Box const &realspace_bx, amrex::MultiFab const &tempHTransformedSplit, int field_index, const bool is_nodal_z)
 
void FABZBackwardTransform (amrex::MFIter const &mfi, amrex::Box const &realspace_bx, const int field_index, amrex::MultiFab &tempHTransformedSplit, const bool is_nodal_z)
 
void CopySpectralDataComp (const int src_comp, const int dest_comp)
 Copy spectral data from component src_comp to component dest_comp of fields. More...
 
void ZeroOutDataComp (const int icomp)
 Set to zero the data on component icomp of fields. More...
 
void ScaleDataComp (const int icomp, const 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 const compensation, SpectralKSpaceRZ const &k_space)
 
void ApplyFilter (const int lev, int const field_index)
 
void ApplyFilter (const int lev, int const field_index1, int const field_index2, int const 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

◆ MultiSpectralHankelTransformer

Constructor & Destructor Documentation

◆ SpectralFieldDataRZ() [1/2]

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

◆ SpectralFieldDataRZ() [2/2]

SpectralFieldDataRZ::SpectralFieldDataRZ ( )
default

◆ ~SpectralFieldDataRZ()

SpectralFieldDataRZ::~SpectralFieldDataRZ ( )

Member Function Documentation

◆ ApplyFilter() [1/2]

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

◆ ApplyFilter() [2/2]

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

◆ BackwardTransform() [1/2]

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

◆ BackwardTransform() [2/2]

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

◆ CopySpectralDataComp()

void SpectralFieldDataRZ::CopySpectralDataComp ( const int  src_comp,
const 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,
const int  field_index,
amrex::MultiFab tempHTransformedSplit,
const bool  is_nodal_z 
)

◆ FABZForwardTransform()

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

◆ ForwardTransform() [1/2]

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

◆ ForwardTransform() [2/2]

void SpectralFieldDataRZ::ForwardTransform ( const int  lev,
const amrex::MultiFab mf_r,
const int  field_index_r,
const amrex::MultiFab mf_t,
const 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 const  compensation,
SpectralKSpaceRZ const &  k_space 
)

◆ operator=()

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

◆ ScaleDataComp()

void SpectralFieldDataRZ::ScaleDataComp ( const int  icomp,
const 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 ( const 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: