#include "elementFit.h" #include "mixedTools.h" elementFit::elementFit() : abstractElement() { setDefaultValues(); setDefaults(); elementName_ = nomdElements("fit"); nbParam_ = elementName_.getElementNbParameters(); parametersString_ = new string[nbParam_+1]; // transportOk_ = true; // parmelaIgnored_ = true; registerAcceptableSoftware(nomDeLogiciel::transport, TBoolOk); registerAcceptableSoftware(nomDeLogiciel::parmela, TBoolIgnore); } void elementFit::setDefaultValues() { defaultLabel_ = "fit"; variableNameDef_ = ""; variableValueDef_ = 0.0; toleranceDef_ = 0.0; } void elementFit::setDefaults() { label_ = defaultLabel_; variableName_ = variableNameDef_; variableValue_ = variableValueDef_; tolerance_ = toleranceDef_; } string* elementFit::getParametersString() const { int compteur = -1; parametersString_[++compteur] = mixedTools::intToString(nbParam_); parametersString_[++compteur] = label_; parametersString_[++compteur] = variableName_; parametersString_[++compteur] = mixedTools::doubleToString(variableValue_ ); parametersString_[++compteur] = mixedTools::doubleToString(tolerance_); if ( compteur != nbParam_ ) { cerr << " elementFit::getParametersString() : ERROR nr pf parameters dosnt match " << endl; return NULL; } return parametersString_; } void elementFit::setParametersString(string* param) { if ( param == NULL ) { cerr << " elementFit::setParametersString parameters empty parameter set"; return; } int compteur = -1; int nbparam = atoi(param[++compteur].c_str()); if ( nbparam != nbParam_ ) { cerr << " elementFit::setParametersString parameters do not match for a BEND" << endl; return; } label_ = param[++compteur]; variableName_ = param[++compteur]; variableValue_ = atof(param[++compteur].c_str()); tolerance_ = atof(param[++compteur].c_str()); } string elementFit::parmelaOutputFlow() const { ostringstream sortie; return sortie.str(); } string elementFit::transportOutputFlow() const { ostringstream sortie; sortie << label_ << ":" << " FIT," << variableName_ << " = " << variableValue_ << ", TOLER = " << tolerance_ << " ;" << endl; if ( variableName_ == "R11" || variableName_ == "R22" || variableName_ == "R12" || variableName_ == "R21" ) { sortie << " PRINT, TRANS;" << endl; } return sortie.str(); } string elementFit::FileOutputFlow() const { ostringstream sortie; // sortie << elementName_.getElementType() << endl; sortie << elementName_.getElementLabel() << endl; sortie << label_ << endl; sortie << variableName_ << " " << variableValue_ << " " << tolerance_ << endl; return sortie.str(); } void elementFit::FileInput(ifstream& ifs) { ifs >> label_; ifs >> variableName_ >> variableValue_ >> tolerance_; } string elementFit::print() { string txt = ""; txt += label_; return txt; }