7 #ifndef ABLASTR_IGF_SOLVER_H
8 #define ABLASTR_IGF_SOLVER_H
37 using namespace amrex::literals;
39 amrex::Real
const r = std::sqrt(
x*
x + y*y + z*z );
41 - 0.5_rt * z*z * std::atan(
x*y/(z*
r) )
42 - 0.5_rt * y*y * std::atan(
x*z/(y*
r) )
43 - 0.5_rt *
x*
x * std::atan( y*z/(
x*
r) )
44 + y*z*std::asinh(
x/std::sqrt(y*y + z*z) )
45 +
x*z*std::asinh( y/std::sqrt(
x*
x + z*z) )
46 +
x*y*std::asinh( z/std::sqrt(
x*
x + y*y) );
61 std::array<amrex::Real, 3>
const &
cell_size,
#define AMREX_FORCE_INLINE
#define AMREX_GPU_HOST_DEVICE
Definition: IntegratedGreenFunctionSolver.cpp:33
void computePhiIGF(amrex::MultiFab const &rho, amrex::MultiFab &phi, std::array< amrex::Real, 3 > const &cell_size, amrex::BoxArray const &ba)
Compute the electrostatic potential using the Integrated Green Function method as in http://dx....
Definition: IntegratedGreenFunctionSolver.cpp:36
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real IntegratedPotential(amrex::Real x, amrex::Real y, amrex::Real z)
Implements equation 2 in https://doi.org/10.1103/PhysRevSTAB.10.129901 with some modification to symm...
Definition: IntegratedGreenFunctionSolver.H:35
cell_size
Definition: compute_domain.py:37