implement yaml output for mode vector
This commit is contained in:
@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user