7 #ifndef WARPX_SPECTRAL_BASE_ALGORITHM_H_ 8 #define WARPX_SPECTRAL_BASE_ALGORITHM_H_ 17 #include <AMReX_Config.H> 69 const std::array<std::unique_ptr<amrex::MultiFab>,3>& Efield,
75 amrex::FabArray< amrex::BaseFab <amrex::Real> >;
77 amrex::FabArray< amrex::BaseFab <Complex> >;
85 const int norder_x,
const int norder_y,
86 const int norder_z,
const short grid_type);
92 #if defined(WARPX_DIM_3D) 98 #endif // WARPX_USE_PSATD 99 #endif // WARPX_SPECTRAL_BASE_ALGORITHM_H_
Class that represents the spectral space.
Definition: SpectralKSpace.H:47
virtual ~SpectralBaseAlgorithm()
Definition: SpectralBaseAlgorithm.H:44
virtual void CurrentCorrection(SpectralFieldData &field_data)=0
Virtual function for current correction in Fourier space (Vay et al, 2013). This virtual function is ...
void ComputeSpectralDivE(const 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
KVectorComponent modified_kx_vec
Definition: SpectralBaseAlgorithm.H:91
SpectralFieldIndex m_spectral_index
Definition: SpectralBaseAlgorithm.H:88
virtual void VayDeposition(SpectralFieldData &field_data)=0
Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This virtual function...
Class that stores the fields in spectral space, and performs the Fourier transforms between real spac...
Definition: SpectralFieldData.H:121
KVectorComponent modified_kz_vec
Definition: SpectralBaseAlgorithm.H:95
SpectralBaseAlgorithm(const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const SpectralFieldIndex &spectral_index, const int norder_x, const int norder_y, const int norder_z, const short grid_type)
Constructor.
Definition: SpectralBaseAlgorithm.cpp:30
virtual void pushSpectralFields(SpectralFieldData &f) const =0
Definition: SpectralFieldData.H:32
Definition: SpectralBaseAlgorithm.H:35