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

#include <SpectralSolverRZ.H>

Public Member Functions

 SpectralSolverRZ (int lev, amrex::BoxArray const &realspace_ba, amrex::DistributionMapping const &dm, int n_rz_azimuthal_modes, int norder_z, short grid_type, const amrex::Vector< amrex::Real > &v_galilean, amrex::RealVect dx, amrex::Real dt, bool with_pml, bool update_with_rho, bool fft_do_time_averaging, int J_in_time, int rho_in_time, bool dive_cleaning, bool divb_cleaning)
 
void ForwardTransform (int lev, amrex::MultiFab const &field_mf, int field_index, int i_comp=0)
 
void ForwardTransform (int lev, amrex::MultiFab const &field_mf1, int field_index1, amrex::MultiFab const &field_mf2, int field_index2)
 
void BackwardTransform (int lev, amrex::MultiFab &field_mf, int field_index, int i_comp=0)
 
void BackwardTransform (int lev, amrex::MultiFab &field_mf1, int field_index1, amrex::MultiFab &field_mf2, int field_index2)
 
void pushSpectralFields (bool doing_pml=false)
 
void InitFilter (amrex::IntVect const &filter_npass_each_dir, bool const compensation)
 
void ApplyFilter (const int lev, int const field_index)
 
void ApplyFilter (const int lev, int const field_index1, int const field_index2, int const field_index3)
 
void ComputeSpectralDivE (int lev, 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 ()
 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 ()
 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...
 
void CopySpectralDataComp (const int src_comp, const int dest_comp)
 Copy spectral data from component src_comp to component dest_comp of field_data.fields. More...
 
void ZeroOutDataComp (const int icomp)
 Set to zero the data on component icomp of field_data.fields. More...
 
void ScaleDataComp (const int icomp, const amrex::Real scale_factor)
 Scale the data on component icomp of field_data.fields by a given scale factor. More...
 

Public Attributes

SpectralFieldIndex m_spectral_index
 

Private Attributes

SpectralKSpaceRZ k_space
 
SpectralFieldDataRZ field_data
 
std::unique_ptr< SpectralBaseAlgorithmRZalgorithm
 
std::unique_ptr< SpectralBaseAlgorithmRZPML_algorithm
 

Constructor & Destructor Documentation

◆ SpectralSolverRZ()

SpectralSolverRZ::SpectralSolverRZ ( int  lev,
amrex::BoxArray const &  realspace_ba,
amrex::DistributionMapping const &  dm,
int  n_rz_azimuthal_modes,
int  norder_z,
short  grid_type,
const amrex::Vector< amrex::Real > &  v_galilean,
amrex::RealVect  dx,
amrex::Real  dt,
bool  with_pml,
bool  update_with_rho,
bool  fft_do_time_averaging,
int  J_in_time,
int  rho_in_time,
bool  dive_cleaning,
bool  divb_cleaning 
)

Member Function Documentation

◆ ApplyFilter() [1/2]

void SpectralSolverRZ::ApplyFilter ( const int  lev,
int const  field_index 
)
inline

◆ ApplyFilter() [2/2]

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

◆ BackwardTransform() [1/2]

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

◆ BackwardTransform() [2/2]

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

◆ ComputeSpectralDivE()

void SpectralSolverRZ::ComputeSpectralDivE ( int  lev,
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.

◆ CopySpectralDataComp()

void SpectralSolverRZ::CopySpectralDataComp ( const int  src_comp,
const int  dest_comp 
)
inline

Copy spectral data from component src_comp to component dest_comp of field_data.fields.

Parameters
[in]src_compcomponent of the source FabArray from which the data are copied
[in]dest_compcomponent of the destination FabArray where the data are copied

◆ CurrentCorrection()

void SpectralSolverRZ::CurrentCorrection ( )

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.

◆ ForwardTransform() [1/2]

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

◆ ForwardTransform() [2/2]

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

◆ InitFilter()

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

◆ pushSpectralFields()

void SpectralSolverRZ::pushSpectralFields ( bool  doing_pml = false)

◆ ScaleDataComp()

void SpectralSolverRZ::ScaleDataComp ( const int  icomp,
const amrex::Real  scale_factor 
)
inline

Scale the data on component icomp of field_data.fields by a given scale factor.

Parameters
[in]icompcomponent of the FabArray where the data are scaled
[in]scale_factorscale factor to use for scaling

◆ VayDeposition()

void SpectralSolverRZ::VayDeposition ( )

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.

◆ ZeroOutDataComp()

void SpectralSolverRZ::ZeroOutDataComp ( const int  icomp)
inline

Set to zero the data on component icomp of field_data.fields.

Parameters
[in]icompcomponent of the FabArray where the data are set to zero

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

◆ m_spectral_index

SpectralFieldIndex SpectralSolverRZ::m_spectral_index

◆ PML_algorithm

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

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