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

#include <SpectralSolverRZ.H>

Public Member Functions

 SpectralSolverRZ (const int lev, amrex::BoxArray const &realspace_ba, amrex::DistributionMapping const &dm, int const n_rz_azimuthal_modes, int const norder_z, short const grid_type, const amrex::Vector< amrex::Real > &v_galilean, amrex::RealVect const dx, amrex::Real const dt, bool const with_pml, bool const update_with_rho, const bool fft_do_time_averaging, const int J_in_time, const int rho_in_time, const bool dive_cleaning, const bool divb_cleaning)
 
void ForwardTransform (const int lev, amrex::MultiFab const &field_mf, int const field_index, int const i_comp=0)
 
void ForwardTransform (const int lev, amrex::MultiFab const &field_mf1, int const field_index1, amrex::MultiFab const &field_mf2, int const field_index2)
 
void BackwardTransform (const int lev, amrex::MultiFab &field_mf, int const field_index, int const i_comp=0)
 
void BackwardTransform (const int lev, amrex::MultiFab &field_mf1, int const field_index1, amrex::MultiFab &field_mf2, int const field_index2)
 
void pushSpectralFields (const 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 (const 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 ( const int  lev,
amrex::BoxArray const &  realspace_ba,
amrex::DistributionMapping const &  dm,
int const  n_rz_azimuthal_modes,
int const  norder_z,
short const  grid_type,
const amrex::Vector< amrex::Real > &  v_galilean,
amrex::RealVect const  dx,
amrex::Real const  dt,
bool const  with_pml,
bool const  update_with_rho,
const bool  fft_do_time_averaging,
const int  J_in_time,
const int  rho_in_time,
const bool  dive_cleaning,
const 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 ( const int  lev,
amrex::MultiFab field_mf,
int const  field_index,
int const  i_comp = 0 
)

◆ BackwardTransform() [2/2]

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

◆ ComputeSpectralDivE()

void SpectralSolverRZ::ComputeSpectralDivE ( const 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 ( const int  lev,
amrex::MultiFab const &  field_mf,
int const  field_index,
int const  i_comp = 0 
)

◆ ForwardTransform() [2/2]

void SpectralSolverRZ::ForwardTransform ( const int  lev,
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 ( const 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: