tFile read in file_io.cpp not working. Trying C++ method instead - sphere - GPU… | |
git clone git://src.adamsgaard.dk/sphere | |
Log | |
Files | |
Refs | |
LICENSE | |
--- | |
commit 129cc809350df4c3dc68952dfeb67caee785d966 | |
parent b8f266208c82dd9b7412e1630a4a96e3ec5acea8 | |
Author: Anders Damsgaard <[email protected]> | |
Date: Mon, 29 Oct 2012 14:21:41 +0100 | |
File read in file_io.cpp not working. Trying C++ method instead | |
Diffstat: | |
M src/file_io.cpp | 402 +++++++++++++++++++----------… | |
1 file changed, 246 insertions(+), 156 deletions(-) | |
--- | |
diff --git a/src/file_io.cpp b/src/file_io.cpp | |
t@@ -10,6 +10,9 @@ | |
// Read DEM data from binary file | |
void DEM::readbin(const char *target) | |
{ | |
+ using std::cout; // stdout | |
+ using std::cerr; // stderr | |
+ using std::endl; // endline. Implicitly flushes buffer | |
if (verbose == 1) | |
std::cout << "reading binary: " << target << '\n'; | |
t@@ -18,62 +21,69 @@ void DEM::readbin(const char *target) | |
// Open input file | |
FILE *fp; | |
+ ++err; | |
if ((fp = fopen(target, "rb")) == NULL) { | |
- std::cerr << "Could not read input binary file '" | |
- << target << "'\n"; | |
- exit(++err); | |
+ cerr << "Could not read input binary file '" | |
+ << target << endl; | |
+ exit(err); | |
} | |
// Read data | |
- if(fread(&nd, sizeof(nd), 1, fp) != 1) | |
- exit(++err); // Return unsuccessful exit status | |
- | |
- if (fread(&np, sizeof(np), 1, fp) != 1) | |
- exit(++err); // Return unsuccessful exit status | |
+ ++err; | |
+ if(fread(&nd, sizeof(nd), 1, fp) != 1) { | |
+ cerr << "nd" << endl; exit(err); } // Return unsuccessful exit status | |
+ ++err; | |
+ if (fread(&np, sizeof(np), 1, fp) != 1) { | |
+ cerr << "np" << endl; exit(err); } // Return unsuccessful exit status | |
if (verbose == 1) { | |
- std::cout << " - Number of dimensions: nd = " << nd << "\n" | |
+ cout << " - Number of dimensions: nd = " << nd << "\n" | |
<< " - Number of particles: np = " << np << "\n"; | |
} | |
if (nd != ND) { | |
- std::cerr << "Dimensionality mismatch between dataset and this SPHERE prog… | |
+ cerr << "Dimensionality mismatch between dataset and this SPHERE program.\… | |
<< "The dataset is " << nd | |
<< "D, this SPHERE binary is " << ND << "D.\n" | |
- << "This execution is terminating.\n"; | |
- exit(++err); // Return unsuccessful exit status | |
+ << "This execution is terminating." << endl; | |
+ exit(-1); // Return unsuccessful exit status | |
} | |
// Check precision choice | |
if (verbose == 1) | |
- std::cout << " - Compiled for "; | |
+ cout << " - Compiled for "; | |
if (sizeof(Float) == sizeof(float)) { | |
if (verbose == 1) | |
- std::cout << "single"; | |
+ cout << "single"; | |
} else if (sizeof(Float) == sizeof(double)) { | |
if (verbose == 1) | |
- std::cout << "double"; | |
+ cout << "double"; | |
} else { | |
- std::cerr << "Error! Chosen precision not available. Check datatypes.h\n"; | |
- exit(++err); | |
+ cerr << "Error! Chosen precision not available. Check datatypes.h\n"; | |
+ exit(err); | |
} | |
if (verbose == 1) | |
- std::cout << " precision\n"; | |
+ cout << " precision\n"; | |
// Read time parameters | |
- if (fread(&time.dt, sizeof(time.dt), 1, fp) != 1) | |
- exit(++err); // Return unsuccessful exit status | |
- if (fread(&time.current, sizeof(time.current), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(&time.total, sizeof(time.total), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(&time.file_dt, sizeof(time.file_dt), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(&time.step_count, sizeof(time.step_count), 1, fp) != 1) | |
- exit(++err); | |
+ ++err; | |
+ if (fread(&time.dt, sizeof(time.dt), 1, fp) != 1) { | |
+ cerr << "time.dt" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&time.current, sizeof(time.current), 1, fp) != 1) { | |
+ cerr << "time.current" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&time.total, sizeof(time.total), 1, fp) != 1) { | |
+ cerr << "time.total" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&time.file_dt, sizeof(time.file_dt), 1, fp) != 1) { | |
+ cerr << "time.file_dt" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&time.step_count, sizeof(time.step_count), 1, fp) != 1) { | |
+ cerr << "time.step_count" << endl; exit(err); } | |
// Output display parameters to screen | |
if (verbose == 1) { | |
- std::cout << " - Timestep length: time.dt = " | |
+ cout << " - Timestep length: time.dt = " | |
<< time.dt << " s\n" | |
<< " - Start at time: time.current = " | |
<< time.current << " s\n" | |
t@@ -82,7 +92,7 @@ void DEM::readbin(const char *target) | |
<< " - File output interval: time.file_dt = " | |
<< time.file_dt << " s\n" | |
<< " - Start at step count: time.step_count = " | |
- << time.step_count << "\n"; | |
+ << time.step_count << endl; | |
} | |
// For spatial vectors an array of Float4 vectors is chosen for best fit wit… | |
t@@ -91,7 +101,7 @@ void DEM::readbin(const char *target) | |
// Allocate host arrays | |
if (verbose == 1) | |
- std::cout << "\n Allocating host memory: "; | |
+ cout << "\n Allocating host memory: "; | |
// Allocate more host arrays | |
k.x = new Float4[np]; | |
k.xysum = new Float2[np]; | |
t@@ -108,107 +118,144 @@ void DEM::readbin(const char *target) | |
e.p = new Float[np]; | |
if (verbose == 1) | |
- std::cout << "Done\n"; | |
+ cout << "Done\n"; | |
if (verbose == 1) | |
- std::cout << " Reading remaining data from input binary: "; | |
+ cout << " Reading remaining data from input binary: "; | |
// Read grid parameters | |
- if (fread(&grid.origo, sizeof(grid.origo[0]), nd, fp) != nd) | |
- exit(++err); // Return unsuccessful exit status | |
- if (fread(&grid.L, sizeof(grid.L[0]), nd, fp) != nd) | |
- exit(++err); | |
- if (fread(&grid.num, sizeof(grid.num[0]), nd, fp) != nd) | |
- exit(++err); | |
- if (fread(&grid.periodic, sizeof(grid.periodic), 1, fp) != 1) | |
- exit(++err); | |
+ ++err; | |
+ if (fread(&grid.origo, sizeof(grid.origo[0]), nd, fp) != nd) { | |
+ cerr << "grid.origo" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&grid.L, sizeof(grid.L[0]), nd, fp) != nd) { | |
+ cerr << "grid.L" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&grid.num, sizeof(grid.num[0]), nd, fp) != nd) { | |
+ cerr << "grid.num" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&grid.periodic, sizeof(grid.periodic), 1, fp) != 1) { | |
+ cerr << "grid.periodic" << endl; exit(err); } | |
// Read kinematic values | |
- if (fread(&k.x, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
- if (fread(&k.xysum, sizeof(Float2), np, fp) != np) | |
- exit(++err); | |
- if (fread(&k.vel, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
- if (fread(&k.force, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
- if (fread(&k.angpos, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
- if (fread(&k.angvel, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
- if (fread(&k.torque, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
+ ++err; | |
+ if (fread(&k.x, sizeof(Float4), np, fp) != np) { | |
+ cerr << "k.x" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&k.xysum, sizeof(Float2), np, fp) != np) { | |
+ cerr << "k.xysum" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&k.vel, sizeof(Float4), np, fp) != np) { | |
+ cerr << "k.vel" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&k.force, sizeof(Float4), np, fp) != np) { | |
+ cerr << "k.force" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&k.angpos, sizeof(Float4), np, fp) != np) { | |
+ cerr << "k.angpos" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&k.angvel, sizeof(Float4), np, fp) != np) { | |
+ cerr << "k.angvel" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&k.torque, sizeof(Float4), np, fp) != np) { | |
+ cerr << "k.torque" << endl; exit(err); } | |
// mass (m) and inertia (I) are calculated on device | |
// Read energies | |
- if (fread(&e.es_dot, sizeof(e.es_dot[0]), np, fp) != np) | |
- exit(++err); | |
- if (fread(&e.es, sizeof(e.es[0]), np, fp) != np) | |
- exit(++err); | |
- if (fread(&e.ev_dot, sizeof(e.ev_dot[0]), np, fp) != np) | |
- exit(++err); | |
- if (fread(&e.ev, sizeof(e.ev[0]), np, fp) != np) | |
- exit(++err); | |
- if (fread(&e.p, sizeof(e.p[0]), np, fp) != np) | |
- exit(++err); | |
+ ++err; | |
+ if (fread(&e.es_dot, sizeof(e.es_dot[0]), np, fp) != np) { | |
+ cerr << "e.es_dot" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&e.es, sizeof(e.es[0]), np, fp) != np) { | |
+ cerr << "e.es" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&e.ev_dot, sizeof(e.ev_dot[0]), np, fp) != np) { | |
+ cerr << "e.ev_dot" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&e.ev, sizeof(e.ev[0]), np, fp) != np) { | |
+ cerr << "e.ev" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&e.p, sizeof(e.p[0]), np, fp) != np) { | |
+ cerr << "e.p" << endl; exit(err); } | |
// Read constant, global physical parameters | |
- if (fread(¶ms.g, sizeof(params.g[0]), nd, fp) != nd) | |
- exit(++err); | |
- if (fread(¶ms.k_n, sizeof(params.k_n), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.k_t, sizeof(params.k_t), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.k_r, sizeof(params.k_r), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.gamma_n, sizeof(params.gamma_n), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.gamma_t, sizeof(params.gamma_t), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.gamma_r, sizeof(params.gamma_r), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.mu_s, sizeof(params.mu_s), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.mu_d, sizeof(params.mu_d), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.mu_r, sizeof(params.mu_r), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.rho, sizeof(params.rho), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.contactmodel, sizeof(params.contactmodel), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.kappa, sizeof(params.kappa), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.db, sizeof(params.db), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(¶ms.V_b, sizeof(params.V_b), 1, fp) != 1) | |
- exit(++err); | |
+ ++err; | |
+ if (fread(¶ms.g, sizeof(params.g[0]), nd, fp) != nd) { | |
+ cerr << "params.g" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.k_n, sizeof(params.k_n), 1, fp) != 1) { | |
+ cerr << "params.k_n" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.k_t, sizeof(params.k_t), 1, fp) != 1) { | |
+ cerr << "params.k_t" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.k_r, sizeof(params.k_r), 1, fp) != 1) { | |
+ cerr << "params.k_r" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.gamma_n, sizeof(params.gamma_n), 1, fp) != 1) { | |
+ cerr << "params.gamma_n" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.gamma_t, sizeof(params.gamma_t), 1, fp) != 1) { | |
+ cerr << "params.gamma_t" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.gamma_r, sizeof(params.gamma_r), 1, fp) != 1) { | |
+ cerr << "params.gamma_r" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.mu_s, sizeof(params.mu_s), 1, fp) != 1) { | |
+ cerr << "params.mu_s" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.mu_d, sizeof(params.mu_d), 1, fp) != 1) { | |
+ cerr << "params.mu_d" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.mu_r, sizeof(params.mu_r), 1, fp) != 1) { | |
+ cerr << "params.mu_r" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.rho, sizeof(params.rho), 1, fp) != 1) { | |
+ cerr << "params.rho" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.contactmodel, sizeof(params.contactmodel), 1, fp) != 1) { | |
+ cerr << "params.contactmodel" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.kappa, sizeof(params.kappa), 1, fp) != 1) { | |
+ cerr << "params.kappa" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.db, sizeof(params.db), 1, fp) != 1) { | |
+ cerr << "params.db" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(¶ms.V_b, sizeof(params.V_b), 1, fp) != 1) { | |
+ cerr << "params.V_b" << endl; exit(err); } | |
// Read wall parameters | |
- if (fread(&walls.nw, sizeof(walls.nw), 1, fp) != 1) | |
- exit(++err); | |
+ ++err; | |
+ if (fread(&walls.nw, sizeof(walls.nw), 1, fp) != 1) { | |
+ cerr << "walls.nw" << endl; exit(err); } | |
// Allocate host memory for walls | |
// Wall normal (x,y,z), w: wall position on axis parallel to wall normal | |
// Wall mass (x), velocity (y), force (z), and deviatoric stress (w) | |
walls.nx = new Float4[walls.nw]; | |
walls.mvfd = new Float4[walls.nw]; | |
- if (fread(&walls.wmode, sizeof(walls.wmode[0]), walls.nw, fp) != walls.nw) | |
- exit(++err); | |
- if (fread(&walls.nx, sizeof(Float4), walls.nw, fp) != 1) | |
- exit(++err); | |
- if (fread(&walls.mvfd, sizeof(Float4), walls.nw, fp) != 1) | |
- exit(++err); | |
- if (fread(&walls.gamma_wn, sizeof(walls.gamma_wn), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(&walls.gamma_wt, sizeof(walls.gamma_wt), 1, fp) != 1) | |
- exit(++err); | |
- if (fread(&walls.gamma_wr, sizeof(walls.gamma_wr), 1, fp) != 1) | |
- exit(++err); | |
- | |
+ ++err; | |
+ if (fread(&walls.wmode, sizeof(walls.wmode[0]), walls.nw, fp) != walls.nw) { | |
+ cerr << "walls.wmode" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&walls.nx, sizeof(Float4), walls.nw, fp) != 1) { | |
+ cerr << "walls.nx" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&walls.mvfd, sizeof(Float4), walls.nw, fp) != 1) { | |
+ cerr << "walls.mvfd" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&walls.gamma_wn, sizeof(walls.gamma_wn), 1, fp) != 1) { | |
+ cerr << "walls.gamma_wn" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&walls.gamma_wt, sizeof(walls.gamma_wt), 1, fp) != 1) { | |
+ cerr << "walls.gamma_wt" << endl; exit(err); } | |
+ ++err; | |
+ if (fread(&walls.gamma_wr, sizeof(walls.gamma_wr), 1, fp) != 1) { | |
+ cerr << "walls.gamma_wr" << endl; exit(err); } | |
if (walls.nw > MAXWALLS) { | |
- std::cerr << "Error; MAXWALLS (" << MAXWALLS << ") in datatypes.h " | |
+ cerr << "Error; MAXWALLS (" << MAXWALLS << ") in datatypes.h " | |
<< "is smaller than the number of walls specified in the " | |
<< "input file (" << walls.nw << ").\n"; | |
} | |
t@@ -216,7 +263,7 @@ void DEM::readbin(const char *target) | |
fclose(fp); | |
if (verbose == 1) | |
- std::cout << "Done\n"; | |
+ cout << "Done\n"; | |
} | |
t@@ -230,7 +277,7 @@ void DEM::writebin(const char *target) | |
if ((fp = fopen(target, "wb")) == NULL) { | |
std::cerr << "could create output binary file '" | |
<< target << "'.\n"; | |
- exit(++err); // Return unsuccessful exit status | |
+ exit(err); // Return unsuccessful exit status | |
} | |
// If double precision: Values can be written directly | |
t@@ -240,102 +287,145 @@ void DEM::writebin(const char *target) | |
fwrite(&np, sizeof(np), 1, fp); | |
// Write temporal parameters | |
+ ++err; | |
if (fwrite(&time.dt, sizeof(time.dt), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&time.current, sizeof(time.current), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&time.total, sizeof(time.total), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&time.file_dt, sizeof(time.file_dt), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&time.step_count, sizeof(time.step_count), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
// Write grid parameters | |
+ ++err; | |
if (fwrite(&grid.origo, sizeof(grid.origo[0]), nd, fp) != nd) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&grid.L, sizeof(grid.L[0]), nd, fp) != nd) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&grid.num, sizeof(grid.num[0]), nd, fp) != nd) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&grid.periodic, sizeof(grid.periodic), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
// Write kinematic values | |
+ ++err; | |
if (fwrite(&k.x, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&k.xysum, sizeof(Float2), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&k.vel, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&k.force, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&k.angpos, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&k.angvel, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&k.torque, sizeof(Float4), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
// Write energies | |
+ ++err; | |
if (fwrite(&e.es_dot, sizeof(e.es_dot[0]), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&e.es, sizeof(e.es[0]), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&e.ev_dot, sizeof(e.ev_dot[0]), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&e.ev, sizeof(e.ev[0]), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&e.p, sizeof(e.p[0]), np, fp) != np) | |
- exit(++err); | |
+ exit(err); | |
// Write constant, global physical parameters | |
+ ++err; | |
if (fwrite(¶ms.g, sizeof(params.g[0]), nd, fp) != nd) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.k_n, sizeof(params.k_n), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.k_t, sizeof(params.k_t), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.k_r, sizeof(params.k_r), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.gamma_n, sizeof(params.gamma_n), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.gamma_t, sizeof(params.gamma_t), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.gamma_r, sizeof(params.gamma_r), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.mu_s, sizeof(params.mu_s), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.mu_d, sizeof(params.mu_d), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.mu_r, sizeof(params.mu_r), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.rho, sizeof(params.rho), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.contactmodel, sizeof(params.contactmodel), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.kappa, sizeof(params.kappa), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.db, sizeof(params.db), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(¶ms.V_b, sizeof(params.V_b), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
// Write walls parameters | |
+ ++err; | |
if (fwrite(&walls.nw, sizeof(walls.nw), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&walls.wmode, sizeof(walls.wmode[0]), walls.nw, fp) != walls.nw) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&walls.nx, sizeof(Float4), walls.nw, fp) != walls.nw) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&walls.mvfd, sizeof(Float4), walls.nw, fp) != walls.nw) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&walls.gamma_wn, sizeof(walls.gamma_wn), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&walls.gamma_wt, sizeof(walls.gamma_wt), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
+ ++err; | |
if (fwrite(&walls.gamma_wr, sizeof(walls.gamma_wr), 1, fp) != 1) | |
- exit(++err); | |
+ exit(err); | |
} else { | |
std::cerr << "Can't write output when in single precision mode.\n"; |