WarpX
Loading...
Searching...
No Matches
SpectralBaseAlgorithm Class Referenceabstract

#include <SpectralBaseAlgorithm.H>

Inheritance diagram for SpectralBaseAlgorithm:
PsatdAlgorithmComoving PsatdAlgorithmGalilean PsatdAlgorithmJRhomFirstOrder PsatdAlgorithmJRhomSecondOrder PsatdAlgorithmPml

Public Member Functions

virtual void pushSpectralFields (SpectralFieldData &f) const =0
 
virtual ~SpectralBaseAlgorithm ()=default
 
 SpectralBaseAlgorithm (const SpectralBaseAlgorithm &)=default
 
SpectralBaseAlgorithmoperator= (const SpectralBaseAlgorithm &)=default
 
 SpectralBaseAlgorithm (SpectralBaseAlgorithm &&)=default
 
SpectralBaseAlgorithmoperator= (SpectralBaseAlgorithm &&)=default
 
virtual void CurrentCorrection (SpectralFieldData &field_data)=0
 Virtual function for current correction in Fourier space (Vay et al, 2013). This virtual function is pure and must be defined in derived classes.
 
virtual void VayDeposition (SpectralFieldData &field_data)=0
 Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This virtual function is pure and must be defined in derived classes.
 
void ComputeSpectralDivE (int lev, SpectralFieldData &field_data, ablastr::fields::VectorField const &Efield, amrex::MultiFab &divE)
 Compute spectral divergence of E.
 

Protected Types

using SpectralRealCoefficients
 
using SpectralComplexCoefficients
 

Protected Member Functions

 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

SpectralFieldIndex m_spectral_index
 
KVectorComponent modified_kx_vec
 
KVectorComponent modified_kz_vec
 

Member Typedef Documentation

◆ SpectralComplexCoefficients

◆ SpectralRealCoefficients

Constructor & Destructor Documentation

◆ ~SpectralBaseAlgorithm()

virtual SpectralBaseAlgorithm::~SpectralBaseAlgorithm ( )
virtualdefault

◆ SpectralBaseAlgorithm() [1/3]

SpectralBaseAlgorithm::SpectralBaseAlgorithm ( const SpectralBaseAlgorithm & )
default

◆ SpectralBaseAlgorithm() [2/3]

SpectralBaseAlgorithm::SpectralBaseAlgorithm ( SpectralBaseAlgorithm && )
default

◆ SpectralBaseAlgorithm() [3/3]

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 )
protected

Constructor.

Member Function Documentation

◆ ComputeSpectralDivE()

void SpectralBaseAlgorithm::ComputeSpectralDivE ( int lev,
SpectralFieldData & field_data,
ablastr::fields::VectorField const & Efield,
amrex::MultiFab & divE )

Compute spectral divergence of E.

◆ CurrentCorrection()

virtual void SpectralBaseAlgorithm::CurrentCorrection ( SpectralFieldData & field_data)
pure virtual

Virtual function for current correction in Fourier space (Vay et al, 2013). This virtual function is pure and must be defined in derived classes.

Parameters
[in,out]field_dataAll fields in Fourier space

Implemented in PsatdAlgorithmComoving, PsatdAlgorithmGalilean, PsatdAlgorithmJRhomFirstOrder, PsatdAlgorithmJRhomSecondOrder, and PsatdAlgorithmPml.

◆ operator=() [1/2]

SpectralBaseAlgorithm & SpectralBaseAlgorithm::operator= ( const SpectralBaseAlgorithm & )
default

◆ operator=() [2/2]

SpectralBaseAlgorithm & SpectralBaseAlgorithm::operator= ( SpectralBaseAlgorithm && )
default

◆ pushSpectralFields()

virtual void SpectralBaseAlgorithm::pushSpectralFields ( SpectralFieldData & f) const
pure virtual

◆ VayDeposition()

virtual void SpectralBaseAlgorithm::VayDeposition ( SpectralFieldData & field_data)
pure virtual

Virtual function for Vay current deposition in Fourier space (Vay et al, 2013). This virtual function is pure and must be defined in derived classes.

Parameters
[in,out]field_dataAll fields in Fourier space

Implemented in PsatdAlgorithmComoving, PsatdAlgorithmGalilean, PsatdAlgorithmJRhomFirstOrder, PsatdAlgorithmJRhomSecondOrder, and PsatdAlgorithmPml.

Member Data Documentation

◆ m_spectral_index

SpectralFieldIndex SpectralBaseAlgorithm::m_spectral_index
protected

◆ modified_kx_vec

KVectorComponent SpectralBaseAlgorithm::modified_kx_vec
protected

◆ modified_kz_vec

KVectorComponent SpectralBaseAlgorithm::modified_kz_vec
protected

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