7 #ifndef WARPX_SPECTRAL_BASE_ALGORITHM_H_
8 #define WARPX_SPECTRAL_BASE_ALGORITHM_H_
17 #include <AMReX_Config.H>
75 const std::array<std::unique_ptr<amrex::MultiFab>,3>& Efield,
81 amrex::FabArray< amrex::BaseFab <amrex::Real> >;
83 amrex::FabArray< amrex::BaseFab <Complex> >;
91 int norder_x,
int norder_y,
92 int norder_z,
short grid_type);
98 #if defined(WARPX_DIM_3D)
Definition: SpectralBaseAlgorithm.H:36
KVectorComponent modified_kz_vec
Definition: SpectralBaseAlgorithm.H:101
virtual void pushSpectralFields(SpectralFieldData &f) const =0
SpectralFieldIndex m_spectral_index
Definition: SpectralBaseAlgorithm.H:94
SpectralBaseAlgorithm(SpectralBaseAlgorithm &&)=default
KVectorComponent modified_kx_vec
Definition: SpectralBaseAlgorithm.H:97
SpectralBaseAlgorithm & operator=(const SpectralBaseAlgorithm &)=default
virtual void VayDeposition(SpectralFieldData &field_data)=0
Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This virtual function...
void ComputeSpectralDivE(int lev, SpectralFieldData &field_data, const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &Efield, amrex::MultiFab &divE)
Compute spectral divergence of E.
Definition: SpectralBaseAlgorithm.cpp:54
SpectralBaseAlgorithm & operator=(SpectralBaseAlgorithm &&)=default
virtual void CurrentCorrection(SpectralFieldData &field_data)=0
Virtual function for current correction in Fourier space (Vay et al, 2013). This virtual function is ...
virtual ~SpectralBaseAlgorithm()=default
SpectralBaseAlgorithm(const SpectralBaseAlgorithm &)=default
Class that stores the fields in spectral space, and performs the Fourier transforms between real spac...
Definition: SpectralFieldData.H:143
Definition: SpectralFieldData.H:34
Class that represents the spectral space.
Definition: SpectralKSpace.H:48