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

#include <AvgGalileanAlgorithm.H>

Inheritance diagram for AvgGalileanAlgorithm:
SpectralBaseAlgorithm

Public Member Functions

 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)
 
virtual void pushSpectralFields (SpectralFieldData &f) const override final
 
virtual int getRequiredNumberOfFields () const override final
 
void InitializeSpectralCoefficients (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const amrex::Array< amrex::Real, 3 > &v_galilean, const amrex::Real dt)
 
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 the virtual function CurrentCorrection in the base class SpectralBaseAlgorithm and cannot be overridden by further derived classes. More...
 
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 overrides the virtual function VayDeposition in the base class SpectralBaseAlgorithm and cannot be overridden by further derived classes. More...
 
- Public Member Functions inherited from SpectralBaseAlgorithm
virtual ~SpectralBaseAlgorithm ()
 
void ComputeSpectralDivE (SpectralFieldData &field_data, const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &Efield, amrex::MultiFab &divE)
 Compute spectral divergence of E. More...
 

Private Attributes

SpectralRealCoefficients C_coef
 
SpectralRealCoefficients S_ck_coef
 
SpectralRealCoefficients C1_coef
 
SpectralRealCoefficients C3_coef
 
SpectralRealCoefficients S1_coef
 
SpectralRealCoefficients S3_coef
 
SpectralComplexCoefficients Theta2_coef
 
SpectralComplexCoefficients X1_coef
 
SpectralComplexCoefficients X2_coef
 
SpectralComplexCoefficients X3_coef
 
SpectralComplexCoefficients X4_coef
 
SpectralComplexCoefficients Psi1_coef
 
SpectralComplexCoefficients Psi2_coef
 
SpectralComplexCoefficients Psi3_coef
 
SpectralComplexCoefficients Psi4_coef
 
SpectralComplexCoefficients A1_coef
 
SpectralComplexCoefficients A2_coef
 
SpectralComplexCoefficients Rhoold_coef
 
SpectralComplexCoefficients Rhonew_coef
 
SpectralComplexCoefficients Jcoef_coef
 

Additional Inherited Members

- Protected Types inherited from SpectralBaseAlgorithm
using SpectralRealCoefficients = amrex::FabArray< amrex::BaseFab< amrex::Real > >
 
using SpectralComplexCoefficients = amrex::FabArray< amrex::BaseFab< Complex > >
 
- Protected Member Functions inherited from SpectralBaseAlgorithm
 SpectralBaseAlgorithm (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const int norder_x, const int norder_y, const int norder_z, const bool nodal)
 
- Protected Attributes inherited from SpectralBaseAlgorithm
KVectorComponent modified_kx_vec
 
KVectorComponent modified_ky_vec
 
KVectorComponent modified_kz_vec
 

Constructor & Destructor Documentation

◆ AvgGalileanAlgorithm()

AvgGalileanAlgorithm::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 
)

Member Function Documentation

◆ CurrentCorrection()

void AvgGalileanAlgorithm::CurrentCorrection ( SpectralFieldData 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 (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_dataAll fields in Fourier space
[in,out]currentArray of unique pointers to MultiFab storing the three components of the current density
[in]rhoUnique pointer to MultiFab storing the charge density

Implements SpectralBaseAlgorithm.

◆ getRequiredNumberOfFields()

virtual int AvgGalileanAlgorithm::getRequiredNumberOfFields ( ) const
inlinefinaloverridevirtual

Implements SpectralBaseAlgorithm.

◆ InitializeSpectralCoefficients()

void AvgGalileanAlgorithm::InitializeSpectralCoefficients ( const SpectralKSpace spectral_kspace,
const amrex::DistributionMapping &  dm,
const amrex::Array< amrex::Real, 3 > &  v_galilean,
const amrex::Real  dt 
)

◆ pushSpectralFields()

void AvgGalileanAlgorithm::pushSpectralFields ( SpectralFieldData f) const
finaloverridevirtual

Implements SpectralBaseAlgorithm.

◆ VayDeposition()

void AvgGalileanAlgorithm::VayDeposition ( SpectralFieldData field_data,
std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  current 
)
finaloverridevirtual

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_dataAll fields in Fourier space
[in,out]currentArray of unique pointers to MultiFab storing the three components of the current density

Implements SpectralBaseAlgorithm.

Member Data Documentation

◆ A1_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::A1_coef
private

◆ A2_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::A2_coef
private

◆ C1_coef

SpectralRealCoefficients AvgGalileanAlgorithm::C1_coef
private

◆ C3_coef

SpectralRealCoefficients AvgGalileanAlgorithm::C3_coef
private

◆ C_coef

SpectralRealCoefficients AvgGalileanAlgorithm::C_coef
private

◆ Jcoef_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::Jcoef_coef
private

◆ Psi1_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::Psi1_coef
private

◆ Psi2_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::Psi2_coef
private

◆ Psi3_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::Psi3_coef
private

◆ Psi4_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::Psi4_coef
private

◆ Rhonew_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::Rhonew_coef
private

◆ Rhoold_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::Rhoold_coef
private

◆ S1_coef

SpectralRealCoefficients AvgGalileanAlgorithm::S1_coef
private

◆ S3_coef

SpectralRealCoefficients AvgGalileanAlgorithm::S3_coef
private

◆ S_ck_coef

SpectralRealCoefficients AvgGalileanAlgorithm::S_ck_coef
private

◆ Theta2_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::Theta2_coef
private

◆ X1_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::X1_coef
private

◆ X2_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::X2_coef
private

◆ X3_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::X3_coef
private

◆ X4_coef

SpectralComplexCoefficients AvgGalileanAlgorithm::X4_coef
private

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