diff options
author | 2019-05-02 10:13:23 -0700 | |
---|---|---|
committer | 2019-05-02 10:13:23 -0700 | |
commit | 51f550982f784ad30910cd16e5525ae7753f1d6c (patch) | |
tree | 763149418c927d4fc1ac09c323c4a07d12db0726 /Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H | |
parent | df73577bc750d6ca49458c2365e761ab7067aa7b (diff) | |
parent | f07d411bc3b6110a48e70a6b69907d5f7100759d (diff) | |
download | WarpX-51f550982f784ad30910cd16e5525ae7753f1d6c.tar.gz WarpX-51f550982f784ad30910cd16e5525ae7753f1d6c.tar.zst WarpX-51f550982f784ad30910cd16e5525ae7753f1d6c.zip |
Merge pull request #103 from ECP-WarpX/factory
Use virtual function to select the spectral algorithm
Diffstat (limited to 'Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H')
-rw-r--r-- | Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H new file mode 100644 index 000000000..0487e5226 --- /dev/null +++ b/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithm.H @@ -0,0 +1,24 @@ +#ifndef WARPX_PSATD_ALGORITHM_H_ +#define WARPX_PSATD_ALGORITHM_H_ + +#include <SpectralBaseAlgorithm.H> + +/* \brief Class that updates the field in spectral space + * and stores the coefficients of the corresponding update equation. + */ +class PsatdAlgorithm : public SpectralBaseAlgorithm +{ + public: + PsatdAlgorithm(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::Real dt); + // Redefine update equation from base class + virtual void pushSpectralFields(SpectralFieldData& f) const override final; + + private: + SpectralCoefficients C_coef, S_ck_coef, X1_coef, X2_coef, X3_coef; +}; + +#endif // WARPX_PSATD_ALGORITHM_H_ |