|
WarpX
|
#include <PsatdAlgorithmJRhomSecondOrder.H>
Public Member Functions | |
| PsatdAlgorithmJRhomSecondOrder (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const SpectralFieldIndex &spectral_index, int norder_x, int norder_y, int norder_z, ablastr::utils::enums::GridType grid_type, amrex::Real dt, bool update_with_rho, bool time_averaging, bool dive_cleaning, bool divb_cleaning, TimeDependencyJ time_dependency_J, TimeDependencyRho time_dependency_rho) | |
| Constructor of the class PsatdAlgorithmJRhomSecondOrder. | |
| void | pushSpectralFields (SpectralFieldData &f) const final |
| Updates the E and B fields in spectral space, according to the PSATD-JRhom equations. | |
| void | InitializeSpectralCoefficients (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, amrex::Real dt) |
Initializes the coefficients used in pushSpectralFields to update the E and B fields. | |
| void | InitializeSpectralCoefficientsAveraging (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, 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. | |
| void | CurrentCorrection (SpectralFieldData &field_data) 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. | |
| void | VayDeposition (SpectralFieldData &field_data) 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. | |
Public Member Functions inherited from SpectralBaseAlgorithm | |
| virtual | ~SpectralBaseAlgorithm ()=default |
| SpectralBaseAlgorithm (const SpectralBaseAlgorithm &)=default | |
| SpectralBaseAlgorithm & | operator= (const SpectralBaseAlgorithm &)=default |
| SpectralBaseAlgorithm (SpectralBaseAlgorithm &&)=default | |
| SpectralBaseAlgorithm & | operator= (SpectralBaseAlgorithm &&)=default |
| void | ComputeSpectralDivE (int lev, SpectralFieldData &field_data, ablastr::fields::VectorField const &Efield, amrex::MultiFab &divE) |
| Compute spectral divergence of E. | |
Additional Inherited Members | |
Protected Types inherited from SpectralBaseAlgorithm | |
| using | SpectralRealCoefficients |
| using | SpectralComplexCoefficients |
Protected Member Functions inherited from SpectralBaseAlgorithm | |
| SpectralBaseAlgorithm (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const SpectralFieldIndex &spectral_index, int norder_x, int norder_y, int norder_z, ablastr::utils::enums::GridType grid_type) | |
| Constructor. | |
Protected Attributes inherited from SpectralBaseAlgorithm | |
| SpectralFieldIndex | m_spectral_index |
| KVectorComponent | modified_kx_vec |
| KVectorComponent | modified_kz_vec |
| PsatdAlgorithmJRhomSecondOrder::PsatdAlgorithmJRhomSecondOrder | ( | const SpectralKSpace & | spectral_kspace, |
| const amrex::DistributionMapping & | dm, | ||
| const SpectralFieldIndex & | spectral_index, | ||
| int | norder_x, | ||
| int | norder_y, | ||
| int | norder_z, | ||
| ablastr::utils::enums::GridType | grid_type, | ||
| amrex::Real | dt, | ||
| bool | update_with_rho, | ||
| bool | time_averaging, | ||
| bool | dive_cleaning, | ||
| bool | divb_cleaning, | ||
| TimeDependencyJ | time_dependency_J, | ||
| TimeDependencyRho | time_dependency_rho ) |
Constructor of the class PsatdAlgorithmJRhomSecondOrder.
| [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] | update_with_rho | whether the update equation for E uses rho or not |
| [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 |
| [in] | time_dependency_J | time dependency of J within one time step |
| [in] | time_dependency_rho | time dependency of rho within one time step |
|
finalvirtual |
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.
| [in,out] | field_data | All fields in Fourier space |
Implements SpectralBaseAlgorithm.
| void PsatdAlgorithmJRhomSecondOrder::InitializeSpectralCoefficients | ( | const SpectralKSpace & | spectral_kspace, |
| const amrex::DistributionMapping & | dm, | ||
| amrex::Real | dt ) |
Initializes the coefficients used in pushSpectralFields to update the E and B fields.
| [in] | spectral_kspace | spectral space |
| [in] | dm | distribution mapping |
| [in] | dt | time step of the simulation |
| void PsatdAlgorithmJRhomSecondOrder::InitializeSpectralCoefficientsAveraging | ( | const SpectralKSpace & | spectral_kspace, |
| const amrex::DistributionMapping & | dm, | ||
| 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.
| [in] | spectral_kspace | spectral space |
| [in] | dm | distribution mapping |
| [in] | dt | time step of the simulation |
|
finalvirtual |
Updates the E and B fields in spectral space, according to the PSATD-JRhom equations.
| [in,out] | f | all the fields in spectral space |
Implements SpectralBaseAlgorithm.
|
finalvirtual |
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.
| [in,out] | field_data | All fields in Fourier space |
Implements SpectralBaseAlgorithm.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |