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 (fp && me == 0) {
|
||||||
if (overwrite) platform::fseek(fp,filepos);
|
if (overwrite) platform::fseek(fp,filepos);
|
||||||
fmt::print(fp,"{} {}\n",ntimestep,nrows);
|
if (yaml_flag) {
|
||||||
for (i = 0; i < nrows; i++) {
|
if (!yaml_header || overwrite) {
|
||||||
fprintf(fp,"%d",i+1);
|
yaml_header = true;
|
||||||
for (j = 0; j < nvalues; j++) fprintf(fp,format,array_total[i][j]/norm);
|
fputs("keywords:\n - Step\n", fp);
|
||||||
fprintf(fp,"\n");
|
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);
|
fflush(fp);
|
||||||
if (overwrite) {
|
if (overwrite) {
|
||||||
|
|||||||
Reference in New Issue
Block a user