numerics 0.1.0
Loading...
Searching...
No Matches
grid3d.cpp
Go to the documentation of this file.
1#include "spatial/grid3d.hpp"
2#include <algorithm>
3#include <cstddef>
4
5namespace num {
6
7Grid3D::Grid3D(int nx, int ny, int nz, double dx)
8 : nx_(nx),
9 ny_(ny),
10 nz_(nz),
11 dx_(dx),
12 data_(static_cast<size_t>(nx * ny * nz), 0.0) {
13}
14
16 std::ranges::fill(data_, v);
17}
18
20 Vector v(size());
21 for (int i = 0; i < size(); ++i) {
22 v[i] = data_[i];
23 }
24 return v;
25}
26
28 for (int i = 0; i < size(); ++i) {
29 data_[i] = v[i];
30 }
31}
32
33} // namespace num
int size() const
Definition grid3d.hpp:25
void from_vector(const Vector &v)
Copy solver result back into grid.
Definition grid3d.cpp:27
Grid3D(int nx, int ny, int nz, double dx=1.0)
Definition grid3d.cpp:7
Vector to_vector() const
Copy contents into a new Vector (for solver interop).
Definition grid3d.cpp:19
void fill(real v)
Definition grid3d.cpp:15
3D Cartesian scalar grid backed by num::Vector storage.
double real
Definition types.hpp:10