27 std::stringstream tmp1;
28 tmp1 <<
"\"processor-" << p <<
"\"";
30 std::stringstream tmp2;
31 tmp2 <<
"Number of particles of processor " << p;
37 if (
AmrPartBunch* amrbeam = dynamic_cast<AmrPartBunch*>(beam) ) {
39 int nLevel = (amrbeam->getAmrObject())->maxLevel() + 1;
41 for (
int lev = 0; lev < nLevel; ++lev) {
42 std::stringstream tmp1;
43 tmp1 <<
"\"level-" << lev <<
"\"";
45 std::stringstream tmp2;
46 tmp2 <<
"Number of particles at level " << lev;
52 if (
mode_m == std::ios::app )
57 std::string dateStr(simtimer.
date());
58 std::string timeStr(simtimer.
time());
61 ss <<
"Processor statistics '"
63 << dateStr <<
"" << timeStr;
79 if (
AmrPartBunch* amrbeam = dynamic_cast<AmrPartBunch*>(beam) ) {
80 amrbeam->gatherLevelStatistics();
97 for (
size_t p = 0; p < nProcs; ++ p) {
99 ss <<
"\"processor-" << p <<
"\"";
104 if (
AmrPartBunch* amrbeam = dynamic_cast<AmrPartBunch*>(beam) ) {
105 int nLevel = (amrbeam->getAmrObject())->maxLevel() + 1;
106 for (
int lev = 0; lev < nLevel; ++lev) {
107 std::stringstream ss;
108 ss <<
"\"level-" << lev <<
"\"";
void writeHeader()
Write SDDS header.
void gatherLoadBalanceStatistics()
void write(PartBunchBase< double, 3 > *beam) override
void fillHeader(PartBunchBase< double, 3 > *beam)
void addDescription(const std::string &text, const std::string &content)
std::string date() const
Return date.
static OpalData * getInstance()
LBalWriter(const std::string &fname, bool restart)
std::string getInputFn()
get opals input filename
void addColumnValue(const std::string &name, const T &val)
std::ios_base::openmode mode_m
First write to the statistics output file.
std::string time() const
Return time.
size_t getLoadBalance(int p) const
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 addDefaultParameters()
void addInfo(const std::string &mode, const size_t &no_row_counts)