23 #ifndef FMG_POISSON_SOLVER_H_
24 #define FMG_POISSON_SOLVER_H_
29 #include <AMReX_MultiFabUtil.H>
30 #include <AMReX_BLFort.H>
31 #include <AMReX_FMultiGrid.H>
69 unsigned short baseLevel,
70 unsigned short finestLevel,
71 bool prevAsGuess =
true);
111 const amrex::Vector< AmrFieldContainer_pt >& grad_phi_edge,
Inform & operator<<(Inform &os, const FMGPoissonSolver &fs)
amr::AmrGeometry_t AmrGeometry_t
amr::AmrProcMap_t AmrProcMap_t
amr::AmrVectorFieldContainer_t AmrVectorFieldContainer_t
amr::AmrScalarFieldContainer_t AmrScalarFieldContainer_t
amr::AmrGeomContainer_t AmrGeomContainer_t
amrex::Vector< AmrBoxLib::AmrField_t * > AmrFieldContainer_pt
double abstol_m
Absolute tolerance for solver.
Inform & print(Inform &os) const
double getZRangeMax(unsigned short level=0)
double reltol_m
Relative tolearance for solver.
double getYRangeMin(unsigned short level=0)
AmrBoxLib::AmrGeomContainer_t GeomContainer_t
void solve(AmrScalarFieldContainer_t &rho, AmrScalarFieldContainer_t &phi, AmrVectorFieldContainer_t &efield, unsigned short baseLevel, unsigned short finestLevel, bool prevAsGuess=true)
AmrBoxLib::AmrScalarFieldContainer_t AmrScalarFieldContainer_t
FMGPoissonSolver(AmrBoxLib *itsAmrObject_p)
AmrBoxLib::AmrVectorFieldContainer_t AmrVectorFieldContainer_t
AmrBoxLib::AmrProcMap_t AmrProcMap_t
double getXRangeMax(unsigned short level=0)
double solveWithF90_m(const AmrFieldContainer_pt &rho, const AmrFieldContainer_pt &phi, const amrex::Vector< AmrFieldContainer_pt > &grad_phi_edge, const GeomContainer_t &geom, int baseLevel, int finestLevel)
AmrBoxLib::AmrGeometry_t AmrGeometry_t
double getZRangeMin(unsigned short level=0)
double getXRangeMin(unsigned short level=0)
double getYRangeMax(unsigned short level=0)
int bc_m[2 *AMREX_SPACEDIM]
Boundary conditions.
AmrBoxLib::AmrGrid_t AmrGrid_t