diff --git a/src/main/c/src/fluid/sim/pressurecell/density.c b/src/main/c/src/fluid/sim/pressurecell/density.c index 1fcca210..50409c33 100644 --- a/src/main/c/src/fluid/sim/pressurecell/density.c +++ b/src/main/c/src/fluid/sim/pressurecell/density.c @@ -24,7 +24,7 @@ LIBRARY_API void pressurecell_add_density(Environment * environment, Chunk * chu LIBRARY_API void pressurecell_diffuse_density(Environment * environment, Chunk * chunk){ int x, y, z; float * densityArr = chunk->d[CENTER_LOC]; - float * densityTemp = chunk->d0[CENTER_LOC]; + float * densityTemp = chunk->dTempCache; for(z = 1; z < DIM-1; z++){ for(y = 1; y < DIM-1; y++){ for(x = 1; x < DIM-1; x++){ diff --git a/src/main/c/src/fluid/sim/pressurecell/velocity.c b/src/main/c/src/fluid/sim/pressurecell/velocity.c index c104e14a..29fce49b 100644 --- a/src/main/c/src/fluid/sim/pressurecell/velocity.c +++ b/src/main/c/src/fluid/sim/pressurecell/velocity.c @@ -33,9 +33,9 @@ LIBRARY_API void pressurecell_diffuse_velocity(Environment * environment, Chunk float * uArr = chunk->u[CENTER_LOC]; float * vArr = chunk->v[CENTER_LOC]; float * wArr = chunk->w[CENTER_LOC]; - float * uTemp = chunk->u0[CENTER_LOC]; - float * vTemp = chunk->v0[CENTER_LOC]; - float * wTemp = chunk->w0[CENTER_LOC]; + float * uTemp = chunk->uTempCache; + float * vTemp = chunk->vTempCache; + float * wTemp = chunk->wTempCache; for(z = 1; z < DIM-1; z++){ for(y = 1; y < DIM-1; y++){ for(x = 1; x < DIM-1; x++){ diff --git a/src/test/c/fluid/sim/pressurecell/diffuse_tests.c b/src/test/c/fluid/sim/pressurecell/diffuse_tests.c index 6bae437f..e0a42c0f 100644 --- a/src/test/c/fluid/sim/pressurecell/diffuse_tests.c +++ b/src/test/c/fluid/sim/pressurecell/diffuse_tests.c @@ -51,7 +51,7 @@ int fluid_sim_pressurecell_diffuse_test1(){ // cell that originall had values // expected = MAX_FLUID_VALUE - FLUID_PRESSURECELL_DIFFUSION_CONSTANT * 6 * MAX_FLUID_VALUE; - actual = currentChunk->d0[CENTER_LOC][IX(4,4,4)]; + actual = currentChunk->dTempCache[IX(4,4,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse density correctly (4,4,4)! expected: %f actual: %f \n"); } @@ -61,37 +61,37 @@ int fluid_sim_pressurecell_diffuse_test1(){ // neighbors // expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->d0[CENTER_LOC][IX(3,4,4)]; + actual = currentChunk->dTempCache[IX(3,4,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse density correctly (3,4,4)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->d0[CENTER_LOC][IX(5,4,4)]; + actual = currentChunk->dTempCache[IX(5,4,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse density correctly (5,4,4)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->d0[CENTER_LOC][IX(4,3,4)]; + actual = currentChunk->dTempCache[IX(4,3,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse density correctly (4,3,4)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->d0[CENTER_LOC][IX(4,5,4)]; + actual = currentChunk->dTempCache[IX(4,5,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse density correctly (4,5,4)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->d0[CENTER_LOC][IX(4,4,3)]; + actual = currentChunk->dTempCache[IX(4,4,3)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse density correctly (4,4,3)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->d0[CENTER_LOC][IX(4,4,5)]; + actual = currentChunk->dTempCache[IX(4,4,5)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse density correctly (4,4,5)! expected: %f actual: %f \n"); } @@ -127,7 +127,7 @@ int fluid_sim_pressurecell_diffuse_test2(){ // cell that originall had values // expected = MAX_FLUID_VALUE - FLUID_PRESSURECELL_DIFFUSION_CONSTANT * 6 * MAX_FLUID_VALUE; - actual = currentChunk->u0[CENTER_LOC][IX(4,4,4)]; + actual = currentChunk->uTempCache[IX(4,4,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse velocity correctly (4,4,4)! expected: %f actual: %f \n"); } @@ -137,37 +137,37 @@ int fluid_sim_pressurecell_diffuse_test2(){ // neighbors // expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->u0[CENTER_LOC][IX(3,4,4)]; + actual = currentChunk->uTempCache[IX(3,4,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse velocity correctly (3,4,4)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->u0[CENTER_LOC][IX(5,4,4)]; + actual = currentChunk->uTempCache[IX(5,4,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse velocity correctly (5,4,4)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->u0[CENTER_LOC][IX(4,3,4)]; + actual = currentChunk->uTempCache[IX(4,3,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse velocity correctly (4,3,4)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->u0[CENTER_LOC][IX(4,5,4)]; + actual = currentChunk->uTempCache[IX(4,5,4)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse velocity correctly (4,5,4)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->u0[CENTER_LOC][IX(4,4,3)]; + actual = currentChunk->uTempCache[IX(4,4,3)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse velocity correctly (4,4,3)! expected: %f actual: %f \n"); } expected = FLUID_PRESSURECELL_DIFFUSION_CONSTANT * MAX_FLUID_VALUE; - actual = currentChunk->u0[CENTER_LOC][IX(4,4,5)]; + actual = currentChunk->uTempCache[IX(4,4,5)]; if(fabs(expected - actual) > FLUID_PRESSURE_CELL_ERROR_MARGIN){ rVal += assertEqualsFloat(expected,actual,"Failed to diffuse velocity correctly (4,4,5)! expected: %f actual: %f \n"); }