WarpX
Loading...
Searching...
No Matches
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,
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 TimeDependencyJ time_dependency_J,
31 TimeDependencyRho time_dependency_rho,
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_
TimeDependencyJ
Definition WarpXAlgorithmSelection.H:106
TimeDependencyRho
Definition WarpXAlgorithmSelection.H:112
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
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
TimeDependencyJ m_time_dependency_J
Definition PsatdAlgorithmRZ.H:68
bool m_time_averaging
Definition PsatdAlgorithmRZ.H:67
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, TimeDependencyJ time_dependency_J, TimeDependencyRho time_dependency_rho, bool dive_cleaning, bool divb_cleaning)
Definition PsatdAlgorithmRZ.cpp:19
SpectralRealCoefficients X5_coef
Definition PsatdAlgorithmRZ.H:72
SpectralBaseAlgorithmRZ(SpectralBaseAlgorithmRZ const &)=default
Default Copy constructor.
amrex::FabArray< amrex::BaseFab< amrex::Real > > SpectralRealCoefficients
Definition SpectralBaseAlgorithmRZ.H:84
Definition SpectralFieldDataRZ.H:23
Definition SpectralFieldData.H:35
Definition SpectralKSpaceRZ.H:21
GridType
Definition Enums.H:23