#include "BodyForce.h" #include "ATC_Error.h" #include #include #include using ATC_Utility::command_line; using ATC_Utility::str2dbl; using ATC_Utility::str2int; using std::fstream; using std::string; using std::map; using std::vector; namespace ATC { BodyForceViscous::BodyForceViscous( fstream &fileId, std::map & parameters) : BodyForce(), gamma_(0) { if (!fileId.is_open()) throw ATC_Error("cannot open material file"); std::vector line; while(fileId.good()) { command_line(fileId, line); if (line.size() == 0) continue; if (line[0] == "end") return; double value = str2dbl(line[1]); if (line[0] == "gamma") { gamma_ = value; parameters["gamma"] = gamma_; } } } }