Partial 3D seq

This commit is contained in:
2023-10-23 21:04:16 +02:00
parent 4c374c82c7
commit 7dc7ab68d1
9 changed files with 341296 additions and 8167 deletions

View File

@@ -15,6 +15,7 @@
#define U(i, j, k) u[(k) * (imax + 2) * (jmax + 2) + (j) * (imax + 2) + (i)]
#define V(i, j, k) v[(k) * (imax + 2) * (jmax + 2) + (j) * (imax + 2) + (i)]
#define W(i, j, k) w[(k) * (imax + 2) * (jmax + 2) + (j) * (imax + 2) + (i)]
#define S(i, j, k) seg[(k) * (imax + 2) * (jmax + 2) + (j) * (imax + 2) + (i)]
static int ts = 0;
unsigned int seed = 32767;
@@ -47,7 +48,7 @@ void injectParticles(ParticleTracer* particletracer)
}
}
void advanceParticles(ParticleTracer* particletracer, double* restrict u, double* restrict v, double* restrict w, double time)
void advanceParticles(ParticleTracer* particletracer, double* restrict u, double* restrict v, double* restrict w, int* restrict seg, double time)
{
int imax = particletracer->imax;
int jmax = particletracer->jmax;
@@ -167,6 +168,11 @@ void advanceParticles(ParticleTracer* particletracer, double* restrict u, double
{
particletracer->particlePool[i].flag = false;
}
int i_new = new_x/dx, j_new = new_y/dy, k_new = new_z/dz;
if(S(i_new, j_new, k_new) != NONE)
{
particletracer->particlePool[i].flag = false;
}
}
}
}
@@ -256,7 +262,7 @@ void printParticleTracerParameters(ParticleTracer* particletracer)
printf("\tdt : %.2f, dx : %.2f, dy : %.2f, dz : %.2f\n", particletracer->dt, particletracer->dx, particletracer->dy, particletracer->dz);
}
void trace(ParticleTracer* particletracer, double* u, double* v, double* w, double time)
void trace(ParticleTracer* particletracer, double* u, double* v, double* w, int* seg, double time)
{
if (time >= particletracer->startTime)
{
@@ -272,7 +278,7 @@ void trace(ParticleTracer* particletracer, double* u, double* v, double* w, doub
particletracer->lastWriteTime = time;
}
advanceParticles(particletracer, u, v, w, time);
advanceParticles(particletracer, u, v, w, seg, time);
compress(particletracer);
particletracer->lastUpdateTime = time;
}