numerics
Loading...
Searching...
No Matches
grid3d.cpp
Go to the documentation of this file.
1#include "spatial/grid3d.hpp"
2#include <algorithm>
3
4namespace num {
5
6Grid3D::Grid3D(int nx, int ny, int nz, double dx)
7 : nx_(nx), ny_(ny), nz_(nz), dx_(dx), data_(nx * ny * nz, 0.0) {}
8
10 std::fill(data_.begin(), data_.end(), v);
11}
12
14 Vector v(size());
15 for (int i = 0; i < size(); ++i) v[i] = data_[i];
16 return v;
17}
18
20 for (int i = 0; i < size(); ++i) data_[i] = v[i];
21}
22
23} // namespace num
int size() const
Definition grid3d.hpp:24
void from_vector(const Vector &v)
Copy solver result back into grid.
Definition grid3d.cpp:19
Grid3D(int nx, int ny, int nz, double dx=1.0)
Definition grid3d.cpp:6
Vector to_vector() const
Copy contents into a new Vector (for solver interop).
Definition grid3d.cpp:13
void fill(real v)
Definition grid3d.cpp:9
3D Cartesian scalar grid backed by num::Vector storage.
double real
Definition types.hpp:10
constexpr T ipow(T x) noexcept
Compute x^N at compile time via repeated squaring.