WarpX
PsatdAlgorithmRZ.H
Go to the documentation of this file.
1 /* Copyright 2019 David Grote
2  *
3  * This file is part of WarpX.
4  *
5  * License: BSD-3-Clause-LBNL
6  */
7 #ifndef WARPX_PSATD_ALGORITHM_RZ_H_
8 #define WARPX_PSATD_ALGORITHM_RZ_H_
9 
11 
12 #include <ablastr/utils/Enums.H>
13 
14 
15 /* \brief Class that updates the field in spectral space
16  * and stores the coefficients of the corresponding update equation.
17  */
19 {
20 
21  public:
22  PsatdAlgorithmRZ(SpectralKSpaceRZ const & spectral_kspace,
23  amrex::DistributionMapping const & dm,
24  const SpectralFieldIndex& spectral_index,
25  int n_rz_azimuthal_modes, int norder_z,
27  amrex::Real dt_step,
28  bool update_with_rho,
29  bool time_averaging,
30  int J_in_time,
31  int rho_in_time,
32  bool dive_cleaning,
33  bool divb_cleaning);
34  // Redefine functions from base class
36 
38 
48  void CurrentCorrection (SpectralFieldDataRZ& field_data) final;
49 
59  void VayDeposition (SpectralFieldDataRZ& field_data) final;
60 
61  private:
62 
64  // Note that dt is saved to use in InitializeSpectralCoefficients
65  amrex::Real m_dt;
73 };
74 
75 #endif // WARPX_PSATD_ALGORITHM_RZ_H_
Definition: PsatdAlgorithmRZ.H:19
void InitializeSpectralCoefficients(SpectralFieldDataRZ const &f)
Definition: PsatdAlgorithmRZ.cpp:336
SpectralRealCoefficients X2_coef
Definition: PsatdAlgorithmRZ.H:71
void CurrentCorrection(SpectralFieldDataRZ &field_data) final
Virtual function for current correction in Fourier space (Vay et al, 2013). This function overrides t...
Definition: PsatdAlgorithmRZ.cpp:424
void VayDeposition(SpectralFieldDataRZ &field_data) final
Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This function overrid...
Definition: PsatdAlgorithmRZ.cpp:490
SpectralRealCoefficients S_ck_coef
Definition: PsatdAlgorithmRZ.H:71
bool m_dive_cleaning
Definition: PsatdAlgorithmRZ.H:69
SpectralRealCoefficients X1_coef
Definition: PsatdAlgorithmRZ.H:71
PsatdAlgorithmRZ(SpectralKSpaceRZ const &spectral_kspace, amrex::DistributionMapping const &dm, const SpectralFieldIndex &spectral_index, int n_rz_azimuthal_modes, int norder_z, ablastr::utils::enums::GridType grid_type, amrex::Real dt_step, bool update_with_rho, bool time_averaging, int J_in_time, int rho_in_time, bool dive_cleaning, bool divb_cleaning)
Definition: PsatdAlgorithmRZ.cpp:19
SpectralRealCoefficients C_coef
Definition: PsatdAlgorithmRZ.H:71
bool m_divb_cleaning
Definition: PsatdAlgorithmRZ.H:70
bool coefficients_initialized
Definition: PsatdAlgorithmRZ.H:63
SpectralRealCoefficients X6_coef
Definition: PsatdAlgorithmRZ.H:72
SpectralRealCoefficients X3_coef
Definition: PsatdAlgorithmRZ.H:71
void pushSpectralFields(SpectralFieldDataRZ &f) final
Definition: PsatdAlgorithmRZ.cpp:79
bool m_update_with_rho
Definition: PsatdAlgorithmRZ.H:66
amrex::Real m_dt
Definition: PsatdAlgorithmRZ.H:65
int m_J_in_time
Definition: PsatdAlgorithmRZ.H:68
bool m_time_averaging
Definition: PsatdAlgorithmRZ.H:67
SpectralRealCoefficients X5_coef
Definition: PsatdAlgorithmRZ.H:72
Definition: SpectralBaseAlgorithmRZ.H:24
Definition: SpectralFieldDataRZ.H:23
Definition: SpectralFieldData.H:34
Definition: SpectralKSpaceRZ.H:21
GridType
Definition: Enums.H:17