1#ifndef AMREX_CROSS_PROJ_H_
2#define AMREX_CROSS_PROJ_H_
3#include <AMReX_Config.H>
11#if (AMREX_SPACEDIM == 2)
39 explicit CrossProj (Geometry
const& geom);
42 CrossProj (CrossProj
const&) =
delete;
43 CrossProj (CrossProj&&) =
delete;
44 CrossProj& operator= (CrossProj
const&) =
delete;
45 CrossProj& operator= (CrossProj&&) =
delete;
57 void solve (MultiFab& a_soln, MultiFab
const& a_rhs);
60 void setRelTol (Real rtol) { m_reltol = rtol; }
62 void setAbsTol (Real atol) { m_abstol = atol; }
63 void setMaxIter (
int n) { m_maxiter = n; }
64 void setVerbose (
int v) { m_verbose = v; }
66 [[nodiscard]]
int getNumIters ()
const {
return m_niters; }
72 void setup (BoxArray
const& ba, DistributionMapping
const& dm);
74 void vcycle (
int h,
int lev);
77 Real m_reltol = std::is_same_v<Real,float> ?
Real(1.e-5) :
Real(1.e-10);
84 DistributionMapping m_dmap;
85 bool m_reduced =
false;
86 MultiFab m_vel, m_x, m_p, m_q, m_rold;
87 std::unique_ptr<Level> m_top;
89 Array<Vector<std::unique_ptr<Level>>,2> m_hier;
Problem-domain geometry: maps between index space and physical space.
amrex_real Real
Floating Point Type for Fields.
Definition AMReX_REAL.H:80