don't cache pressure
This commit is contained in:
		
							parent
							
								
									a44d04ed6c
								
							
						
					
					
						commit
						69528eeb3e
					
				| @ -29,7 +29,7 @@ | ||||
| /**
 | ||||
|  * Updates the bounds of the chunk based on its neighbors | ||||
| */ | ||||
| LIBRARY_API void pressurecell_update_bounds(Environment * environment, Chunk * chunk); | ||||
| LIBRARY_API void fluid_pressurecell_update_bounds(Environment * environment, Chunk * chunk); | ||||
| 
 | ||||
| /**
 | ||||
|  * Updates the interest tree for this chunk | ||||
|  | ||||
| @ -10,17 +10,17 @@ | ||||
| /**
 | ||||
|  * Adds density from the delta buffer to this chunk | ||||
| */ | ||||
| LIBRARY_API void pressurecell_add_density(Environment * environment, Chunk * chunk); | ||||
| LIBRARY_API void fluid_pressurecell_add_density(Environment * environment, Chunk * chunk); | ||||
| 
 | ||||
| /**
 | ||||
|  * Diffuses the density in this chunk | ||||
| */ | ||||
| LIBRARY_API void pressurecell_diffuse_density(Environment * environment, Chunk * chunk); | ||||
| LIBRARY_API void fluid_pressurecell_diffuse_density(Environment * environment, Chunk * chunk); | ||||
| 
 | ||||
| /**
 | ||||
|  * Advects the density of this chunk | ||||
| */ | ||||
| LIBRARY_API void pressurecell_advect_density(Environment * environment, Chunk * chunk); | ||||
| LIBRARY_API void fluid_pressurecell_advect_density(Environment * environment, Chunk * chunk); | ||||
| 
 | ||||
| 
 | ||||
| #endif | ||||
| @ -135,7 +135,7 @@ void fluid_pressurecell_set_bounds_zero( | ||||
| /**
 | ||||
|  * Updates the bounds of the chunk based on its neighbors | ||||
| */ | ||||
| LIBRARY_API void pressurecell_update_bounds(Environment * environment, Chunk * chunk){ | ||||
| LIBRARY_API void fluid_pressurecell_update_bounds(Environment * environment, Chunk * chunk){ | ||||
|     // fluid_pressurecell_set_bounds_legacy(environment,FLUID_PRESSURECELL_BOUND_NO_DIR,chunk->d[CENTER_LOC]);
 | ||||
|     // fluid_pressurecell_set_bounds_legacy(environment,FLUID_PRESSURECELL_BOUND_NO_DIR,chunk->d0[CENTER_LOC]);
 | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
| /**
 | ||||
|  * Adds density from the delta buffer to this chunk | ||||
| */ | ||||
| LIBRARY_API void pressurecell_add_density(Environment * environment, Chunk * chunk){ | ||||
| LIBRARY_API void fluid_pressurecell_add_density(Environment * environment, Chunk * chunk){ | ||||
|     int x, y, z; | ||||
|     float * densityArr = chunk->d[CENTER_LOC]; | ||||
|     float * sourceArr = chunk->d0[CENTER_LOC]; | ||||
| @ -23,7 +23,7 @@ LIBRARY_API void pressurecell_add_density(Environment * environment, Chunk * chu | ||||
| /**
 | ||||
|  * Diffuses the density in this chunk | ||||
| */ | ||||
| LIBRARY_API void pressurecell_diffuse_density(Environment * environment, Chunk * chunk){ | ||||
| LIBRARY_API void fluid_pressurecell_diffuse_density(Environment * environment, Chunk * chunk){ | ||||
|     int x, y, z; | ||||
|     float * densityArr = chunk->d[CENTER_LOC]; | ||||
|     float * densityTemp = chunk->dTempCache; | ||||
| @ -152,7 +152,7 @@ LIBRARY_API void pressurecell_diffuse_density(Environment * environment, Chunk * | ||||
| /**
 | ||||
|  * Advects the density of this chunk | ||||
| */ | ||||
| LIBRARY_API void pressurecell_advect_density(Environment * environment, Chunk * chunk){ | ||||
| LIBRARY_API void fluid_pressurecell_advect_density(Environment * environment, Chunk * chunk){ | ||||
|     int x, y, z; | ||||
|     float * densityArr = chunk->d[CENTER_LOC]; | ||||
|     float * densityTemp = chunk->dTempCache; | ||||
|  | ||||
| @ -43,12 +43,13 @@ LIBRARY_API void fluid_pressurecell_simulate( | ||||
|     for(int i = 0; i < numChunks; i++){ | ||||
|         Chunk * currentChunk = chunks[i]; | ||||
|         fluid_pressurecell_clearArr(currentChunk->pressureTempCache); | ||||
|         fluid_pressurecell_clearArr(currentChunk->pressureCache[CENTER_LOC]); | ||||
|         fluid_pressurecell_clearArr(currentChunk->dTempCache); | ||||
|         fluid_pressurecell_clearArr(currentChunk->uTempCache); | ||||
|         fluid_pressurecell_clearArr(currentChunk->vTempCache); | ||||
|         fluid_pressurecell_clearArr(currentChunk->wTempCache); | ||||
|         fluid_pressurecell_calculate_expected_intake(environment,currentChunk); | ||||
|         pressurecell_update_bounds(environment,currentChunk); | ||||
|         fluid_pressurecell_update_bounds(environment,currentChunk); | ||||
|         // pressurecell_update_interest(environment,currentChunk);
 | ||||
|     } | ||||
| 
 | ||||
| @ -126,14 +127,14 @@ LIBRARY_API void fluid_pressurecell_simulate( | ||||
|     // fflush(stdout);
 | ||||
|     for(int i = 0; i < numChunks; i++){ | ||||
|         Chunk * currentChunk = chunks[i]; | ||||
|         pressurecell_add_density(environment,currentChunk); | ||||
|         fluid_pressurecell_add_density(environment,currentChunk); | ||||
|     } | ||||
| 
 | ||||
|     // printf("diff dens\n");
 | ||||
|     // fflush(stdout);
 | ||||
|     for(int i = 0; i < numChunks; i++){ | ||||
|         Chunk * currentChunk = chunks[i]; | ||||
|         pressurecell_diffuse_density(environment,currentChunk); | ||||
|         fluid_pressurecell_diffuse_density(environment,currentChunk); | ||||
|     } | ||||
| 
 | ||||
|     // printf("adv dens\n");
 | ||||
| @ -141,7 +142,7 @@ LIBRARY_API void fluid_pressurecell_simulate( | ||||
|     for(int i = 0; i < numChunks; i++){ | ||||
|         //uTemp->d
 | ||||
|         Chunk * currentChunk = chunks[i]; | ||||
|         pressurecell_advect_density(environment,currentChunk); | ||||
|         fluid_pressurecell_advect_density(environment,currentChunk); | ||||
|         if(FLUID_PRESSURECELL_ENABLE_RECAPTURE){ | ||||
|             //d->dTemp->d
 | ||||
|             fluid_pressurecell_recapture_density(environment,currentChunk); | ||||
|  | ||||
| @ -43,7 +43,7 @@ int fluid_sim_pressurecell_add_source_test1(){ | ||||
|     currentChunk->u[CENTER_LOC][IX(4,4,4)] = MAX_FLUID_VALUE; | ||||
| 
 | ||||
|     //actually simulate
 | ||||
|     pressurecell_add_density(env,currentChunk); | ||||
|     fluid_pressurecell_add_density(env,currentChunk); | ||||
| 
 | ||||
|     //test the result
 | ||||
|     float expected, actual; | ||||
|  | ||||
| @ -44,7 +44,7 @@ int fluid_sim_pressurecell_advection_test1(){ | ||||
|     currentChunk->u[CENTER_LOC][IX(5,4,4)] = FLUID_PRESSURECELL_MAX_VELOCITY; | ||||
| 
 | ||||
|     //actually simulate
 | ||||
|     pressurecell_advect_density(env,currentChunk); | ||||
|     fluid_pressurecell_advect_density(env,currentChunk); | ||||
| 
 | ||||
|     //test the result
 | ||||
|     float expected, actual; | ||||
|  | ||||
| @ -85,7 +85,7 @@ int fluid_sim_pressurecell_bounds_test2(){ | ||||
| 
 | ||||
|     //actually simulate
 | ||||
|     pressurecell_enforce_bounds(env,currentChunk); | ||||
|     pressurecell_advect_density(env,currentChunk); | ||||
|     fluid_pressurecell_advect_density(env,currentChunk); | ||||
| 
 | ||||
|     //test the result
 | ||||
|     float expected, actual; | ||||
| @ -124,7 +124,7 @@ int fluid_sim_pressurecell_bounds_test3(){ | ||||
|     currentChunk->bounds[CENTER_LOC][IX(1,0,1)] = 1.0f; | ||||
| 
 | ||||
|     //actually simulate
 | ||||
|     pressurecell_advect_density(env,currentChunk); | ||||
|     fluid_pressurecell_advect_density(env,currentChunk); | ||||
| 
 | ||||
|     //test the result
 | ||||
|     float expected, actual; | ||||
|  | ||||
| @ -43,7 +43,7 @@ int fluid_sim_pressurecell_diffuse_test1(){ | ||||
|     float diffuseConst = FLUID_PRESSURECELL_DIFFUSION_CONSTANT / (FLUID_PRESSURECELL_SPACING * FLUID_PRESSURECELL_SPACING); | ||||
| 
 | ||||
|     //actually simulate
 | ||||
|     pressurecell_diffuse_density(env,currentChunk); | ||||
|     fluid_pressurecell_diffuse_density(env,currentChunk); | ||||
| 
 | ||||
|     //test the result
 | ||||
|     float expected, actual; | ||||
| @ -204,7 +204,7 @@ int fluid_sim_pressurecell_diffuse_test3(){ | ||||
|     bounds[IX(4,5,4)] = 1.0f; | ||||
| 
 | ||||
|     //actually simulate
 | ||||
|     pressurecell_diffuse_density(env,currentChunk); | ||||
|     fluid_pressurecell_diffuse_density(env,currentChunk); | ||||
| 
 | ||||
|     //test the result
 | ||||
|     float expected, actual; | ||||
| @ -289,7 +289,7 @@ int fluid_sim_pressurecell_diffuse_test4(){ | ||||
|     bounds[IX(4,4,5)] = 1.0f; | ||||
| 
 | ||||
|     //actually simulate
 | ||||
|     pressurecell_diffuse_density(env,currentChunk); | ||||
|     fluid_pressurecell_diffuse_density(env,currentChunk); | ||||
| 
 | ||||
|     //test the result
 | ||||
|     float expected, actual; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user