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:
GalileanPsatdAlgorithmRZ PsatdAlgorithmRZ

Public Member Functions

virtual void pushSpectralFields (SpectralFieldDataRZ &f)=0
 
virtual int getRequiredNumberOfFields () const =0
 
virtual ~SpectralBaseAlgorithmRZ ()
 
virtual void CurrentCorrection (SpectralFieldDataRZ &field_data, std::array< std::unique_ptr< amrex::MultiFab >, 3 > &current, const std::unique_ptr< amrex::MultiFab > &rho)=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 (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, std::array< std::unique_ptr< amrex::MultiFab >, 3 > &current)=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, int const norder_z, bool const nodal)
 

Protected Attributes

KVectorComponent modified_kz_vec
 

Member Typedef Documentation

◆ SpectralComplexCoefficients

using SpectralBaseAlgorithmRZ::SpectralComplexCoefficients = amrex::FabArray< amrex::BaseFab <Complex> >
protected

◆ SpectralRealCoefficients

using SpectralBaseAlgorithmRZ::SpectralRealCoefficients = amrex::FabArray< amrex::BaseFab <amrex::Real> >
protected

Constructor & Destructor Documentation

◆ ~SpectralBaseAlgorithmRZ()

virtual SpectralBaseAlgorithmRZ::~SpectralBaseAlgorithmRZ ( )
inlinevirtual

◆ SpectralBaseAlgorithmRZ()

SpectralBaseAlgorithmRZ::SpectralBaseAlgorithmRZ ( SpectralKSpaceRZ const &  spectral_kspace,
amrex::DistributionMapping const &  dm,
int const  norder_z,
bool const  nodal 
)
inlineprotected

Member Function Documentation

◆ ComputeSpectralDivE()

void SpectralBaseAlgorithmRZ::ComputeSpectralDivE ( 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,
std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  current,
const std::unique_ptr< amrex::MultiFab > &  rho 
)
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
[in,out]currentArray of unique pointers to MultiFab storing the three components of the current density
[in]rhoUnique pointer to MultiFab storing the charge density

Implemented in GalileanPsatdAlgorithmRZ, and PsatdAlgorithmRZ.

◆ getRequiredNumberOfFields()

virtual int SpectralBaseAlgorithmRZ::getRequiredNumberOfFields ( ) const
pure virtual

◆ pushSpectralFields()

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

◆ VayDeposition()

virtual void SpectralBaseAlgorithmRZ::VayDeposition ( SpectralFieldDataRZ field_data,
std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  current 
)
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
[in,out]currentArray of unique pointers to MultiFab storing the three components of the current density

Implemented in GalileanPsatdAlgorithmRZ, and PsatdAlgorithmRZ.

Member Data Documentation

◆ modified_kz_vec

KVectorComponent SpectralBaseAlgorithmRZ::modified_kz_vec
protected

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