20 int nx()
const {
return nx_; }
21 int ny()
const {
return ny_; }
22 int nz()
const {
return nz_; }
23 double dx()
const {
return dx_; }
24 int size()
const {
return nx_ * ny_ * nz_; }
40 std::vector<real> data_;
42 idx flat(
int i,
int j,
int k)
const {
43 return (
idx)(
k * ny_ * nx_ +
j * nx_ +
i);
void from_vector(const Vector &v)
Copy solver result back into grid.
real & operator()(int i, int j, int k)
real operator()(int i, int j, int k) const
Vector to_vector() const
Copy contents into a new Vector (for solver interop).
void set(int i, int j, int k, real v)
constexpr T ipow(T x) noexcept
Compute x^N at compile time via repeated squaring.