140 const amrex::Box box(amrex::IntVect(-2), amrex::IntVect(2));
141 amrex::FArrayBox scalar_fab(box, AMREX_SPACEDIM);
142 amrex::BaseFab<Set::Vector> vector_fab(box, 1);
143 const auto scalar = scalar_fab.array();
144 const auto vector = vector_fab.array();
147 for (
int n = 0; n < AMREX_SPACEDIM; ++n)
148 for (
int dir = 0; dir < AMREX_SPACEDIM; ++dir)
149 exact(n, dir) = 1.0 + n * AMREX_SPACEDIM + dir;
151 amrex::LoopOnCpu(box, [=] (
int i,
int j,
int k)
153 const int index[3] = {i, j, k};
155 for (
int n = 0; n < AMREX_SPACEDIM; ++n)
156 for (
int dir = 0; dir < AMREX_SPACEDIM; ++dir)
157 value(n) += exact(n, dir) * index[dir];
158 vector(i, j, k) = value;
159 for (
int n = 0; n < AMREX_SPACEDIM; ++n)
160 scalar(i, j, k, n) = value(n);
165 for (
int face = 0; face < AMREX_SPACEDIM; ++face)
168 scalar_fab.const_array(), 0, 0, 0, face, dx.data());
169 failed += (actual - exact).lpNorm<Eigen::Infinity>() > 1.0e-12;
171 vector_fab.const_array(), 0, 0, 0, face, dx.data());
172 failed += (actual - exact).lpNorm<Eigen::Infinity>() > 1.0e-12;