swap adding forces

This commit is contained in:
unknown 2024-03-10 17:48:37 -04:00
parent 6afbbd7e2a
commit 52e853f8ad
3 changed files with 29 additions and 16 deletions

View File

@ -183,12 +183,12 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate(
chunkJRaw,
DIM,
chunkMask,
u,
v,
w,
u0,
v0,
w0,
currentChunk->u,
currentChunk->v,
currentChunk->w,
currentChunk->u0,
currentChunk->v0,
currentChunk->w0,
DIFFUSION_CONSTANT,
VISCOSITY_CONSTANT,
timestep
@ -694,6 +694,19 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_simulate(
Java_electrosphere_FluidSim_copyNeighbors(env,chunkJRaw,DIM,chunkMask,0,3,w0);
}
}
///------------------------------------------------------------------------------------------------------------------------------------------------------------------------
///------------------------------------------------------------------------------------------------------------------------------------------------------------------------
///------------------------------------------------------------------------------------------------------------------------------------------------------------------------
///------------------------------------------------------------------------------------------------------------------------------------------------------------------------
///------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//add density
{
for(int i = 0; i < numChunks; i++){

View File

@ -17,7 +17,7 @@ JNIEXPORT jint JNICALL Java_electrosphere_FluidSim_calculateChunkMask
* Signature: (II[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;FFF)V
*/
JNIEXPORT void JNICALL Java_electrosphere_FluidSim_addSourceToVectors
(JNIEnv *, jobject, jint, jint, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jobjectArray, jfloat, jfloat, jfloat);
(JNIEnv *, jobject, jint, jint, float **, float **, float **, float **, float **, float **, jfloat, jfloat, jfloat);
/*
* Class: electrosphere_FluidSim

View File

@ -27,18 +27,18 @@ JNIEXPORT void JNICALL Java_electrosphere_FluidSim_addSourceToVectors
jobject this,
jint N,
jint chunk_mask,
jobjectArray jru,
jobjectArray jrv,
jobjectArray jrw,
jobjectArray jru0,
jobjectArray jrv0,
jobjectArray jrw0,
float ** jru,
float ** jrv,
float ** jrw,
float ** jru0,
float ** jrv0,
float ** jrw0,
jfloat DIFFUSION_CONST,
jfloat VISCOSITY_CONST,
jfloat dt){
add_source(N,GET_ARR(env,jru,CENTER_LOC),GET_ARR(env,jru0,CENTER_LOC),dt);
add_source(N,GET_ARR(env,jrv,CENTER_LOC),GET_ARR(env,jrv0,CENTER_LOC),dt);
add_source(N,GET_ARR(env,jrw,CENTER_LOC),GET_ARR(env,jrw0,CENTER_LOC),dt);
add_source(N,GET_ARR_RAW(env,jru,CENTER_LOC),GET_ARR_RAW(env,jru0,CENTER_LOC),dt);
add_source(N,GET_ARR_RAW(env,jrv,CENTER_LOC),GET_ARR_RAW(env,jrv0,CENTER_LOC),dt);
add_source(N,GET_ARR_RAW(env,jrw,CENTER_LOC),GET_ARR_RAW(env,jrw0,CENTER_LOC),dt);
}
void add_source(int N, float * x, float * s, float dt){