7#ifndef WARPX_SPECTRAL_SOLVER_H_
8#define WARPX_SPECTRAL_SOLVER_H_
86 bool periodic_single_box,
88 bool fft_do_time_averaging,
TimeDependencyJ
Definition WarpXAlgorithmSelection.H:106
PSATDSolutionType
Definition WarpXAlgorithmSelection.H:100
TimeDependencyRho
Definition WarpXAlgorithmSelection.H:112
Class that stores the fields in spectral space, and performs the Fourier transforms between real spac...
Definition SpectralFieldData.H:144
Definition SpectralFieldData.H:35
void ForwardTransform(int lev, const amrex::MultiFab &mf, int field_index, int i_comp=0)
Transform the component i_comp of the MultiFab mf to Fourier space, and store the result internally (...
Definition SpectralSolver.cpp:117
SpectralFieldIndex m_spectral_index
Definition SpectralSolver.H:174
void VayDeposition()
Public interface to call the virtual function VayDeposition, declared in the base class SpectralBaseA...
Definition SpectralSolver.cpp:159
void ScaleDataComp(int icomp, amrex::Real scale_factor)
Scale the data on component icomp of field_data.fields by a given scale factor.
Definition SpectralSolver.cpp:177
void pushSpectralFields()
Update the fields in spectral space, over one timestep.
Definition SpectralSolver.cpp:138
void ZeroOutDataComp(int icomp)
Set to zero the data on component icomp of field_data.fields.
Definition SpectralSolver.cpp:171
void ComputeSpectralDivE(int lev, ablastr::fields::VectorField const &Efield, amrex::MultiFab &divE)
Public interface to call the member function ComputeSpectralDivE of the base class SpectralBaseAlgori...
Definition SpectralSolver.cpp:146
void CurrentCorrection()
Public interface to call the virtual function CurrentCorrection, defined in the base class SpectralBa...
Definition SpectralSolver.cpp:154
amrex::Real m_dt
Definition SpectralSolver.H:177
SpectralSolver(const amrex::BoxArray &realspace_ba, const amrex::DistributionMapping &dm, int norder_x, int norder_y, int norder_z, ablastr::utils::enums::GridType grid_type, const amrex::Vector< amrex::Real > &v_galilean, const amrex::Vector< amrex::Real > &v_comoving, amrex::RealVect dx, amrex::Real dt, bool pml, bool periodic_single_box, bool update_with_rho, bool fft_do_time_averaging, PSATDSolutionType psatd_solution_type, TimeDependencyJ time_dependency_J, TimeDependencyRho time_dependency_rho, bool dive_cleaning, bool divb_cleaning)
Constructor of the class SpectralSolver.
Definition SpectralSolver.cpp:26
SpectralFieldData field_data
Definition SpectralSolver.H:188
amrex::IntVect m_fill_guards
Definition SpectralSolver.H:181
void BackwardTransform(int lev, amrex::MultiFab &mf, int field_index, const amrex::IntVect &fill_guards, int i_comp=0)
Transform spectral field specified by field_index back to real space, and store it in the component i...
Definition SpectralSolver.cpp:127
void CopySpectralDataComp(int src_comp, int dest_comp)
Copy spectral data from component src_comp to component dest_comp of field_data.fields.
Definition SpectralSolver.cpp:164
std::unique_ptr< SpectralBaseAlgorithm > algorithm
Definition SpectralSolver.H:193
std::array< amrex::MultiFab *, 3 > VectorField
Definition MultiFabRegister.H:191
GridType
Definition Enums.H:23