diff --git a/io.cpp b/io.cpp index b1286af..dce1d55 100644 --- a/io.cpp +++ b/io.cpp @@ -1,4 +1,5 @@ #include "hdf5.h" +#include #include #include #include @@ -6,6 +7,18 @@ struct double3 {double x,y,z; }; +void ascii_write(const std::string file_name, const int step_num, const int N, const double t, const double *m, const double3 *x, const double3 *v, int precision=10) +{ + int id_width = (int)log10(N-1) + 1; + char string_template[256]; + sprintf(string_template, "%%0%dd%%%d.%dE%%%d.%dE%%%d.%dE%%%d.%dE%%%d.%dE%%%d.%dE%%%d.%dE\n", id_width, precision+7, precision, precision+8, precision, precision+8, precision, precision+8, precision, precision+8, precision, precision+8, precision, precision+8, precision); + printf("%d\n", step_num); + printf("%d\n", N); + printf("%.16E\n", t); + for (int i=0; i