Work in Progress 2D PT MPI v3
This commit is contained in:
@@ -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++;
|
||||
|
@@ -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));
|
||||
}
|
@@ -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 );
|
||||
|
@@ -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");
|
||||
|
@@ -16,7 +16,6 @@ typedef enum VtkFormat { ASCII = 0, BINARY } VtkFormat;
|
||||
typedef struct VtkOptions {
|
||||
VtkFormat fmt;
|
||||
FILE* fh;
|
||||
Solver* solver;
|
||||
ParticleTracer* particletracer;
|
||||
} VtkOptions;
|
||||
|
||||
|
Reference in New Issue
Block a user