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 ~SpectralBaseAlgorithmRZ ()
 
virtual void CurrentCorrection (const int lev, 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 (const 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 (const int lev, 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, const SpectralFieldIndex &spectral_index, int const norder_z, bool const nodal)
 

Protected Attributes

SpectralFieldIndex m_spectral_index
 
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,
const SpectralFieldIndex spectral_index,
int const  norder_z,
bool const  nodal 
)
inlineprotected

Member Function Documentation

◆ ComputeSpectralDivE()

void SpectralBaseAlgorithmRZ::ComputeSpectralDivE ( const 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 ( const int  lev,
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 PsatdAlgorithmRZ, and GalileanPsatdAlgorithmRZ.

◆ pushSpectralFields()

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

◆ VayDeposition()

virtual void SpectralBaseAlgorithmRZ::VayDeposition ( const int  lev,
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 PsatdAlgorithmRZ, and GalileanPsatdAlgorithmRZ.

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: