WarpX
Loading...
Searching...
No Matches
PsatdAlgorithmJRhomFirstOrder Class Reference

#include <PsatdAlgorithmJRhomFirstOrder.H>

Inheritance diagram for PsatdAlgorithmJRhomFirstOrder:
SpectralBaseAlgorithm

Public Member Functions

 PsatdAlgorithmJRhomFirstOrder (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, amrex::Real dt, bool div_cleaning, TimeDependencyJ time_dependency_J, TimeDependencyRho time_dependency_rho)
 Constructor of the class PsatdAlgorithmJRhomFirstOrder.
 
void pushSpectralFields (SpectralFieldData &f) const final
 Updates E, B, F, and G fields in spectral space, according to the first-order PSATD equations.
 
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.
 
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.
 
- 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, ablastr::fields::VectorField const &Efield, amrex::MultiFab &divE)
 Compute spectral divergence of E.
 

Private Attributes

amrex::Real m_dt
 
bool m_div_cleaning
 
TimeDependencyJ m_time_dependency_J
 
TimeDependencyRho m_time_dependency_rho
 

Additional Inherited Members

- Protected Types inherited from SpectralBaseAlgorithm
using SpectralRealCoefficients
 
using SpectralComplexCoefficients
 
- 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, ablastr::utils::enums::GridType grid_type)
 Constructor.
 
- Protected Attributes inherited from SpectralBaseAlgorithm
SpectralFieldIndex m_spectral_index
 
KVectorComponent modified_kx_vec
 
KVectorComponent modified_kz_vec
 

Constructor & Destructor Documentation

◆ PsatdAlgorithmJRhomFirstOrder()

PsatdAlgorithmJRhomFirstOrder::PsatdAlgorithmJRhomFirstOrder ( 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,
amrex::Real dt,
bool div_cleaning,
TimeDependencyJ time_dependency_J,
TimeDependencyRho time_dependency_rho )

Constructor of the class PsatdAlgorithmJRhomFirstOrder.

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]time_dependency_Jtime dependency of J (currently supported: constant, linear)
[in]time_dependency_rhotime dependency of rho (currently supported: constant, linear)

Member Function Documentation

◆ CurrentCorrection()

void PsatdAlgorithmJRhomFirstOrder::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 PsatdAlgorithmJRhomFirstOrder::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 PsatdAlgorithmJRhomFirstOrder::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 PsatdAlgorithmJRhomFirstOrder::m_div_cleaning
private

◆ m_dt

amrex::Real PsatdAlgorithmJRhomFirstOrder::m_dt
private

◆ m_time_dependency_J

TimeDependencyJ PsatdAlgorithmJRhomFirstOrder::m_time_dependency_J
private

◆ m_time_dependency_rho

TimeDependencyRho PsatdAlgorithmJRhomFirstOrder::m_time_dependency_rho
private

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