9#ifndef WARPX_BOUNDARYHANDLER_H_
10#define WARPX_BOUNDARYHANDLER_H_
63 amrex::Real
operator()(
const amrex::Real x,
const amrex::Real z)
const noexcept {
64 using namespace amrex::literals;
69 amrex::Real
operator()(
const amrex::Real x,
const amrex::Real y,
const amrex::Real z)
const noexcept {
74 [[nodiscard]] PhiCalculatorEB
132 using namespace amrex::literals;
#define AMREX_FORCE_INLINE
#define AMREX_GPU_HOST_DEVICE
EBCalcEfromPhiPerLevel(amrex::Vector< amrex::Array< amrex::MultiFab *, 3 > > e_field)
Definition PoissonBoundaryHandler.H:128
void operator()(amrex::MLMG &mlmg, int const lev)
Definition PoissonBoundaryHandler.H:131
amrex::Vector< amrex::Array< amrex::MultiFab *, 3 > > m_e_field
Definition PoissonBoundaryHandler.H:125
amrex::ParserExecutor< 1 > potential_zlo
Definition PoissonBoundaryHandler.H:96
void BuildParsers()
Initialize amrex::Parser objects to get the boundary potential values at specified times.
Definition PoissonBoundaryHandler.cpp:155
amrex::Parser potential_eb_parser
Definition PoissonBoundaryHandler.H:114
amrex::Parser potential_yhi_parser
Definition PoissonBoundaryHandler.H:111
std::string potential_xlo_str
Definition PoissonBoundaryHandler.H:84
amrex::Parser potential_zhi_parser
Definition PoissonBoundaryHandler.H:113
PoissonBoundaryHandler()
Definition PoissonBoundaryHandler.cpp:16
amrex::ParserExecutor< 1 > potential_xhi
Definition PoissonBoundaryHandler.H:93
std::string potential_yhi_str
Definition PoissonBoundaryHandler.H:87
amrex::ParserExecutor< 1 > potential_zhi
Definition PoissonBoundaryHandler.H:97
void ReadParameters()
Definition PoissonBoundaryHandler.cpp:22
amrex::ParserExecutor< 1 > potential_yhi
Definition PoissonBoundaryHandler.H:95
void setPotentialEB(const std::string &potential)
Sets the EB potential string and updates the function parser.
Definition PoissonBoundaryHandler.H:52
std::string potential_zhi_str
Definition PoissonBoundaryHandler.H:89
bool phi_EB_only_t
Definition PoissonBoundaryHandler.H:104
amrex::Array< amrex::LinOpBCType, 3 > hibc
Definition PoissonBoundaryHandler.H:101
std::string potential_eb_str
Definition PoissonBoundaryHandler.H:90
void DefinePhiBCs(const amrex::Geometry &geom)
Read the input settings and set the boundary conditions used on each domain boundary for the Poisson ...
Definition PoissonBoundaryHandler.cpp:55
amrex::ParserExecutor< 4 > potential_eb
Definition PoissonBoundaryHandler.H:99
void BuildParsersEB()
Definition PoissonBoundaryHandler.cpp:174
amrex::Parser potential_ylo_parser
Definition PoissonBoundaryHandler.H:110
std::array< bool, 3 *2 > dirichlet_flag
Definition PoissonBoundaryHandler.H:102
std::string potential_zlo_str
Definition PoissonBoundaryHandler.H:88
amrex::ParserExecutor< 1 > potential_xlo
Definition PoissonBoundaryHandler.H:92
amrex::ParserExecutor< 1 > potential_ylo
Definition PoissonBoundaryHandler.H:94
std::string potential_ylo_str
Definition PoissonBoundaryHandler.H:86
PhiCalculatorEB getPhiEB(amrex::Real t) const noexcept
Definition PoissonBoundaryHandler.H:75
amrex::Array< amrex::LinOpBCType, 3 > lobc
Definition PoissonBoundaryHandler.H:101
amrex::Parser potential_zlo_parser
Definition PoissonBoundaryHandler.H:112
std::string potential_xhi_str
Definition PoissonBoundaryHandler.H:85
amrex::ParserExecutor< 1 > potential_eb_t
Definition PoissonBoundaryHandler.H:98
amrex::Parser potential_xhi_parser
Definition PoissonBoundaryHandler.H:109
bool has_non_periodic
Definition PoissonBoundaryHandler.H:103
amrex::Parser potential_xlo_parser
Definition PoissonBoundaryHandler.H:108
bool m_boundary_potential_specified
Definition PoissonBoundaryHandler.H:80
void getGradSolution(const Vector< Array< AMF *, 3 > > &a_grad_sol, Location a_loc=Location::FaceCenter)
Definition PoissonBoundaryHandler.H:57
amrex::ParserExecutor< 4 > potential_eb
Definition PoissonBoundaryHandler.H:60
amrex::Real t
Definition PoissonBoundaryHandler.H:59
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real operator()(const amrex::Real x, const amrex::Real y, const amrex::Real z) const noexcept
Definition PoissonBoundaryHandler.H:69
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real operator()(const amrex::Real x, const amrex::Real z) const noexcept
Definition PoissonBoundaryHandler.H:63