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

SpectralFieldIndex m_spectral_index
 
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, const int norder_x, const int norder_y, const int norder_z, const 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,
const int  norder_x,
const int  norder_y,
const int  norder_z,
const short  grid_type,
const amrex::Real  dt,
const bool  div_cleaning,
const int  J_in_time,
const 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)
finaloverridevirtual

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
finaloverridevirtual

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

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

◆ m_spectral_index

SpectralFieldIndex PsatdAlgorithmFirstOrder::m_spectral_index
private

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