#include <PsatdAlgorithmJLinearInTime.H>
|
| | PsatdAlgorithmJLinearInTime (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const SpectralFieldIndex &spectral_index, const int norder_x, const int norder_y, const int norder_z, const short grid_type, const amrex::Real dt, const bool time_averaging, const bool dive_cleaning, const bool divb_cleaning) |
| | Constructor of the class PsatdAlgorithmJLinearInTime. More...
|
| |
| virtual void | pushSpectralFields (SpectralFieldData &f) const override final |
| | Updates the E and B fields in spectral space, according to the multi-J PSATD equations. More...
|
| |
| void | InitializeSpectralCoefficients (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const amrex::Real dt) |
| | Initializes the coefficients used in pushSpectralFields to update the E and B fields. More...
|
| |
| void | InitializeSpectralCoefficientsAveraging (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const amrex::Real dt) |
| | Initialize additional coefficients used in pushSpectralFields to update E,B, required only when using time averaging with the assumption that J is linear in time. More...
|
| |
| virtual void | CurrentCorrection (SpectralFieldData &field_data) override final |
| | Virtual function for current correction in Fourier space (Vay et al, 2013). This function overrides the virtual function CurrentCorrection in the base class SpectralBaseAlgorithm and cannot be overridden by further derived classes. More...
|
| |
| virtual void | VayDeposition (SpectralFieldData &field_data) override final |
| | Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This function overrides the virtual function VayDeposition in the base class SpectralBaseAlgorithm and cannot be overridden by further derived classes. More...
|
| |
| virtual | ~SpectralBaseAlgorithm () |
| |
| void | ComputeSpectralDivE (const int lev, SpectralFieldData &field_data, const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &Efield, amrex::MultiFab &divE) |
| | Compute spectral divergence of E. More...
|
| |
◆ PsatdAlgorithmJLinearInTime()
| PsatdAlgorithmJLinearInTime::PsatdAlgorithmJLinearInTime |
( |
const SpectralKSpace & |
spectral_kspace, |
|
|
const amrex::DistributionMapping & |
dm, |
|
|
const SpectralFieldIndex & |
spectral_index, |
|
|
const int |
norder_x, |
|
|
const int |
norder_y, |
|
|
const int |
norder_z, |
|
|
const short |
grid_type, |
|
|
const amrex::Real |
dt, |
|
|
const bool |
time_averaging, |
|
|
const bool |
dive_cleaning, |
|
|
const bool |
divb_cleaning |
|
) |
| |
Constructor of the class PsatdAlgorithmJLinearInTime.
- Parameters
-
| [in] | spectral_kspace | spectral space |
| [in] | dm | distribution mapping |
| [in] | spectral_index | object containing indices to access data in spectral space |
| [in] | norder_x | order of the spectral solver along x |
| [in] | norder_y | order of the spectral solver along y |
| [in] | norder_z | order of the spectral solver along z |
| [in] | grid_type | type of grid (collocated or not) |
| [in] | dt | time step of the simulation |
| [in] | time_averaging | whether to use time averaging for large time steps |
| [in] | dive_cleaning | Update F as part of the field update, so that errors in divE=rho propagate away at the speed of light |
| [in] | divb_cleaning | Update G as part of the field update, so that errors in divB=0 propagate away at the speed of light |
◆ CurrentCorrection()
| void PsatdAlgorithmJLinearInTime::CurrentCorrection |
( |
SpectralFieldData & |
field_data | ) |
|
|
finaloverridevirtual |
Virtual function for current correction in Fourier space (Vay et al, 2013). This function overrides the virtual function CurrentCorrection in the base class SpectralBaseAlgorithm and cannot be overridden by further derived classes.
- Parameters
-
| [in,out] | field_data | All fields in Fourier space |
Implements SpectralBaseAlgorithm.
◆ InitializeSpectralCoefficients()
Initializes the coefficients used in pushSpectralFields to update the E and B fields.
- Parameters
-
| [in] | spectral_kspace | spectral space |
| [in] | dm | distribution mapping |
| [in] | dt | time step of the simulation |
◆ InitializeSpectralCoefficientsAveraging()
Initialize additional coefficients used in pushSpectralFields to update E,B, required only when using time averaging with the assumption that J is linear in time.
- Parameters
-
| [in] | spectral_kspace | spectral space |
| [in] | dm | distribution mapping |
| [in] | dt | time step of the simulation |
◆ pushSpectralFields()
Updates the E and B fields in spectral space, according to the multi-J PSATD equations.
- Parameters
-
| [in,out] | f | all the fields in spectral space |
Implements SpectralBaseAlgorithm.
◆ VayDeposition()
Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This function overrides the virtual function VayDeposition in the base class SpectralBaseAlgorithm and cannot be overridden by further derived classes.
- Parameters
-
| [in,out] | field_data | All fields in Fourier space |
Implements SpectralBaseAlgorithm.
◆ C_coef
◆ m_divb_cleaning
| bool PsatdAlgorithmJLinearInTime::m_divb_cleaning |
|
private |
◆ m_dive_cleaning
| bool PsatdAlgorithmJLinearInTime::m_dive_cleaning |
|
private |
◆ m_dt
| amrex::Real PsatdAlgorithmJLinearInTime::m_dt |
|
private |
◆ m_spectral_index
◆ m_time_averaging
| bool PsatdAlgorithmJLinearInTime::m_time_averaging |
|
private |
◆ S_ck_coef
◆ X1_coef
◆ X2_coef
◆ X3_coef
◆ X5_coef
◆ X6_coef
The documentation for this class was generated from the following files:
- /home/docs/checkouts/readthedocs.org/user_builds/artemis-em/checkouts/latest/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithmJLinearInTime.H
- /home/docs/checkouts/readthedocs.org/user_builds/artemis-em/checkouts/latest/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/PsatdAlgorithmJLinearInTime.cpp