From 18ac90affadbafad096732bdbcd32387c8e08b18 Mon Sep 17 00:00:00 2001 From: unknown <> Date: Sun, 10 Mar 2024 17:50:25 -0400 Subject: [PATCH] swap vector fields --- src/main/c/fluidsim.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/main/c/fluidsim.c b/src/main/c/fluidsim.c index bfa5a32..9ace5f7 100644 --- a/src/main/c/fluidsim.c +++ b/src/main/c/fluidsim.c @@ -230,6 +230,23 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate( tmpObj = currentChunk->jw; currentChunk->jw = currentChunk->jw0; currentChunk->jw0 = w; + + float * tmpArr; + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->u[j]; + currentChunk->u[j] = currentChunk->u0[j]; + currentChunk->u0[j] = tmpArr; + } + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->v[j]; + currentChunk->v[j] = currentChunk->v0[j]; + currentChunk->v0[j] = tmpArr; + } + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->w[j]; + currentChunk->w[j] = currentChunk->w0[j]; + currentChunk->w0[j] = tmpArr; + } } //copy neighbors for(int i = 0; i < numChunks; i++){ @@ -468,6 +485,23 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate( tmpObj = currentChunk->jw; currentChunk->jw = currentChunk->jw0; currentChunk->jw0 = w; + + float * tmpArr; + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->u[j]; + currentChunk->u[j] = currentChunk->u0[j]; + currentChunk->u0[j] = tmpArr; + } + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->v[j]; + currentChunk->v[j] = currentChunk->v0[j]; + currentChunk->v0[j] = tmpArr; + } + for(int j = 0; j < 27; j++){ + tmpArr = currentChunk->w[j]; + currentChunk->w[j] = currentChunk->w0[j]; + currentChunk->w0[j] = tmpArr; + } } //copy neighbors for(int i = 0; i < numChunks; i++){