25 if(bc==
"MPI_BOUNDARY")
62 if(line==
"scalar_fields") {
66 cerr <<
"Expected an opening bracket" <<endl;
70 cerr <<
"\nUser defined scalar fields" << endl;
75 if(file >> str && str ==
"}")
break;
94 if(line==
"vector_fields") {
98 cerr <<
"Expected an opening bracket" <<endl;
102 cerr <<
"\nUser defined vector Fields" << endl;
107 if(file >> str && str ==
"}")
break;
120 int blocknumber, level;
121 double xmin, xmax, ymin, ymax, zmin, zmax;
122 string eastbc, westbc, northbc, southbc, topbc, bottombc;
127 for(
int i = 0; i < 3; i++)
132 while(line.empty()) {
142 cerr <<
"Expected an opening bracket" <<endl;
147 if(file >> str && str ==
"}")
break;
148 else blocknumber = atoi(str.c_str());
151 file >> xmin >> xmax >> ymin >> ymax >> zmin >> zmax;
153 file >> eastbc >> westbc >> northbc >> southbc >> topbc >> bottombc;
181 string eastbc, westbc, northbc, southbc, topbc, bottombc;
187 bcval =
new double* [3];
188 for(
int i = 0; i < 3; i++) {
190 bcval[i] =
new double [2];
194 double eastbcval, westbcval, northbcval, southbcval, topbcval, bottombcval;
198 while(line.empty()) {
202 if(line==
"scalar_field_boundary_conditions") {
206 cerr <<
"Expected an opening bracket" <<endl;
210 cerr <<
"\nSetting scalar field boundary conditions" << endl;
215 if(file >> str && str ==
"}")
break;
219 for(
int i = 0; i < number ; ++i) {
222 file >> eastbc >> westbc >> northbc >> southbc >> topbc >> bottombc;
223 file >> bcval[0][0] >> bcval[0][1] >> bcval[1][0] >> bcval[1][1] >> bcval[2][0] >> bcval[2][1];
249 string eastbc, westbc, northbc, southbc, topbc, bottombc;
260 xbcval =
new double* [3];
261 ybcval =
new double* [3];
262 zbcval =
new double* [3];
263 for(
int i = 0; i < 3; i++) {
267 xbcval[i] =
new double [2];
268 ybcval[i] =
new double [2];
269 zbcval[i] =
new double [2];
273 double eastbcval, westbcval, northbcval, southbcval, topbcval, bottombcval;
277 while(line.empty()) {
281 if(line==
"vector_field_boundary_conditions") {
285 cerr <<
"Expected an opening bracket" <<endl;
289 cerr <<
"\nSetting vector field boundary conditions " << endl;
294 if(file >> str && str ==
"}")
break;
298 for(
int i = 0; i < number ; ++i) {
303 file >> eastbc >> westbc >> northbc >> southbc >> topbc >> bottombc;
304 file >> xbcval[0][0] >> xbcval[0][1] >> xbcval[1][0] >> xbcval[1][1] >> xbcval[2][0] >> xbcval[2][1];
315 file >> eastbc >> westbc >> northbc >> southbc >> topbc >> bottombc;
316 file >> ybcval[0][0] >> ybcval[0][1] >> ybcval[1][0] >> ybcval[1][1] >> ybcval[2][0] >> ybcval[2][1];
327 file >> eastbc >> westbc >> northbc >> southbc >> topbc >> bottombc;
328 file >> zbcval[0][0] >> zbcval[0][1] >> zbcval[1][0] >> zbcval[1][1] >> zbcval[2][0] >> zbcval[2][1];
361 while(line.empty()) {
365 if(line==
"max_level") {
379 ifstream file (
"../input/input.pfs");
381 cerr <<
"Error opening input file\n";
385 if(file.peek() == ifstream::traits_type::eof()) {
386 cerr <<
"Nothing in the input file\n";
392 cerr <<
"\nReading input files" << endl;
std::vector< std::string > scalar_fields
void read_vector_field_Bc(ifstream &file, int number)
void read_scalar_fields(ifstream &file)
Standard input output stuff.
void read_vector_fields(ifstream &file)
void set_FieldBc_FieldBcVal(int number, std::string name, FieldBc **bc, double **bcval)
void read_max_level(ifstream &file)
myOctree::FieldBc string_to_FieldBc(string bc)
std::vector< std::string > vector_fields
void set_VecFieldBc_VecFieldBcVal(int number, std::string name, FieldBc **xbc, FieldBc **ybc, FieldBc **zbc, double **xbcval, double **ybcval, double **zbcval)
myOctree::NodeBc string_to_NodeBc(string bc)
void read_scalar_field_Bc(ifstream &file, int number)
void create_node(int blocknumber, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, int level, NodeBc **bc)
int read_blocks(ifstream &file)