WarpX
Public Member Functions | Private Attributes | List of all members
GalileanPsatdAlgorithmRZ Class Reference

#include <GalileanPsatdAlgorithmRZ.H>

Inheritance diagram for GalileanPsatdAlgorithmRZ:
SpectralBaseAlgorithmRZ

Public Member Functions

 GalileanPsatdAlgorithmRZ (SpectralKSpaceRZ const &spectral_kspace, amrex::DistributionMapping const &dm, const SpectralFieldIndex &spectral_index, int const n_rz_azimuthal_modes, int const norder_z, bool const nodal, const amrex::Array< amrex::Real, 3 > &v_galilean, amrex::Real const dt_step, bool const update_with_rho)
 
virtual void pushSpectralFields (SpectralFieldDataRZ &f) override final
 
void InitializeSpectralCoefficients (SpectralFieldDataRZ const &f)
 
virtual void CurrentCorrection (const int lev, SpectralFieldDataRZ &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 This function overrides the virtual function CurrentCorrection in the base class SpectralBaseAlgorithmRZ (qualifier override) and cannot be overridden by further derived classes (qualifier final). More...
 
virtual void VayDeposition (const int lev, SpectralFieldDataRZ &field_data, std::array< std::unique_ptr< amrex::MultiFab >, 3 > &current) override final
 Virtual function for Vay current deposition in Fourier space This function overrides the virtual function VayDeposition in the base class SpectralBaseAlgorithmRZ and cannot be overridden by further derived classes. More...
 
- Public Member Functions inherited from SpectralBaseAlgorithmRZ
virtual ~SpectralBaseAlgorithmRZ ()
 
void ComputeSpectralDivE (const int lev, SpectralFieldDataRZ &field_data, const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &Efield, amrex::MultiFab &divE)
 Compute spectral divergence of E. More...
 

Private Attributes

SpectralFieldIndex m_spectral_index
 
bool coefficients_initialized
 
amrex::Real const m_dt
 
amrex::Array< amrex::Real, 3 > m_v_galilean
 
bool m_update_with_rho
 
SpectralRealCoefficients C_coef
 
SpectralRealCoefficients S_ck_coef
 
SpectralComplexCoefficients Theta2_coef
 
SpectralComplexCoefficients T_rho_coef
 
SpectralComplexCoefficients X1_coef
 
SpectralComplexCoefficients X2_coef
 
SpectralComplexCoefficients X3_coef
 
SpectralComplexCoefficients X4_coef
 

Additional Inherited Members

- Protected Types inherited from SpectralBaseAlgorithmRZ
using SpectralRealCoefficients = amrex::FabArray< amrex::BaseFab< amrex::Real > >
 
using SpectralComplexCoefficients = amrex::FabArray< amrex::BaseFab< Complex > >
 
- Protected Member Functions inherited from SpectralBaseAlgorithmRZ
 SpectralBaseAlgorithmRZ (SpectralKSpaceRZ const &spectral_kspace, amrex::DistributionMapping const &dm, const SpectralFieldIndex &spectral_index, int const norder_z, bool const nodal)
 
- Protected Attributes inherited from SpectralBaseAlgorithmRZ
SpectralFieldIndex m_spectral_index
 
KVectorComponent modified_kz_vec
 

Constructor & Destructor Documentation

◆ GalileanPsatdAlgorithmRZ()

GalileanPsatdAlgorithmRZ::GalileanPsatdAlgorithmRZ ( SpectralKSpaceRZ const &  spectral_kspace,
amrex::DistributionMapping const &  dm,
const SpectralFieldIndex spectral_index,
int const  n_rz_azimuthal_modes,
int const  norder_z,
bool const  nodal,
const amrex::Array< amrex::Real, 3 > &  v_galilean,
amrex::Real const  dt_step,
bool const  update_with_rho 
)

Member Function Documentation

◆ CurrentCorrection()

void GalileanPsatdAlgorithmRZ::CurrentCorrection ( const int  lev,
SpectralFieldDataRZ field_data,
std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  current,
const std::unique_ptr< amrex::MultiFab > &  rho 
)
finaloverridevirtual

Virtual function for current correction in Fourier space This function overrides the virtual function CurrentCorrection in the base class SpectralBaseAlgorithmRZ (qualifier override) and cannot be overridden by further derived classes (qualifier final).

Parameters
[in,out]field_dataall fields in Fourier space
[in,out]currenttwo-dimensional array of unique pointers to MultiFab storing the three components of the current density
[in]rhounique pointer to MultiFab storing the charge density

Implements SpectralBaseAlgorithmRZ.

◆ InitializeSpectralCoefficients()

void GalileanPsatdAlgorithmRZ::InitializeSpectralCoefficients ( SpectralFieldDataRZ const &  f)

◆ pushSpectralFields()

void GalileanPsatdAlgorithmRZ::pushSpectralFields ( SpectralFieldDataRZ f)
finaloverridevirtual

◆ VayDeposition()

void GalileanPsatdAlgorithmRZ::VayDeposition ( const int  lev,
SpectralFieldDataRZ field_data,
std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  current 
)
finaloverridevirtual

Virtual function for Vay current deposition in Fourier space This function overrides the virtual function VayDeposition in the base class SpectralBaseAlgorithmRZ and cannot be overridden by further derived classes.

Parameters
[in,out]field_dataAll fields in Fourier space
[in,out]currentArray of unique pointers to MultiFab storing the three components of the current density

Implements SpectralBaseAlgorithmRZ.

Member Data Documentation

◆ C_coef

SpectralRealCoefficients GalileanPsatdAlgorithmRZ::C_coef
private

◆ coefficients_initialized

bool GalileanPsatdAlgorithmRZ::coefficients_initialized
private

◆ m_dt

amrex::Real const GalileanPsatdAlgorithmRZ::m_dt
private

◆ m_spectral_index

SpectralFieldIndex GalileanPsatdAlgorithmRZ::m_spectral_index
private

◆ m_update_with_rho

bool GalileanPsatdAlgorithmRZ::m_update_with_rho
private

◆ m_v_galilean

amrex::Array<amrex::Real,3> GalileanPsatdAlgorithmRZ::m_v_galilean
private

◆ S_ck_coef

SpectralRealCoefficients GalileanPsatdAlgorithmRZ::S_ck_coef
private

◆ T_rho_coef

SpectralComplexCoefficients GalileanPsatdAlgorithmRZ::T_rho_coef
private

◆ Theta2_coef

SpectralComplexCoefficients GalileanPsatdAlgorithmRZ::Theta2_coef
private

◆ X1_coef

SpectralComplexCoefficients GalileanPsatdAlgorithmRZ::X1_coef
private

◆ X2_coef

SpectralComplexCoefficients GalileanPsatdAlgorithmRZ::X2_coef
private

◆ X3_coef

SpectralComplexCoefficients GalileanPsatdAlgorithmRZ::X3_coef
private

◆ X4_coef

SpectralComplexCoefficients GalileanPsatdAlgorithmRZ::X4_coef
private

The documentation for this class was generated from the following files: