tdealt with fread return vals, fixed linker parameter order - ns2dfd - 2D finite difference Navier Stokes solver for fluid dynamics
(HTM) git clone git://src.adamsgaard.dk/ns2dfd
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
(DIR) commit 1db9884ddb3b22c8fed5670133d08c725ee889d7
(DIR) parent bf5ef45d90b3c9dec5ae699056e61e6b137621f8
(HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
Date: Wed, 25 Jun 2014 16:27:39 +0200
dealt with fread return vals, fixed linker parameter order
Diffstat:
M src/Makefile | 3 ++-
M src/file_io.c | 75 ++++++++++++++++++++-----------
2 files changed, 51 insertions(+), 27 deletions(-)
---
(DIR) diff --git a/src/Makefile b/src/Makefile
t@@ -4,7 +4,8 @@ LDLIBS=-lm
BIN=../ns2dfd
$(BIN): main.o file_io.o utility.o boundary.o solution.o
- $(CC) $(CFLAGS) $(LDLIBS) $^ -o $@
+ $(CC) $(CFLAGS) $^ -o $@ $(LDLIBS)
+
main.o: file_io.h utility.h boundary.h solution.h
file_io.o: utility.h
(DIR) diff --git a/src/file_io.c b/src/file_io.c
t@@ -1,4 +1,5 @@
#include <stdio.h>
+#include <stdlib.h>
#include "utility.h"
/* Read the variable values from a file on disk */
t@@ -19,49 +20,71 @@ int read_file(char *path,
return 1;
} else {
- fread(t, sizeof(double), 1, fp);
- fread(t_end, sizeof(double), 1, fp);
- fread(t_file, sizeof(double), 1, fp);
- fread(tau, sizeof(double), 1, fp);
-
- fread(itermax, sizeof(int), 1, fp);
- fread(epsilon, sizeof(double), 1, fp);
- fread(omega, sizeof(double), 1, fp);
- fread(gamma, sizeof(double), 1, fp);
-
- fread(gx, sizeof(double), 1, fp);
- fread(gy, sizeof(double), 1, fp);
- fread(re, sizeof(double), 1, fp);
-
- fread(w_left, sizeof(int), 1, fp);
- fread(w_right, sizeof(int), 1, fp);
- fread(w_top, sizeof(int), 1, fp);
- fread(w_bottom, sizeof(int), 1, fp);
-
- fread(dx, sizeof(double), 1, fp);
- fread(dy, sizeof(double), 1, fp);
- fread(nx, sizeof(int), 1, fp);
- fread(ny, sizeof(int), 1, fp);
+ if (1 != fread(t, sizeof(double), 1, fp))
+ exit(1);
+ if (1 != fread(t_end, sizeof(double), 1, fp))
+ exit(1);
+ if (1 != fread(t_file, sizeof(double), 1, fp))
+ exit(1);
+ if (1 != fread(tau, sizeof(double), 1, fp))
+ exit(1);
+
+ if (1 != fread(itermax, sizeof(int), 1, fp))
+ exit(1);
+ if (1 != fread(epsilon, sizeof(double), 1, fp))
+ exit(1);
+ if (1 != fread(omega, sizeof(double), 1, fp))
+ exit(1);
+ if (1 != fread(gamma, sizeof(double), 1, fp))
+ exit(1);
+
+ if (1 != fread(gx, sizeof(double), 1, fp))
+ exit(1);
+ if (1 != fread(gy, sizeof(double), 1, fp))
+ exit(1);
+ if (1 != fread(re, sizeof(double), 1, fp))
+ exit(1);
+
+ if (1 != fread(w_left, sizeof(int), 1, fp))
+ exit(1);
+ if (1 != fread(w_right, sizeof(int), 1, fp))
+ exit(1);
+ if (1 != fread(w_top, sizeof(int), 1, fp))
+ exit(1);
+ if (1 != fread(w_bottom, sizeof(int), 1, fp))
+ exit(1);
+
+ if (1 != fread(dx, sizeof(double), 1, fp))
+ exit(1);
+ if (1 != fread(dy, sizeof(double), 1, fp))
+ exit(1);
+ if (1 != fread(nx, sizeof(int), 1, fp))
+ exit(1);
+ if (1 != fread(ny, sizeof(int), 1, fp))
+ exit(1);
allocate_memory(P, U, V, *nx, *ny);
for (i=0; i<*nx+2; i++) {
for (j=0; j<*ny+2; j++) {
- fread(&tmp, sizeof(double), 1, fp);
+ if (fread(&tmp, sizeof(double), 1, fp) != 1)
+ exit(1);
(*P)[i][j] = tmp;
}
}
for (i=0; i<*nx+2; i++) {
for (j=0; j<*ny+2; j++) {
- fread(&tmp, sizeof(double), 1, fp);
+ if (fread(&tmp, sizeof(double), 1, fp) != 1)
+ exit(1);
(*U)[i][j] = tmp;
}
}
for (i=0; i<*nx+2; i++) {
for (j=0; j<*ny+2; j++) {
- fread(&tmp, sizeof(double), 1, fp);
+ if (fread(&tmp, sizeof(double), 1, fp) != 1)
+ exit(1);
(*V)[i][j] = tmp;
}
}