7#ifndef WARPX_SPECTRAL_SOLVER_H_
8#define WARPX_SPECTRAL_SOLVER_H_
88 bool periodic_single_box,
90 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:118
SpectralFieldIndex m_spectral_index
Definition SpectralSolver.H:176
SpectralSolver(int lev, 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
void VayDeposition()
Public interface to call the virtual function VayDeposition, declared in the base class SpectralBaseA...
Definition SpectralSolver.cpp:160
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:178
void pushSpectralFields()
Update the fields in spectral space, over one timestep.
Definition SpectralSolver.cpp:139
void ZeroOutDataComp(int icomp)
Set to zero the data on component icomp of field_data.fields.
Definition SpectralSolver.cpp:172
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:147
void CurrentCorrection()
Public interface to call the virtual function CurrentCorrection, defined in the base class SpectralBa...
Definition SpectralSolver.cpp:155
amrex::Real m_dt
Definition SpectralSolver.H:179
SpectralFieldData field_data
Definition SpectralSolver.H:190
amrex::IntVect m_fill_guards
Definition SpectralSolver.H:183
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:128
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:165
std::unique_ptr< SpectralBaseAlgorithm > algorithm
Definition SpectralSolver.H:195
std::array< amrex::MultiFab *, 3 > VectorField
Definition MultiFabRegister.H:191
GridType
Definition Enums.H:23