WarpX
Loading...
Searching...
No Matches
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.
 
void ZeroOutDataComp (int icomp)
 Set to zero the data on component icomp of fields.
 
void ScaleDataComp (int icomp, amrex::Real scale_factor)
 Scale the data on component icomp of fields by a given scale factor.
 
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
 
int n_rz_azimuthal_modes
 Number of modes for the RZ multi-mode version, see WarpX::n_rz_azimuthal_modes.
 
int m_ncomps
 Number of MultiFab components, see WarpX::ncomps.
 

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 )

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 )

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)

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: