#include "elementBeam.h" #include "transportMoments.h" #include "mixedTools.h" elementBeam::elementBeam() : abstractElement() { setDefaultValues(); setDefaults(); elementName_ = nomdElements("beam"); nbParam_ = elementName_.getElementNbParameters(); parametersString_ = new string[nbParam_+1]; transportOk_ = true; } elementBeam::~elementBeam() {;} void elementBeam::setDefaultValues() { xDef_ = 0.0; xpDef_ = 0.0; yDef_ = 0.0; ypDef_ = 0.0; dlDef_ = 0.0; delDef_ = 0.0; p0Def_ = 0.0; } void elementBeam::setDefaults() { x_ = xDef_; xp_ = xpDef_; y_ = yDef_; yp_ = ypDef_; dl_ = dlDef_; del_ = delDef_; p0_ = p0Def_; } string* elementBeam::getParametersString() const { parametersString_[0] = mixedTools::intToString(nbParam_); parametersString_[1] = mixedTools::doubleToString(x_); parametersString_[2] = mixedTools::doubleToString(xp_); parametersString_[3] = mixedTools::doubleToString(y_); parametersString_[4] = mixedTools::doubleToString(yp_); parametersString_[5] = mixedTools::doubleToString(dl_); parametersString_[6] = mixedTools::doubleToString(del_); parametersString_[7] = mixedTools::doubleToString(p0_); cout << " elementBeam::getParametersString() on renvoie : " << parametersString_[7] << endl; return parametersString_; } void elementBeam::setParametersString(string* param) { if ( param == NULL ) { cerr << " elementBeam::setParametersString parameters empty parameter set"; return; } int nbparam = atoi(param[0].c_str()); if ( nbparam != nbParam_ ) { cerr << " elementBeam::setParametersString parameters do not match for a BEAM"; return; } x_ = atof(param[1].c_str()); xp_ = atof(param[2].c_str()); y_ = atof(param[3].c_str()); yp_ = atof(param[4].c_str()); dl_ = atof(param[5].c_str()); del_ = atof(param[6].c_str()); p0_ = atof(param[7].c_str()); cout << " elementBeam::setParametersString p0 vaut " << p0_ << endl; } string elementBeam::parmelaOutputFlow() const { ostringstream sortie; cout << " BEAM sortie parmela non programmee " << endl; return sortie.str(); } string elementBeam::transportOutputFlow() const { ostringstream sortie; transportMoments moments(x_, xp_, y_, yp_, dl_, del_); cout << " elementBeam::transportOutputFlow(), p0 = " << p0_ << endl; sortie << label_ << ":" << moments.writeToTransportInput(p0_); return sortie.str(); } string elementBeam::FileOutputFlow() const { ostringstream sortie; // sortie << elementName_.getElementType() << endl; sortie << elementName_.getElementLabel() << endl; sortie << label_ << endl; sortie << x_ << " " << xp_ << " " << y_ << " " << yp_ << endl; sortie << dl_ << " " << del_ << " " << p0_ << endl; cout << " elementBeam::FileOutputFlow, p0 = " << p0_ << endl; return sortie.str(); } void elementBeam::elementBeam::FileInput(ifstream& ifs) { ifs >> label_; ifs >> x_ >> xp_ >> y_ >> yp_; ifs >> dl_ >> del_ >> p0_; cout << " elementBeam::FileFileInput, p0 = " << p0_ << endl; lenghtElem_ = getLenghtOfElement(); cout << " elementBeam::FileInput calcule longueur = " << lenghtElem_ << endl; }