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
15 std::ranges::fill(data_, v);
16}
17
19 Vector v(size());
20 for (int i = 0; i < size(); ++i) {
21 v[i] = data_[i];
22 }
23 return v;
24}
25
27 for (int i = 0; i < size(); ++i) {
28 data_[i] = v[i];
29 }
30}
31
32} // namespace num
int size() const
Definition grid3d.hpp:33
void from_vector(const Vector &v)
Copy solver result back into grid.
Definition grid3d.cpp:26
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:18
void fill(real v)
Definition grid3d.cpp:14
3D Cartesian scalar grid backed by num::Vector storage.
double real
Definition types.hpp:10