You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -49,29 +50,29 @@ MassSpringSimulator<T, dim>::MassSpringSimulator(T rho, T side_len, T initial_st
49
50
template <typename T, int dim>
50
51
MassSpringSimulator<T, dim>::Impl::Impl(T rho, T side_len, T initial_stretch, T K, T h_, T tol_, int n_seg) : tol(tol_), h(h_), window(sf::VideoMode(resolution, resolution), "MassSpringSimulator")
51
52
{
52
-
generate(side_len, n_seg, x, e);
53
-
v.resize(x.size(), 0);
54
-
k.resize(e.size() / 2, K);
55
-
l2.resize(e.size() / 2);
56
-
for (int i = 0; i < e.size() / 2; i++)
53
+
generate(side_len, n_seg, host_x, host_e);
54
+
host_k.resize(host_e.size() / 2, K);
55
+
host_l2.resize(host_e.size() / 2);
56
+
device_x.resize(host_x.size(), 0);
57
+
device_v.resize(host_x.size(), 0);
58
+
for (int i = 0; i < host_e.size() / 2; i++)
57
59
{
58
60
T diff = 0;
59
-
int idx1 = e[2 * i], idx2 = e[2 * i + 1];
61
+
int idx1 = host_e[2 * i], idx2 = host_e[2 * i + 1];
60
62
for (int d = 0; d < dim; d++)
61
63
{
62
-
diff += (x[idx1 * dim + d] - x[idx2 * dim + d]) * (x[idx1 * dim + d] - x[idx2 * dim + d]);
64
+
diff += (host_x[idx1 * dim + d] - host_x[idx2 * dim + d]) * (host_x[idx1 * dim + d] - host_x[idx2 * dim + d]);
@@ -52,34 +53,34 @@ DirichletSimulator<T, dim>::DirichletSimulator(T rho, T side_len, T initial_stre
52
53
template <typename T, int dim>
53
54
DirichletSimulator<T, dim>::Impl::Impl(T rho, T side_len, T initial_stretch, T K, T h_, T tol_, int n_seg) : tol(tol_), h(h_), window(sf::VideoMode(resolution, resolution), "DirichletSimulator")
54
55
{
55
-
generate(side_len, n_seg, x, e);
56
-
std::vector<int> DBC(x.size() / dim, 0);
56
+
generate(side_len, n_seg, host_x, host_e);
57
+
std::vector<int> DBC(host_x.size() / dim, 0);
57
58
DBC[n_seg] = 1;
58
59
DBC[(n_seg + 1) * (n_seg + 1) - 1] = 1;
59
-
v.resize(x.size(), 0);
60
-
k.resize(e.size() / 2, K);
61
-
l2.resize(e.size() / 2);
62
-
for (int i = 0; i < e.size() / 2; i++)
60
+
device_x.resize(host_x.size(), 0);
61
+
device_v.resize(host_x.size(), 0);
62
+
host_k.resize(host_e.size() / 2, K);
63
+
host_l2.resize(host_e.size() / 2);
64
+
for (int i = 0; i < host_e.size() / 2; i++)
63
65
{
64
66
T diff = 0;
65
-
int idx1 = e[2 * i], idx2 = e[2 * i + 1];
67
+
int idx1 = host_e[2 * i], idx2 = host_e[2 * i + 1];
66
68
for (int d = 0; d < dim; d++)
67
69
{
68
-
diff += (x[idx1 * dim + d] - x[idx2 * dim + d]) * (x[idx1 * dim + d] - x[idx2 * dim + d]);
70
+
diff += (host_x[idx1 * dim + d] - host_x[idx2 * dim + d]) * (host_x[idx1 * dim + d] - host_x[idx2 * dim + d]);
0 commit comments