WarpX
|
#include <MagnetostaticSolver.H>
Public Member Functions | |
EBCalcBfromVectorPotentialPerLevel (const amrex::Vector< amrex::Array< std::unique_ptr< amrex::MultiFab >, 3 >> &b_field, const amrex::Vector< amrex::Array< std::unique_ptr< amrex::MultiFab >, 3 >> &grad_buf_e_stag, const amrex::Vector< amrex::Array< std::unique_ptr< amrex::MultiFab >, 3 >> &grad_buf_b_stag) | |
void | operator() (amrex::Array< std::unique_ptr< amrex::MLMG >, 3 > &mlmg, int lev) |
void | doInterp (const std::unique_ptr< amrex::MultiFab > &src, const std::unique_ptr< amrex::MultiFab > &dst) |
Private Attributes | |
const amrex::Vector< amrex::Array< std::unique_ptr< amrex::MultiFab >, 3 > > & | m_b_field |
const amrex::Vector< amrex::Array< std::unique_ptr< amrex::MultiFab >, 3 > > & | m_grad_buf_e_stag |
const amrex::Vector< amrex::Array< std::unique_ptr< amrex::MultiFab >, 3 > > & | m_grad_buf_b_stag |
use amrex to directly calculate the magnetic field since with EB's the
simple finite difference scheme in WarpX::computeE sometimes fails
|
inline |
void MagnetostaticSolver::EBCalcBfromVectorPotentialPerLevel::doInterp | ( | const std::unique_ptr< amrex::MultiFab > & | src, |
const std::unique_ptr< amrex::MultiFab > & | dst | ||
) |
void MagnetostaticSolver::EBCalcBfromVectorPotentialPerLevel::operator() | ( | amrex::Array< std::unique_ptr< amrex::MLMG >, 3 > & | mlmg, |
int | lev | ||
) |
|
private |
|
private |
|
private |