49 std::stringstream tmp1;
50 tmp1 <<
"\"processor-" << p <<
"\"";
52 std::stringstream tmp2;
53 tmp2 <<
"Number of particles of processor " << p;
59 if (
AmrPartBunch* amrbeam = dynamic_cast<AmrPartBunch*>(beam) ) {
61 int nLevel = (amrbeam->getAmrObject())->maxLevel() + 1;
63 for (
int lev = 0; lev < nLevel; ++lev) {
64 std::stringstream tmp1;
65 tmp1 <<
"\"level-" << lev <<
"\"";
67 std::stringstream tmp2;
68 tmp2 <<
"Number of particles at level " << lev;
74 if (
mode_m == std::ios::app ) {
79 std::string dateStr(simtimer.
date());
80 std::string timeStr(simtimer.
time());
83 ss <<
"Processor statistics '"
85 << dateStr <<
"" << timeStr;
96 if (
AmrPartBunch* amrbeam = dynamic_cast<AmrPartBunch*>(beam) ) {
97 amrbeam->gatherLevelStatistics();
116 for (
size_t p = 0; p < nProcs; ++ p) {
117 std::stringstream ss;
118 ss <<
"\"processor-" << p <<
"\"";
123 if (
AmrPartBunch* amrbeam = dynamic_cast<AmrPartBunch*>(beam) ) {
124 int nLevel = (amrbeam->getAmrObject())->maxLevel() + 1;
125 for (
int lev = 0; lev < nLevel; ++lev) {
126 std::stringstream ss;
127 ss <<
"\"level-" << lev <<
"\"";
static OpalData * getInstance()
void addDescription(const std::string &text, const std::string &content)
LBalWriter(const std::string &fname, bool restart)
void fillHeader(PartBunchBase< double, 3 > *beam)
std::string getInputFn()
get opals input filename
void addDefaultParameters()
void addInfo(const std::string &mode, const size_t &no_row_counts)
size_t getLoadBalance(int p) const
void writeHeader()
Write SDDS header.
void addColumn(const std::string &name, const std::string &type, const std::string &unit, const std::string &desc, std::ios_base::fmtflags flags=std::ios_base::scientific, unsigned short precision=15)
void write(PartBunchBase< double, 3 > *beam) override
std::string time() const
Return time.
std::string date() const
Return date.
void addColumnValue(const std::string &name, const T &val)
std::ios_base::openmode mode_m
First write to the statistics output file.