Fixed 3D PT, random point generator

This commit is contained in:
2023-08-14 14:07:20 +02:00
parent 649fd000c0
commit 6c238198ed
45 changed files with 24 additions and 81789 deletions

View File

@@ -30,6 +30,7 @@ void injectParticles(ParticleTracer* particletracer)
{
for(int i = 0; i < particletracer->numberOfParticles; ++i)
{
particletracer->particlePool[particletracer->pointer].x = particletracer->linSpaceLine[i].x;
particletracer->particlePool[particletracer->pointer].y = particletracer->linSpaceLine[i].y;
particletracer->particlePool[particletracer->pointer].z = particletracer->linSpaceLine[i].z;
@@ -257,6 +258,7 @@ void trace(ParticleTracer* particletracer, Solver* solver, double* u, double* v,
}
if( (time - particletracer->lastWriteTime) >= particletracer->writeTimePeriod)
{
activeParticleChecker(particletracer);
writeParticles(particletracer, solver);
particletracer->lastWriteTime = time;
@@ -264,4 +266,17 @@ void trace(ParticleTracer* particletracer, Solver* solver, double* u, double* v,
advanceParticles(particletracer, u, v, w, time);
particletracer->lastUpdateTime = time;
}
}
void activeParticleChecker(ParticleTracer* particletracer)
{
particletracer->activeParticles = 0;
Particle* particlePool = particletracer->particlePool;
for (int i = 0; i < particletracer->totalParticles; ++i)
{
if(particlePool[i].flag == true)
{
++(particletracer->activeParticles);
}
}
}