WarpX
AvgGalileanAlgorithm.H
Go to the documentation of this file.
1 #ifndef WARPX_AVG_GALILEAN_ALGORITHM_H_
2 #define WARPX_AVG_GALILEAN_ALGORITHM_H_
3 
5 
6 /* \brief Class that updates the field in spectral space
7  * and stores the coefficients of the corresponding update equation.
8  */
10 {
11  public:
12  AvgGalileanAlgorithm (const SpectralKSpace& spectral_kspace,
13  const amrex::DistributionMapping& dm,
14  const int norder_x, const int norder_y,
15  const int norder_z, const bool nodal,
16  const amrex::Array<amrex::Real,3>& v_galilean,
17  const amrex::Real dt);
18  // Redefine update equation from base class
19  virtual void pushSpectralFields (SpectralFieldData& f) const override final;
20  virtual int getRequiredNumberOfFields () const override final {
22  };
24  const SpectralKSpace& spectral_kspace,
25  const amrex::DistributionMapping& dm,
26  const amrex::Array<amrex::Real, 3>& v_galilean,
27  const amrex::Real dt);
28 
41  virtual void CurrentCorrection (SpectralFieldData& field_data,
42  std::array<std::unique_ptr<amrex::MultiFab>,3>& current,
43  const std::unique_ptr<amrex::MultiFab>& rho) override final;
44 
56  virtual void VayDeposition (SpectralFieldData& field_data,
57  std::array<std::unique_ptr<amrex::MultiFab>,3>& current) override final;
58 
59  private:
62 
63 };
64 
65 #endif // WARPX_GALILEAN_ALGORITHM_H_
virtual void VayDeposition(SpectralFieldData &field_data, std::array< std::unique_ptr< amrex::MultiFab >, 3 > &current) override final
Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This function overrid...
Definition: AvgGalileanAlgorithm.cpp:382
SpectralComplexCoefficients X3_coef
Definition: AvgGalileanAlgorithm.H:61
Class that represents the spectral space.
Definition: SpectralKSpace.H:38
virtual int getRequiredNumberOfFields() const override final
Definition: AvgGalileanAlgorithm.H:20
SpectralComplexCoefficients Psi3_coef
Definition: AvgGalileanAlgorithm.H:61
SpectralRealCoefficients S3_coef
Definition: AvgGalileanAlgorithm.H:60
SpectralRealCoefficients C1_coef
Definition: AvgGalileanAlgorithm.H:60
SpectralComplexCoefficients Rhoold_coef
Definition: AvgGalileanAlgorithm.H:61
SpectralComplexCoefficients A2_coef
Definition: AvgGalileanAlgorithm.H:61
SpectralComplexCoefficients X2_coef
Definition: AvgGalileanAlgorithm.H:61
f
Definition: write_atomic_data_cpp.py:79
SpectralComplexCoefficients A1_coef
Definition: AvgGalileanAlgorithm.H:61
amrex::FabArray< amrex::BaseFab< Complex > > SpectralComplexCoefficients
Definition: SpectralBaseAlgorithm.H:73
Definition: SpectralFieldData.H:32
SpectralRealCoefficients S1_coef
Definition: AvgGalileanAlgorithm.H:60
SpectralComplexCoefficients X1_coef
Definition: AvgGalileanAlgorithm.H:61
SpectralComplexCoefficients X4_coef
Definition: AvgGalileanAlgorithm.H:61
SpectralComplexCoefficients Psi4_coef
Definition: AvgGalileanAlgorithm.H:61
Definition: AvgGalileanAlgorithm.H:9
SpectralRealCoefficients C_coef
Definition: AvgGalileanAlgorithm.H:60
AvgGalileanAlgorithm(const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const int norder_x, const int norder_y, const int norder_z, const bool nodal, const amrex::Array< amrex::Real, 3 > &v_galilean, const amrex::Real dt)
Definition: AvgGalileanAlgorithm.cpp:8
SpectralComplexCoefficients Psi2_coef
Definition: AvgGalileanAlgorithm.H:61
SpectralRealCoefficients C3_coef
Definition: AvgGalileanAlgorithm.H:60
void InitializeSpectralCoefficients(const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const amrex::Array< amrex::Real, 3 > &v_galilean, const amrex::Real dt)
Definition: AvgGalileanAlgorithm.cpp:50
Class that stores the fields in spectral space, and performs the Fourier transforms between real spac...
Definition: SpectralFieldData.H:46
virtual void pushSpectralFields(SpectralFieldData &f) const override final
Definition: AvgGalileanAlgorithm.cpp:233
SpectralComplexCoefficients Psi1_coef
Definition: AvgGalileanAlgorithm.H:61
SpectralComplexCoefficients Jcoef_coef
Definition: AvgGalileanAlgorithm.H:61
amrex::FabArray< amrex::BaseFab< amrex::Real > > SpectralRealCoefficients
Definition: SpectralBaseAlgorithm.H:71
SpectralComplexCoefficients Rhonew_coef
Definition: AvgGalileanAlgorithm.H:61
SpectralComplexCoefficients Theta2_coef
Definition: AvgGalileanAlgorithm.H:61
SpectralRealCoefficients S_ck_coef
Definition: AvgGalileanAlgorithm.H:60
Definition: SpectralBaseAlgorithm.H:24
virtual void CurrentCorrection(SpectralFieldData &field_data, std::array< std::unique_ptr< amrex::MultiFab >, 3 > &current, const std::unique_ptr< amrex::MultiFab > &rho) override final
Virtual function for current correction in Fourier space (Vay et al, 2013). This function overrides t...
Definition: AvgGalileanAlgorithm.cpp:374