58 double DTstart =
dumpTimesGen[
"dTimeStart"].as<
double>();
61 double tEnd =
params[
"tEnd"].as<
double>();
62 for(
double t=DTstart; t<=tEnd; t+=DTstep){
69 for(
int i=0; i<
dTimes.size(); i++)
85 int iflag = mkdir(
dataDir.c_str(), 0755);
87 cout <<
"\n********** Error, process " <<
proc.
myid <<
"failed to create "
88 <<
dataDir <<
", or it was already there" << endl;
92 fname =
"../data/"+
caseName+
"/runtime/runtime_" + s1;
93 ostrm =
new ofstream(fname.c_str());
97 fname =
dataDir +
"plot_odt.gnu";
100 cout << endl <<
"ERROR OPENING FILE: " <<
dataDir+
"plot_odt.gnu" << endl;
131 for(
int i=0; i<
domn->
v.size(); i++)
132 domn->
v.at(i)->setVar();
136 ofstream ofile(fname.c_str());
138 *
ostrm <<
"\n\n***************** ERROR OPENING FILE " << fname << endl << endl;
142 *
ostrm << endl <<
"# Writing outputfile: " << fname;
147 ofile <<
"# time = " << time;
149 ofile <<
"\n# Grid points = " <<
domn->
ngrd;
151 ofile <<
"\n# Pressure (Pa) = " <<
domn->
pram->
pres << endl;
155 ofile <<
"VARIABLES =";
158 for(
int i=0,j=1; i<
domn->
v.size(); i++){
159 if(
domn->
v.at(i)->L_output){
161 ofile << setw(14) <<
"\"" << j++ <<
"_" <<
domn->
v.at(i)->var_name <<
"\"";
163 ofile << setw(14) << j++ <<
"_" <<
domn->
v.at(i)->var_name;
168 ofile << setprecision(10);
171 for(
int k=0; k<
domn->
v.size(); k++)
172 if(
domn->
v.at(k)->L_output)
173 ofile << setw(19) <<
domn->
v.at(k)->d.at(i);
204 string fname =
dataDir +
"dmp_" + ss.str() +
".dat";
220 string fname =
dataDir+fnameRaw;
222 gnufile <<
"plot '" << fnameRaw <<
"' us 1:3; pause -1;" << endl;
231 *
ostrm << endl <<
"#--------------------------------------------------"
232 <<
"--------------------------------------------------------------------";
234 *
ostrm << setw(5) <<
"# EE,"
235 << setw(12) <<
"time,"
236 << setw(12) <<
"t-t0,"
237 << setw(10) <<
"nEtry,"
238 << setw(6) <<
"ngrd,"
239 << setw(12) <<
"edSize,"
240 << setw(12) <<
"edPos,"
241 << setw(12) <<
"edPa,"
242 << setw(12) <<
"nEposs,"
243 << setw(12) <<
"PaAvg,"
244 << setw(12) <<
"invTauEddy"
247 *
ostrm << endl <<
"#--------------------------------------------------"
248 <<
"--------------------------------------------------------------------";
263 *
ostrm << scientific << setprecision(3) << endl;
291 for(
int k=0; k<
domn->
v.size(); k++) {
292 if(
domn->
v[k]->L_transported && !
domn->
v[k]->L_output) {
293 cout << endl <<
"ERROR: to restart, all transported variables need to be in the restart file" << endl;
299 ss1.clear(); ss1 << setfill(
'0') << setw(5) <<
proc.
myid;
300 fname =
inputFileDir +
"restart/restart_" + ss1.str() +
".dat";
305 ifstream ifile(fname.c_str());
307 cout << endl <<
"ERROR: reading restart file " << fname << endl;
321 ss1 >> s1 >> s1 >> s1 >> s1 >>
domn->
ngrd;
330 for(
int k=0; k<
domn->
v.size(); k++)
335 for(
int k=0; k<
domn->
v.size(); k++) {
336 if(!
domn->
v[k]->L_output)
338 ifile >>
domn->
v[k]->d[i];
346 for(
int k=0; k<
domn->
v.size(); k++)
347 domn->
v[k]->setVar();
int ngrd
number of grid cells
dv * posf
access as: posf->d[i], or posf->var_name, etc.
int ngrdf
number of grid cell faces = ngrd+1
eddy * ed
pointer to object for eddy operations
vector< dv * > v
All domain variables are stored in here.
solver * solv
pointer to solver object
param * pram
pointer to the parameters object
vector< double > d
the data
double Pa
eddy acceptance probability
double rightEdge
right edge location of eddy
double invTauEddy
inverse eddy timescale
double eddySize
size of eddy
double leftEdge
left edge location of eddy
double domainLength
length of domain (m)
double trst
restart time (from restart file), default is 0.0;
bool Ltecplot
set TRUE for tecplot friendly output
string rstType
"single" or "multiple"
double pres
initial pressure (Pa)
double PaSumC
sum of Pa of eddies
int neddies
number of eddies accepted
double t0
time of last eddy event; diffusion left off here.
double time
odt time (during sampling)
int iEtrials
number of eddy trials
int nPaSumC
number going into PaSum
Header file for class domain.
Header file for class processor.