7 #ifndef ELECTROSTATICSOLVER_H_
8 #define ELECTROSTATICSOLVER_H_
24 amrex::Real
operator()(
const amrex::Real x,
const amrex::Real
z)
const noexcept {
25 using namespace amrex::literals;
30 amrex::Real
operator()(
const amrex::Real x,
const amrex::Real
y,
const amrex::Real
z)
const noexcept {
41 bool has_non_periodic =
false;
42 bool phi_EB_only_t =
true;
47 void buildParsersEB ();
54 potential_eb_str = potential;
64 std::string potential_xlo_str =
"0";
65 std::string potential_xhi_str =
"0";
66 std::string potential_ylo_str =
"0";
67 std::string potential_yhi_str =
"0";
68 std::string potential_zlo_str =
"0";
69 std::string potential_zhi_str =
"0";
70 std::string potential_eb_str =
"0";
104 : m_e_field(e_field) {}
107 using namespace amrex::literals;
110 for (
auto &
field: m_e_field[lev]) {
#define AMREX_FORCE_INLINE
#define AMREX_GPU_HOST_DEVICE
Definition: ElectrostaticSolver.H:96
amrex::Vector< amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > > m_e_field
Definition: ElectrostaticSolver.H:100
EBCalcEfromPhiPerLevel(amrex::Vector< amrex::Array< amrex::MultiFab *, AMREX_SPACEDIM > > e_field)
Definition: ElectrostaticSolver.H:103
void operator()(amrex::MLMG &mlmg, int const lev)
Definition: ElectrostaticSolver.H:106
Definition: ElectrostaticSolver.H:35
amrex::ParserExecutor< 1 > potential_xhi
Definition: ElectrostaticSolver.H:73
amrex::ParserExecutor< 1 > potential_yhi
Definition: ElectrostaticSolver.H:75
PhiCalculatorEB getPhiEB(amrex::Real t) const noexcept
Definition: ElectrostaticSolver.H:58
amrex::Parser potential_xlo_parser
Definition: ElectrostaticSolver.H:83
amrex::Parser potential_yhi_parser
Definition: ElectrostaticSolver.H:86
void setPotentialEB(const std::string potential)
Definition: ElectrostaticSolver.H:53
amrex::Parser potential_zlo_parser
Definition: ElectrostaticSolver.H:87
amrex::Parser potential_ylo_parser
Definition: ElectrostaticSolver.H:85
amrex::ParserExecutor< 1 > potential_zlo
Definition: ElectrostaticSolver.H:76
amrex::Array< amrex::LinOpBCType, AMREX_SPACEDIM > hibc
Definition: ElectrostaticSolver.H:38
amrex::ParserExecutor< 1 > potential_xlo
Definition: ElectrostaticSolver.H:72
amrex::ParserExecutor< 1 > potential_ylo
Definition: ElectrostaticSolver.H:74
amrex::ParserExecutor< 1 > potential_zhi
Definition: ElectrostaticSolver.H:77
amrex::ParserExecutor< 4 > potential_eb
Definition: ElectrostaticSolver.H:79
amrex::Parser potential_xhi_parser
Definition: ElectrostaticSolver.H:84
amrex::Parser potential_zhi_parser
Definition: ElectrostaticSolver.H:88
std::array< bool, AMREX_SPACEDIM *2 > dirichlet_flag
Definition: ElectrostaticSolver.H:40
amrex::Parser potential_eb_parser
Definition: ElectrostaticSolver.H:89
amrex::ParserExecutor< 1 > potential_eb_t
Definition: ElectrostaticSolver.H:78
void getGradSolution(const Vector< Array< AMF *, AMREX_SPACEDIM > > &a_grad_sol, Location a_loc=Location::FaceCenter)
Definition: ElectrostaticSolver.H:16
def y
Definition: Excitation_Flag_Generator.py:76
def z
Definition: Excitation_Flag_Generator.py:77
string field
Definition: video_yt.py:31
Definition: ElectrostaticSolver.H:18
amrex::ParserExecutor< 4 > potential_eb
Definition: ElectrostaticSolver.H:21
amrex::Real t
Definition: ElectrostaticSolver.H:20
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: ElectrostaticSolver.H:30
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real operator()(const amrex::Real x, const amrex::Real z) const noexcept
Definition: ElectrostaticSolver.H:24