WarpX
Public Member Functions | Private Attributes | List of all members
MagnetostaticSolver::EBCalcBfromVectorPotentialPerLevel Class Reference

#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
 

Detailed Description

use amrex to directly calculate the magnetic field since with EB's the

simple finite difference scheme in WarpX::computeE sometimes fails

Constructor & Destructor Documentation

◆ EBCalcBfromVectorPotentialPerLevel()

MagnetostaticSolver::EBCalcBfromVectorPotentialPerLevel::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 
)
inline

Member Function Documentation

◆ doInterp()

void MagnetostaticSolver::EBCalcBfromVectorPotentialPerLevel::doInterp ( const std::unique_ptr< amrex::MultiFab > &  src,
const std::unique_ptr< amrex::MultiFab > &  dst 
)

◆ operator()()

void MagnetostaticSolver::EBCalcBfromVectorPotentialPerLevel::operator() ( amrex::Array< std::unique_ptr< amrex::MLMG >, 3 > &  mlmg,
int  lev 
)

Member Data Documentation

◆ m_b_field

const amrex::Vector<amrex::Array<std::unique_ptr<amrex::MultiFab>, 3> >& MagnetostaticSolver::EBCalcBfromVectorPotentialPerLevel::m_b_field
private

◆ m_grad_buf_b_stag

const amrex::Vector<amrex::Array<std::unique_ptr<amrex::MultiFab>, 3> >& MagnetostaticSolver::EBCalcBfromVectorPotentialPerLevel::m_grad_buf_b_stag
private

◆ m_grad_buf_e_stag

const amrex::Vector<amrex::Array<std::unique_ptr<amrex::MultiFab>, 3> >& MagnetostaticSolver::EBCalcBfromVectorPotentialPerLevel::m_grad_buf_e_stag
private

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