implement yaml output for mode vector

This commit is contained in:
Axel Kohlmeyer
2022-04-28 14:33:15 -04:00
parent 2f71c96bde
commit 04b46a9ce8

View File

@ -896,11 +896,34 @@ void FixAveTime::invoke_vector(bigint ntimestep)
if (fp && me == 0) {
if (overwrite) platform::fseek(fp,filepos);
fmt::print(fp,"{} {}\n",ntimestep,nrows);
for (i = 0; i < nrows; i++) {
fprintf(fp,"%d",i+1);
for (j = 0; j < nvalues; j++) fprintf(fp,format,array_total[i][j]/norm);
fprintf(fp,"\n");
if (yaml_flag) {
if (!yaml_header || overwrite) {
yaml_header = true;
fputs("keywords:\n - Step\n", fp);
bool first = true;
for (auto k : keyword) {
if (first) {
first = false;
fmt::print(fp, " - - '{}'\n", k);
} else fmt::print(fp, " - '{}'\n", k);
}
fputs("data:\n", fp);
}
fmt::print(fp, " {}:\n", ntimestep);
for (i = 0; i < nvalues; i++) {
for (j = 0; j < nrows; j++) {
if (j == 0) fputs(" - - ", fp);
else fputs(" - ", fp);
fmt::print(fp,"{}\n",array_total[j][i]/norm);
}
}
} else {
fmt::print(fp,"{} {}\n",ntimestep,nrows);
for (i = 0; i < nrows; i++) {
fprintf(fp,"%d",i+1);
for (j = 0; j < nvalues; j++) fprintf(fp,format,array_total[i][j]/norm);
fprintf(fp,"\n");
}
}
fflush(fp);
if (overwrite) {