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

#include <PsatdAlgorithmFirstOrder.H>

Inheritance diagram for PsatdAlgorithmFirstOrder:
SpectralBaseAlgorithm

Public Member Functions

 PsatdAlgorithmFirstOrder (const SpectralKSpace &spectral_kspace, const amrex::DistributionMapping &dm, const SpectralFieldIndex &spectral_index, int norder_x, int norder_y, int norder_z, short grid_type, amrex::Real dt, bool div_cleaning, int J_in_time, int rho_in_time)
 Constructor of the class PsatdAlgorithmFirstOrder. More...
 
void pushSpectralFields (SpectralFieldData &f) const final
 Updates E, B, F, and G fields in spectral space, according to the first-order PSATD equations. More...
 
void CurrentCorrection (SpectralFieldData &field_data) 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...
 
void VayDeposition (SpectralFieldData &field_data) 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 ()=default
 
 SpectralBaseAlgorithm (const SpectralBaseAlgorithm &)=default
 
SpectralBaseAlgorithmoperator= (const SpectralBaseAlgorithm &)=default
 
 SpectralBaseAlgorithm (SpectralBaseAlgorithm &&)=default
 
SpectralBaseAlgorithmoperator= (SpectralBaseAlgorithm &&)=default
 
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...
 

Private Attributes

amrex::Real m_dt
 
bool m_div_cleaning
 
int m_J_in_time
 
int m_rho_in_time
 

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, int norder_x, int norder_y, int norder_z, short grid_type)
 Constructor. More...
 
- Protected Attributes inherited from SpectralBaseAlgorithm
SpectralFieldIndex m_spectral_index
 
KVectorComponent modified_kx_vec
 
KVectorComponent modified_kz_vec
 

Constructor & Destructor Documentation

◆ PsatdAlgorithmFirstOrder()

PsatdAlgorithmFirstOrder::PsatdAlgorithmFirstOrder ( const SpectralKSpace spectral_kspace,
const amrex::DistributionMapping dm,
const SpectralFieldIndex spectral_index,
int  norder_x,
int  norder_y,
int  norder_z,
short  grid_type,
amrex::Real  dt,
bool  div_cleaning,
int  J_in_time,
int  rho_in_time 
)

Constructor of the class PsatdAlgorithmFirstOrder.

Parameters
[in]spectral_kspacespectral space
[in]dmdistribution mapping
[in]spectral_indexobject containing indices to access data in spectral space
[in]norder_xorder of the spectral solver along x
[in]norder_yorder of the spectral solver along y
[in]norder_zorder of the spectral solver along z
[in]grid_typetype of grid (collocated or not)
[in]dttime step of the simulation
[in]div_cleaningwhether to use divergence correction for both E and B (thus, F and G)
[in]J_in_timetime dependency of J (currently supported: constant, linear)
[in]rho_in_timetime dependency of rho (currently supported: constant, linear)

Member Function Documentation

◆ CurrentCorrection()

void PsatdAlgorithmFirstOrder::CurrentCorrection ( SpectralFieldData field_data)
finalvirtual

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

Implements SpectralBaseAlgorithm.

◆ pushSpectralFields()

void PsatdAlgorithmFirstOrder::pushSpectralFields ( SpectralFieldData f) const
finalvirtual

Updates E, B, F, and G fields in spectral space, according to the first-order PSATD equations.

Parameters
[in,out]fall the fields in spectral space

Implements SpectralBaseAlgorithm.

◆ VayDeposition()

void PsatdAlgorithmFirstOrder::VayDeposition ( SpectralFieldData field_data)
finalvirtual

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

Implements SpectralBaseAlgorithm.

Member Data Documentation

◆ m_div_cleaning

bool PsatdAlgorithmFirstOrder::m_div_cleaning
private

◆ m_dt

amrex::Real PsatdAlgorithmFirstOrder::m_dt
private

◆ m_J_in_time

int PsatdAlgorithmFirstOrder::m_J_in_time
private

◆ m_rho_in_time

int PsatdAlgorithmFirstOrder::m_rho_in_time
private

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