Work in Progress 2D PT MPI v3

This commit is contained in:
2023-08-21 16:33:32 +02:00
parent f406e5c0f7
commit 5ecd277ab3
17 changed files with 20089 additions and 19664 deletions

View File

@@ -71,7 +71,7 @@ int main (int argc, char** argv)
adaptUV(&solver);
/* Added function for particle tracing. Will inject and advance particles as per timePeriod */
trace(&particletracer, &solver, solver.u, solver.v, t);
trace(&particletracer, solver.u, solver.v, t);
t += solver.dt;
nt++;

View File

@@ -111,9 +111,9 @@ void freeParticles(ParticleTracer* particletracer)
free(particletracer->linSpaceLine);
}
void writeParticles(ParticleTracer* particletracer, Solver* solver)
void writeParticles(ParticleTracer* particletracer)
{
VtkOptions opts = { .solver = solver, .particletracer = particletracer };
VtkOptions opts = { .particletracer = particletracer };
char filename[50];
snprintf(filename, 50, "vtk_files/particles%d.vtk", ts);
@@ -197,7 +197,7 @@ void printParticleTracerParameters(ParticleTracer* particletracer)
printf("\tdt : %.2f, dx : %.2f, dy : %.2f\n", particletracer->dt, particletracer->dx, particletracer->dy);
}
void trace(ParticleTracer* particletracer, Solver* solver, double* u, double* v, double time)
void trace(ParticleTracer* particletracer, double* u, double* v, double time)
{
if (time >= particletracer->startTime)
{
@@ -209,7 +209,7 @@ void trace(ParticleTracer* particletracer, Solver* solver, double* u, double* v,
}
if( (time - particletracer->lastWriteTime) >= particletracer->writeTimePeriod)
{
writeParticles(particletracer, solver);
writeParticles(particletracer);
particletracer->lastWriteTime = time;
}
@@ -237,5 +237,6 @@ void compress(ParticleTracer* particletracer)
}
particletracer->totalParticles = totalParticles;
particletracer->pointer = totalParticles + 1;
memcpy(particletracer->particlePool, tempPool, totalParticles*sizeof(Particle));
}

View File

@@ -40,7 +40,7 @@ void initParticleTracer(ParticleTracer*, Parameter*);
void injectParticles(ParticleTracer*);
void advanceParticles(ParticleTracer*, double* , double*, double);
void freeParticles(ParticleTracer*);
void writeParticles(ParticleTracer*, Solver*);
void writeParticles(ParticleTracer*);
void printParticleTracerParameters(ParticleTracer*);
void printParticles(ParticleTracer*);
void trace(ParticleTracer*, Solver*, double* , double* , double );

View File

@@ -61,8 +61,8 @@ void vtkParticle(VtkOptions* o, char* name)
{
Particle* particlePool = o->particletracer->particlePool;
int imax = o->solver->imax;
int jmax = o->solver->jmax;
int imax = o->particletracer->imax;
int jmax = o->particletracer->jmax;
if (o->fh == NULL) {
printf("vtkWriter not initialize! Call vtkOpen first!\n");

View File

@@ -16,7 +16,6 @@ typedef enum VtkFormat { ASCII = 0, BINARY } VtkFormat;
typedef struct VtkOptions {
VtkFormat fmt;
FILE* fh;
Solver* solver;
ParticleTracer* particletracer;
} VtkOptions;