WarpX
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
SpectralBaseAlgorithm Class Referenceabstract

#include <SpectralBaseAlgorithm.H>

Inheritance diagram for SpectralBaseAlgorithm:
PsatdAlgorithmComoving PsatdAlgorithmFirstOrder PsatdAlgorithmJConstantInTime PsatdAlgorithmJLinearInTime 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. More...
 
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. More...
 
void ComputeSpectralDivE (int lev, SpectralFieldData &field_data, const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &Efield, amrex::MultiFab &divE)
 Compute spectral divergence of E. More...
 

Protected Types

using SpectralRealCoefficients = amrex::FabArray< amrex::BaseFab< amrex::Real > >
 
using SpectralComplexCoefficients = amrex::FabArray< amrex::BaseFab< Complex > >
 

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, short grid_type)
 Constructor. More...
 

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,
short  grid_type 
)
protected

Constructor.

Member Function Documentation

◆ ComputeSpectralDivE()

void SpectralBaseAlgorithm::ComputeSpectralDivE ( int  lev,
SpectralFieldData field_data,
const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  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 PsatdAlgorithmPml, PsatdAlgorithmJLinearInTime, PsatdAlgorithmJConstantInTime, PsatdAlgorithmFirstOrder, and PsatdAlgorithmComoving.

◆ 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 PsatdAlgorithmPml, PsatdAlgorithmJLinearInTime, PsatdAlgorithmJConstantInTime, PsatdAlgorithmFirstOrder, and PsatdAlgorithmComoving.

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: