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