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

#include <ComovingPsatdAlgorithm.H>

Inheritance diagram for ComovingPsatdAlgorithm:
SpectralBaseAlgorithm

Public Member Functions

 ComovingPsatdAlgorithm (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 bool nodal, const amrex::IntVect &fill_guards, const amrex::Array< amrex::Real, 3 > &v_comoving, const amrex::Real dt, const bool update_with_rho)
 Class constructor. More...
 
virtual void pushSpectralFields (SpectralFieldData &f) const override final
 Override the update equations in Fourier space. More...
 
void InitializeSpectralCoefficients (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const amrex::Real dt)
 
virtual void CurrentCorrection (const int lev, 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. This function overrides the virtual function CurrentCorrection in the base class SpectralBaseAlgorithm and cannot be overridden by further derived classes. More...
 
virtual void VayDeposition (const int lev, SpectralFieldData &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 SpectralBaseAlgorithm and cannot be overridden by further derived classes. More...
 
- Public Member Functions inherited from SpectralBaseAlgorithm
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...
 

Private Attributes

SpectralRealCoefficients C_coef
 
SpectralRealCoefficients S_ck_coef
 
SpectralComplexCoefficients Theta2_coef
 
SpectralComplexCoefficients X1_coef
 
SpectralComplexCoefficients X2_coef
 
SpectralComplexCoefficients X3_coef
 
SpectralComplexCoefficients X4_coef
 
SpectralFieldIndex m_spectral_index
 
KVectorComponent kx_vec
 
KVectorComponent ky_vec
 
KVectorComponent kz_vec
 
amrex::Array< amrex::Real, 3 > m_v_comoving
 
amrex::Real m_dt
 

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 SpectralFieldIndex &spectral_index, const int norder_x, const int norder_y, const int norder_z, const bool nodal, const amrex::IntVect &fill_guards)
 Constructor. More...
 
- Protected Attributes inherited from SpectralBaseAlgorithm
amrex::IntVect m_fill_guards
 
SpectralFieldIndex m_spectral_index
 
KVectorComponent modified_kx_vec
 
KVectorComponent modified_ky_vec
 
KVectorComponent modified_kz_vec
 

Constructor & Destructor Documentation

◆ ComovingPsatdAlgorithm()

ComovingPsatdAlgorithm::ComovingPsatdAlgorithm ( 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 bool  nodal,
const amrex::IntVect &  fill_guards,
const amrex::Array< amrex::Real, 3 > &  v_comoving,
const amrex::Real  dt,
const bool  update_with_rho 
)

Class constructor.

Member Function Documentation

◆ CurrentCorrection()

void ComovingPsatdAlgorithm::CurrentCorrection ( const int  lev,
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. 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.

◆ InitializeSpectralCoefficients()

void ComovingPsatdAlgorithm::InitializeSpectralCoefficients ( const SpectralKSpace spectral_kspace,
const amrex::DistributionMapping &  dm,
const amrex::Real  dt 
)

◆ pushSpectralFields()

void ComovingPsatdAlgorithm::pushSpectralFields ( SpectralFieldData f) const
finaloverridevirtual

Override the update equations in Fourier space.

Implements SpectralBaseAlgorithm.

◆ VayDeposition()

void ComovingPsatdAlgorithm::VayDeposition ( const int  lev,
SpectralFieldData 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 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

◆ C_coef

SpectralRealCoefficients ComovingPsatdAlgorithm::C_coef
private

◆ kx_vec

KVectorComponent ComovingPsatdAlgorithm::kx_vec
private

◆ ky_vec

KVectorComponent ComovingPsatdAlgorithm::ky_vec
private

◆ kz_vec

KVectorComponent ComovingPsatdAlgorithm::kz_vec
private

◆ m_dt

amrex::Real ComovingPsatdAlgorithm::m_dt
private

◆ m_spectral_index

SpectralFieldIndex ComovingPsatdAlgorithm::m_spectral_index
private

◆ m_v_comoving

amrex::Array<amrex::Real,3> ComovingPsatdAlgorithm::m_v_comoving
private

◆ S_ck_coef

SpectralRealCoefficients ComovingPsatdAlgorithm::S_ck_coef
private

◆ Theta2_coef

SpectralComplexCoefficients ComovingPsatdAlgorithm::Theta2_coef
private

◆ X1_coef

SpectralComplexCoefficients ComovingPsatdAlgorithm::X1_coef
private

◆ X2_coef

SpectralComplexCoefficients ComovingPsatdAlgorithm::X2_coef
private

◆ X3_coef

SpectralComplexCoefficients ComovingPsatdAlgorithm::X3_coef
private

◆ X4_coef

SpectralComplexCoefficients ComovingPsatdAlgorithm::X4_coef
private

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