diff --git a/crates/specialized/rtx-cfd/src/solvers/incompressible/three_d/piso_device.rs b/crates/specialized/rtx-cfd/src/solvers/incompressible/three_d/piso_device.rs index f95b68b..03a5ad7 100644 --- a/crates/specialized/rtx-cfd/src/solvers/incompressible/three_d/piso_device.rs +++ b/crates/specialized/rtx-cfd/src/solvers/incompressible/three_d/piso_device.rs @@ -361,7 +361,7 @@ impl Piso3Device { one[0] } - fn launch_sides(&self, prm: P3Params, ptrs: P3Ptrs, stamp: i32) { + fn launch_sides(&self, prm: P3Params, ptrs: &P3Ptrs, stamp: i32) { let rt = runtime3(); let k = kernels(); let g = self.grid; @@ -396,7 +396,7 @@ impl Piso3Device { self.upload_tables(t); let prm = self.params(1.0); let ptrs = self.ptrs(); - self.launch_sides(prm, ptrs, 1); + self.launch_sides(prm, &ptrs, 1); self.initialized = true; } @@ -450,10 +450,10 @@ impl Piso3Device { .expect("predict_w"); } // Outlet zero-gradient + periodic copy (no stamping), then u* = u. - self.launch_sides(prm, ptrs, 0); + self.launch_sides(prm, &ptrs, 0); // The new interval's boundary data. self.upload_tables(t_new); - self.launch_sides(prm, ptrs, 1); + self.launch_sides(prm, &ptrs, 1); rt.stream .memcpy_dtod(&self.u, &mut self.u_star) .expect("u*"); @@ -527,7 +527,7 @@ impl Piso3Device { .expect("correct_w"); } if prm.periodic_z != 0 { - self.launch_sides(prm, ptrs, 0); + self.launch_sides(prm, &ptrs, 0); } unsafe { rt.stream