WarpX
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
SpectralBaseAlgorithmRZ Class Referenceabstract

#include <SpectralBaseAlgorithmRZ.H>

Inheritance diagram for SpectralBaseAlgorithmRZ:
PsatdAlgorithmGalileanRZ PsatdAlgorithmPmlRZ PsatdAlgorithmRZ

Public Member Functions

virtual void pushSpectralFields (SpectralFieldDataRZ &f)=0
 
virtual ~SpectralBaseAlgorithmRZ ()=default
 
 SpectralBaseAlgorithmRZ (SpectralBaseAlgorithmRZ const &)=default
 Default Copy constructor. More...
 
SpectralBaseAlgorithmRZoperator= (SpectralBaseAlgorithmRZ const &)=default
 Default Copy operator. More...
 
 SpectralBaseAlgorithmRZ (SpectralBaseAlgorithmRZ &&)=default
 Default Move constructor. More...
 
SpectralBaseAlgorithmRZoperator= (SpectralBaseAlgorithmRZ &&)=default
 Default Move operator. More...
 
virtual void CurrentCorrection (SpectralFieldDataRZ &field_data)=0
 Virtual function for current correction in Fourier space (Vay et al, 2013). This virtual function is pure and must be defined in derived classes. More...
 
void ComputeSpectralDivE (int lev, SpectralFieldDataRZ &field_data, const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &Efield, amrex::MultiFab &divE)
 Compute spectral divergence of E. More...
 
virtual void VayDeposition (SpectralFieldDataRZ &field_data)=0
 Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This virtual function is pure and must be defined in derived classes. More...
 

Protected Types

using SpectralRealCoefficients = amrex::FabArray< amrex::BaseFab< amrex::Real > >
 
using SpectralComplexCoefficients = amrex::FabArray< amrex::BaseFab< Complex > >
 

Protected Member Functions

 SpectralBaseAlgorithmRZ (SpectralKSpaceRZ const &spectral_kspace, amrex::DistributionMapping const &dm, const SpectralFieldIndex &spectral_index, int const norder_z, short const grid_type)
 

Protected Attributes

SpectralFieldIndex m_spectral_index
 
KVectorComponent modified_kz_vec
 

Member Typedef Documentation

◆ SpectralComplexCoefficients

◆ SpectralRealCoefficients

Constructor & Destructor Documentation

◆ ~SpectralBaseAlgorithmRZ()

virtual SpectralBaseAlgorithmRZ::~SpectralBaseAlgorithmRZ ( )
virtualdefault

◆ SpectralBaseAlgorithmRZ() [1/3]

SpectralBaseAlgorithmRZ::SpectralBaseAlgorithmRZ ( SpectralBaseAlgorithmRZ const &  )
default

Default Copy constructor.

◆ SpectralBaseAlgorithmRZ() [2/3]

SpectralBaseAlgorithmRZ::SpectralBaseAlgorithmRZ ( SpectralBaseAlgorithmRZ &&  )
default

Default Move constructor.

◆ SpectralBaseAlgorithmRZ() [3/3]

SpectralBaseAlgorithmRZ::SpectralBaseAlgorithmRZ ( SpectralKSpaceRZ const &  spectral_kspace,
amrex::DistributionMapping const &  dm,
const SpectralFieldIndex spectral_index,
int const  norder_z,
short const  grid_type 
)
inlineprotected

Member Function Documentation

◆ ComputeSpectralDivE()

void SpectralBaseAlgorithmRZ::ComputeSpectralDivE ( int  lev,
SpectralFieldDataRZ field_data,
const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  Efield,
amrex::MultiFab divE 
)

Compute spectral divergence of E.

◆ CurrentCorrection()

virtual void SpectralBaseAlgorithmRZ::CurrentCorrection ( SpectralFieldDataRZ field_data)
pure virtual

Virtual function for current correction in Fourier space (Vay et al, 2013). This virtual function is pure and must be defined in derived classes.

Parameters
[in,out]field_dataAll fields in Fourier space

Implemented in PsatdAlgorithmRZ, PsatdAlgorithmPmlRZ, and PsatdAlgorithmGalileanRZ.

◆ operator=() [1/2]

SpectralBaseAlgorithmRZ& SpectralBaseAlgorithmRZ::operator= ( SpectralBaseAlgorithmRZ &&  )
default

Default Move operator.

◆ operator=() [2/2]

SpectralBaseAlgorithmRZ& SpectralBaseAlgorithmRZ::operator= ( SpectralBaseAlgorithmRZ const &  )
default

Default Copy operator.

◆ pushSpectralFields()

virtual void SpectralBaseAlgorithmRZ::pushSpectralFields ( SpectralFieldDataRZ f)
pure virtual

◆ VayDeposition()

virtual void SpectralBaseAlgorithmRZ::VayDeposition ( SpectralFieldDataRZ field_data)
pure virtual

Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This virtual function is pure and must be defined in derived classes.

Parameters
[in,out]field_dataAll fields in Fourier space

Implemented in PsatdAlgorithmRZ, PsatdAlgorithmPmlRZ, and PsatdAlgorithmGalileanRZ.

Member Data Documentation

◆ m_spectral_index

SpectralFieldIndex SpectralBaseAlgorithmRZ::m_spectral_index
protected

◆ modified_kz_vec

KVectorComponent SpectralBaseAlgorithmRZ::modified_kz_vec
protected

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