WarpX
Loading...
Searching...
No Matches
warpx::initialization::ProjectionDivCleaner Class Reference

#include <ProjectionDivCleaner.H>

Public Member Functions

 ProjectionDivCleaner (std::string const &a_field_name, bool a_vector_potential=false)
 
void ReadParameters ()
 
void solve ()
 
void setSourceFromField ()
 
void correctField ()
 

Public Attributes

amrex::Vector< std::unique_ptr< amrex::MultiFab > > m_solution
 
amrex::Vector< std::unique_ptr< amrex::MultiFab > > m_source
 
amrex::Vector< amrex::Real > m_h_stencil_coefs_x
 
amrex::Vector< amrex::Real > m_h_stencil_coefs_y
 
amrex::Vector< amrex::Real > m_h_stencil_coefs_z
 
amrex::Gpu::DeviceVector< amrex::Real > m_stencil_coefs_x
 
amrex::Gpu::DeviceVector< amrex::Real > m_stencil_coefs_y
 
amrex::Gpu::DeviceVector< amrex::Real > m_stencil_coefs_z
 

Protected Attributes

int m_levels = 1
 
int m_ref_ratio = 1
 
int m_verbose = 2
 
int m_bottom_verbose = 0
 
int m_max_iter = 5000
 
int m_max_fmg_iter = 1000
 
int m_linop_maxorder = 3
 
bool m_agglomeration = false
 
bool m_consolidation = false
 
bool m_semicoarsening = true
 
int m_max_coarsening_level = 10
 
int m_max_semicoarsening_level = 10
 
amrex::BottomSolver m_bottom_solver = amrex::BottomSolver::bicgstab
 
amrex::Real m_rtol
 
amrex::Real m_atol
 
std::string m_field_name
 
ablastr::utils::enums::GridType m_grid_type
 
bool m_vector_potential
 

Private Member Functions

template<typename T>
AMREX_FORCE_INLINE void runMLMG (T &linop, amrex::Array< amrex::LinOpBCType, 3 > const &lobc, amrex::Array< amrex::LinOpBCType, 3 > const &hibc, int lev)
 

Constructor & Destructor Documentation

◆ ProjectionDivCleaner()

warpx::initialization::ProjectionDivCleaner::ProjectionDivCleaner ( std::string const & a_field_name,
bool a_vector_potential = false )

Member Function Documentation

◆ correctField()

void warpx::initialization::ProjectionDivCleaner::correctField ( )

◆ ReadParameters()

void warpx::initialization::ProjectionDivCleaner::ReadParameters ( )

◆ runMLMG()

template<typename T>
AMREX_FORCE_INLINE void warpx::initialization::ProjectionDivCleaner::runMLMG ( T & linop,
amrex::Array< amrex::LinOpBCType, 3 > const & lobc,
amrex::Array< amrex::LinOpBCType, 3 > const & hibc,
int lev )
inlineprivate

◆ setSourceFromField()

void warpx::initialization::ProjectionDivCleaner::setSourceFromField ( )

◆ solve()

void warpx::initialization::ProjectionDivCleaner::solve ( )

Member Data Documentation

◆ m_agglomeration

bool warpx::initialization::ProjectionDivCleaner::m_agglomeration = false
protected

◆ m_atol

amrex::Real warpx::initialization::ProjectionDivCleaner::m_atol
protected

◆ m_bottom_solver

amrex::BottomSolver warpx::initialization::ProjectionDivCleaner::m_bottom_solver = amrex::BottomSolver::bicgstab
protected

◆ m_bottom_verbose

int warpx::initialization::ProjectionDivCleaner::m_bottom_verbose = 0
protected

◆ m_consolidation

bool warpx::initialization::ProjectionDivCleaner::m_consolidation = false
protected

◆ m_field_name

std::string warpx::initialization::ProjectionDivCleaner::m_field_name
protected

◆ m_grid_type

ablastr::utils::enums::GridType warpx::initialization::ProjectionDivCleaner::m_grid_type
protected

◆ m_h_stencil_coefs_x

amrex::Vector<amrex::Real> warpx::initialization::ProjectionDivCleaner::m_h_stencil_coefs_x

◆ m_h_stencil_coefs_y

amrex::Vector<amrex::Real> warpx::initialization::ProjectionDivCleaner::m_h_stencil_coefs_y

◆ m_h_stencil_coefs_z

amrex::Vector<amrex::Real> warpx::initialization::ProjectionDivCleaner::m_h_stencil_coefs_z

◆ m_levels

int warpx::initialization::ProjectionDivCleaner::m_levels = 1
protected

◆ m_linop_maxorder

int warpx::initialization::ProjectionDivCleaner::m_linop_maxorder = 3
protected

◆ m_max_coarsening_level

int warpx::initialization::ProjectionDivCleaner::m_max_coarsening_level = 10
protected

◆ m_max_fmg_iter

int warpx::initialization::ProjectionDivCleaner::m_max_fmg_iter = 1000
protected

◆ m_max_iter

int warpx::initialization::ProjectionDivCleaner::m_max_iter = 5000
protected

◆ m_max_semicoarsening_level

int warpx::initialization::ProjectionDivCleaner::m_max_semicoarsening_level = 10
protected

◆ m_ref_ratio

int warpx::initialization::ProjectionDivCleaner::m_ref_ratio = 1
protected

◆ m_rtol

amrex::Real warpx::initialization::ProjectionDivCleaner::m_rtol
protected

◆ m_semicoarsening

bool warpx::initialization::ProjectionDivCleaner::m_semicoarsening = true
protected

◆ m_solution

amrex::Vector< std::unique_ptr<amrex::MultiFab> > warpx::initialization::ProjectionDivCleaner::m_solution

◆ m_source

amrex::Vector< std::unique_ptr<amrex::MultiFab> > warpx::initialization::ProjectionDivCleaner::m_source

◆ m_stencil_coefs_x

amrex::Gpu::DeviceVector<amrex::Real> warpx::initialization::ProjectionDivCleaner::m_stencil_coefs_x

◆ m_stencil_coefs_y

amrex::Gpu::DeviceVector<amrex::Real> warpx::initialization::ProjectionDivCleaner::m_stencil_coefs_y

◆ m_stencil_coefs_z

amrex::Gpu::DeviceVector<amrex::Real> warpx::initialization::ProjectionDivCleaner::m_stencil_coefs_z

◆ m_vector_potential

bool warpx::initialization::ProjectionDivCleaner::m_vector_potential
protected

◆ m_verbose

int warpx::initialization::ProjectionDivCleaner::m_verbose = 2
protected

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