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, int a_comp=0)
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::Realm_h_stencil_coefs_x
amrex::Vector< amrex::Realm_h_stencil_coefs_y
amrex::Vector< amrex::Realm_h_stencil_coefs_z
amrex::Gpu::DeviceVector< amrex::Realm_stencil_coefs_x
amrex::Gpu::DeviceVector< amrex::Realm_stencil_coefs_y
amrex::Gpu::DeviceVector< amrex::Realm_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
int m_comp = 0

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,
int a_comp = 0 )
explicit

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_comp

int warpx::initialization::ProjectionDivCleaner::m_comp = 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: