commit fc73c7536cdc9f424ca75008d363afbe0e99e120
parent 1d04e33c83658efd712f1bc542d482b0cf07394b
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date:   Thu, 16 Apr 2020 17:39:31 +0200
Fix time arithmatic in main loop, update fluid test
Diffstat:
2 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/1d_fd_simple_shear.c b/1d_fd_simple_shear.c
@@ -245,7 +245,7 @@ main(int argc, char* argv[])
 
 	filetimeclock = 0.0;
 	iter = 0;
-	while (sim.t <= sim.t_end) {
+	do {
 
 #ifdef BENCHMARK_PERFORMANCE
 		t_begin = clock();
@@ -262,19 +262,18 @@ main(int argc, char* argv[])
 		printf("time spent per time step = %g s\n", t_elapsed);
 #endif
 
-		sim.t += sim.dt;
-		filetimeclock += sim.dt;
-		iter++;
-
-		if ((filetimeclock - sim.dt >= sim.file_dt || iter == 1) &&
+		if ((filetimeclock >= sim.file_dt || iter == 1) &&
 		    strncmp(sim.name, DEFAULT_SIMULATION_NAME,
 		    	sizeof(DEFAULT_SIMULATION_NAME)) != 0) {
 			write_output_file(&sim, normalize);
 			filetimeclock = 0.0;
-			if (iter == 1)
-				sim.t = 0.0;
 		}
-	}
+
+		sim.t += sim.dt;
+		filetimeclock += sim.dt;
+		iter++;
+
+	} while (sim.t - sim.dt < sim.t_end);
 
 	print_output(&sim, stdout, normalize);
 
diff --git a/simulation.c b/simulation.c
@@ -693,8 +693,8 @@ write_output_file(struct simulation *sim, const int normalize)
 	char outfile[200];
 	FILE *fp;
 
-	snprintf(outfile, sizeof(outfile), "%s.output%05d.txt",
-	         sim->name, sim->n_file++);
+	snprintf(outfile, sizeof(outfile), "%s.output%05d.t=%gs.txt",
+	         sim->name, sim->n_file++, sim->t);
 
 	if ((fp = fopen(outfile, "w")) != NULL) {
 		print_output(sim, fp, normalize);