source: PSPA/Interface_Web/trunk/pspaWT/src/elementFit.cc @ 243

Last change on this file since 243 was 243, checked in by lemeur, 12 years ago

rationalisation pour introduire nouveau logiciel

File size: 2.9 KB
Line 
1#include "elementFit.h"
2#include "mixedTools.h"
3
4elementFit::elementFit() : abstractElement()
5{
6  setDefaultValues();
7  setDefaults();
8  elementName_ = nomdElements("fit");
9  nbParam_ = elementName_.getElementNbParameters();
10  parametersString_ = new string[nbParam_+1];
11  // transportOk_ = true;
12  // parmelaIgnored_ = true;
13}
14
15void elementFit::setDefaultValues()
16  {
17    variableNameDef_ = "";
18    variableValueDef_ = 0.0;
19    toleranceDef_ = 0.0;
20  }
21
22void elementFit::setDefaults()
23  {
24    variableName_ = variableNameDef_;
25    variableValue_ = variableValueDef_;
26    tolerance_ = toleranceDef_;
27  }
28
29trivaluedBool elementFit::is_accepted_by_software(nomDeLogiciel soft) const {
30  if ( soft == nomDeLogiciel::transport ) return ok;
31  else if ( soft == nomDeLogiciel::parmela ) return warning;
32  else return error;
33}
34
35
36 string* elementFit::getParametersString() const 
37 {
38   int compteur = -1;
39   parametersString_[++compteur] = mixedTools::intToString(nbParam_);
40   parametersString_[++compteur] = label_;
41   parametersString_[++compteur] = variableName_;
42   parametersString_[++compteur] = mixedTools::doubleToString(variableValue_ );
43   parametersString_[++compteur] = mixedTools::doubleToString(tolerance_);
44   if ( compteur != nbParam_ ) {
45     cerr << " elementFit::getParametersString() : ERROR nr pf parameters dosnt match " << endl;
46     return NULL;
47   }
48   return parametersString_;   
49 }
50
51void elementFit::setParametersString(string* param)
52{
53  if ( param == NULL )
54    {
55      cerr << "  elementFit::setParametersString parameters empty parameter set";
56      return;
57    }
58  int compteur = -1;
59  int nbparam = atoi(param[++compteur].c_str());
60  if ( nbparam != nbParam_ ) 
61    {
62      cerr << "  elementFit::setParametersString parameters do not match for a BEND" << endl;
63      return;
64    }
65
66  label_ = param[++compteur];
67  variableName_ = param[++compteur];
68  variableValue_ = atof(param[++compteur].c_str());
69  tolerance_ = atof(param[++compteur].c_str());
70}
71
72
73string elementFit::parmelaOutputFlow() const
74  {
75    ostringstream sortie;
76    return sortie.str();
77  }
78
79string elementFit::transportOutputFlow() const
80  {
81    ostringstream sortie;
82    sortie << label_ << ":" << "  FIT," << variableName_ << " = " << variableValue_ << ", TOLER = " << tolerance_ << " ;" << endl;
83    if ( variableName_ == "R11" || variableName_ == "R22" || variableName_ == "R12" || variableName_ == "R21" ) {
84      sortie << " PRINT, TRANS;" << endl;
85    }
86    return sortie.str();
87  }
88
89string elementFit::FileOutputFlow() const
90  {
91    ostringstream sortie;
92    //    sortie << elementName_.getElementType() << endl;
93    sortie << elementName_.getElementLabel() << endl;
94    sortie  << label_ << endl;
95    sortie  <<    variableName_ << " " << variableValue_ << " " << tolerance_ << endl;
96    return sortie.str();
97  }
98
99void elementFit::FileInput(ifstream& ifs)
100{
101  ifs >> label_;
102  ifs  >>  variableName_ >>  variableValue_   >> tolerance_;
103}
Note: See TracBrowser for help on using the repository browser.