ARTEMIS
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 ()
 
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 (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...
 

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, const int norder_x, const int norder_y, const int norder_z, const 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 ( )
inlinevirtual

◆ SpectralBaseAlgorithm()

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

Constructor.

Member Function Documentation

◆ ComputeSpectralDivE()

void SpectralBaseAlgorithm::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.

◆ 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.

◆ 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: