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

#include <SpectralSolverRZ.H>

Public Member Functions

 SpectralSolverRZ (amrex::BoxArray const &realspace_ba, amrex::DistributionMapping const &dm, int const n_rz_azimuthal_modes, int const norder_z, bool const nodal, const amrex::Array< amrex::Real, 3 > &v_galilean, amrex::RealVect const dx, amrex::Real const dt, int const lev)
 
void ForwardTransform (amrex::MultiFab const &field_mf, int const field_index, int const i_comp=0)
 
void ForwardTransform (amrex::MultiFab const &field_mf1, int const field_index1, amrex::MultiFab const &field_mf2, int const field_index2)
 
void BackwardTransform (amrex::MultiFab &field_mf, int const field_index, int const i_comp=0)
 
void BackwardTransform (amrex::MultiFab &field_mf1, int const field_index1, amrex::MultiFab &field_mf2, int const field_index2)
 
void pushSpectralFields ()
 
void InitFilter (amrex::IntVect const &filter_npass_each_dir, bool const compensation)
 
void ApplyFilter (int const field_index)
 
void ApplyFilter (int const field_index1, int const field_index2, int const field_index3)
 
void ComputeSpectralDivE (const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &Efield, amrex::MultiFab &divE)
 Public interface to call the member function ComputeSpectralDivE of the base class SpectralBaseAlgorithmRZ from objects of class SpectralSolverRZ. More...
 
void CurrentCorrection (std::array< std::unique_ptr< amrex::MultiFab >, 3 > &current, const std::unique_ptr< amrex::MultiFab > &rho)
 Public interface to call the virtual function CurrentCorrection, defined in the base class SpectralBaseAlgorithmRZ and possibly overridden by its derived classes (e.g. PsatdAlgorithmRZ), from objects of class SpectralSolverRZ through the private unique pointer algorithm. More...
 
void VayDeposition (std::array< std::unique_ptr< amrex::MultiFab >, 3 > &current)
 Public interface to call the virtual function VayDeposition, declared in the base class SpectralBaseAlgorithmRZ and defined in its derived classes, from objects of class SpectralSolverRZ through the private unique pointer algorithm. More...
 

Private Attributes

SpectralKSpaceRZ k_space
 
SpectralFieldDataRZ field_data
 
std::unique_ptr< SpectralBaseAlgorithmRZalgorithm
 

Constructor & Destructor Documentation

◆ SpectralSolverRZ()

SpectralSolverRZ::SpectralSolverRZ ( amrex::BoxArray const &  realspace_ba,
amrex::DistributionMapping const &  dm,
int const  n_rz_azimuthal_modes,
int const  norder_z,
bool const  nodal,
const amrex::Array< amrex::Real, 3 > &  v_galilean,
amrex::RealVect const  dx,
amrex::Real const  dt,
int const  lev 
)

Member Function Documentation

◆ ApplyFilter() [1/2]

void SpectralSolverRZ::ApplyFilter ( int const  field_index)
inline

◆ ApplyFilter() [2/2]

void SpectralSolverRZ::ApplyFilter ( int const  field_index1,
int const  field_index2,
int const  field_index3 
)
inline

◆ BackwardTransform() [1/2]

void SpectralSolverRZ::BackwardTransform ( amrex::MultiFab &  field_mf,
int const  field_index,
int const  i_comp = 0 
)

◆ BackwardTransform() [2/2]

void SpectralSolverRZ::BackwardTransform ( amrex::MultiFab &  field_mf1,
int const  field_index1,
amrex::MultiFab &  field_mf2,
int const  field_index2 
)

◆ ComputeSpectralDivE()

void SpectralSolverRZ::ComputeSpectralDivE ( const std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  Efield,
amrex::MultiFab &  divE 
)

Public interface to call the member function ComputeSpectralDivE of the base class SpectralBaseAlgorithmRZ from objects of class SpectralSolverRZ.

◆ CurrentCorrection()

void SpectralSolverRZ::CurrentCorrection ( std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  current,
const std::unique_ptr< amrex::MultiFab > &  rho 
)

Public interface to call the virtual function CurrentCorrection, defined in the base class SpectralBaseAlgorithmRZ and possibly overridden by its derived classes (e.g. PsatdAlgorithmRZ), from objects of class SpectralSolverRZ through the private unique pointer algorithm.

Parameters
[in,out]currenttwo-dimensional array of unique pointers to MultiFab storing the three components of the current density
[in]rhounique pointer to MultiFab storing the charge density

◆ ForwardTransform() [1/2]

void SpectralSolverRZ::ForwardTransform ( amrex::MultiFab const &  field_mf,
int const  field_index,
int const  i_comp = 0 
)

◆ ForwardTransform() [2/2]

void SpectralSolverRZ::ForwardTransform ( amrex::MultiFab const &  field_mf1,
int const  field_index1,
amrex::MultiFab const &  field_mf2,
int const  field_index2 
)

◆ InitFilter()

void SpectralSolverRZ::InitFilter ( amrex::IntVect const &  filter_npass_each_dir,
bool const  compensation 
)
inline

◆ pushSpectralFields()

void SpectralSolverRZ::pushSpectralFields ( )

◆ VayDeposition()

void SpectralSolverRZ::VayDeposition ( std::array< std::unique_ptr< amrex::MultiFab >, 3 > &  current)

Public interface to call the virtual function VayDeposition, declared in the base class SpectralBaseAlgorithmRZ and defined in its derived classes, from objects of class SpectralSolverRZ through the private unique pointer algorithm.

Parameters
[in,out]currentArray of unique pointers to MultiFab storing the three components of the current density

Member Data Documentation

◆ algorithm

std::unique_ptr<SpectralBaseAlgorithmRZ> SpectralSolverRZ::algorithm
private

◆ field_data

SpectralFieldDataRZ SpectralSolverRZ::field_data
private

◆ k_space

SpectralKSpaceRZ SpectralSolverRZ::k_space
private

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