source: PSPA/Interface_Web/trunk/pspaWT/src/transportMoments.cc @ 229

Last change on this file since 229 was 229, checked in by lemeur, 11 years ago

labels et dessins

File size: 5.8 KB
Line 
1#include "transportMoments.h"
2#include <sstream>
3
4
5transportMoments::transportMoments() {
6  initializeMoments();
7}
8
9transportMoments::~transportMoments() {;}
10
11transportMoments::transportMoments( transportMoments& tm) {
12  rij_transportMoments_ = tm.rij_transportMoments_;
13}
14
15transportMoments::transportMoments( const transportMoments& tm) {
16  rij_transportMoments_ = tm.rij_transportMoments_;
17}
18
19transportMoments::transportMoments(double x, double xp, double y, double yp, double dl, double del) {
20  initializeMoments();
21  ( rij_transportMoments_.at(0) ).at(0) = x;
22  ( rij_transportMoments_.at(1) ).at(1) = xp;
23  ( rij_transportMoments_.at(2) ).at(2) = y;
24  ( rij_transportMoments_.at(3) ).at(3) = yp;
25  ( rij_transportMoments_.at(4) ).at(4) = dl;
26  ( rij_transportMoments_.at(5) ).at(5) = del;
27
28}
29
30void transportMoments::initializeMoments() {
31  rij_transportMoments_.clear();
32  rij_transportMoments_.resize(6);
33  unsigned dim=0;
34  unsigned k;
35  for ( k=0; k < 6; k++){
36    rij_transportMoments_.at(k).resize(++dim, 0.0); 
37  }
38}
39
40
41 // const vector< vector<double> >& transportMoments::getMoments() const
42 // {
43 //   return rij_transportMoments_;
44 // }
45
46 vector< vector<double> >& transportMoments::getMatrix() 
47 {
48   return rij_transportMoments_;
49 }
50
51
52void transportMoments::impression() const {
53  unsigned j,m;
54  cout << " impression des moments " << endl;
55  for ( j = 0; j < 6; j++)
56    {
57      for (m=0; m <= j; m++) 
58        {
59          cout  << ( rij_transportMoments_.at(j) ).at(m) << " ";
60        }
61      cout << endl;
62    }
63}
64
65void transportMoments::raz() {
66  // initialisation des moments
67  unsigned j,m;
68  for ( j = 0; j < rij_transportMoments_.size(); j++)
69    {
70      for (m=0; m <= j; m++) 
71        {
72          ( rij_transportMoments_.at(j) ).at(m) = 0.0; // element r_jm
73        }
74    }
75}
76
77
78// // suppose qu'on est bien positionné dans le stream (a revoir)
79// void transportMoments::readFromTransportOutput(ifstream& inp) {
80//   string  bidString;
81//   double bidon;
82
83//   // initialisation des moments
84//   raz();
85
86//   inp >> bidon >>  bidString >>  bidon >>  ( rij_transportMoments_.at(0) ).at(0) >> bidString;
87//   inp >> bidon >> ( rij_transportMoments_.at(1) ).at(1) >>  bidString >> ( rij_transportMoments_.at(1) ).at(0);
88//   inp >> bidon >> ( rij_transportMoments_.at(2) ).at(2) >>  bidString >> ( rij_transportMoments_.at(2) ).at(0)  >> ( rij_transportMoments_.at(2) ).at(1);
89//   inp >> bidon >> ( rij_transportMoments_.at(3) ).at(3) >>  bidString >> ( rij_transportMoments_.at(3) ).at(0)  >> ( rij_transportMoments_.at(3) ).at(1) >> ( rij_transportMoments_.at(3) ).at(2);
90
91//   inp >> bidon >> ( rij_transportMoments_.at(4) ).at(4) >>  bidString >> ( rij_transportMoments_.at(4) ).at(0)  >> ( rij_transportMoments_.at(4) ).at(1) >> ( rij_transportMoments_.at(4) ).at(2) >> ( rij_transportMoments_.at(4) ).at(3);
92
93//   inp >> bidon >> ( rij_transportMoments_.at(5) ).at(5) >>  bidString >> ( rij_transportMoments_.at(5) ).at(0)  >> ( rij_transportMoments_.at(5) ).at(1) >> ( rij_transportMoments_.at(5) ).at(2) >> ( rij_transportMoments_.at(5) ).at(3) >> ( rij_transportMoments_.at(5) ).at(4);
94
95// }
96
97// suppose qu'on est bien positionné dans le stream (a revoir)
98void transportMoments::readFromTransportOutput(stringstream& inp) {
99  string  bidString;
100  double bidon;
101
102  // initialisation des moments
103  raz();
104
105  inp >> bidon >>  bidString >>  bidon >>  ( rij_transportMoments_.at(0) ).at(0) >> bidString;
106  inp >> bidon >> ( rij_transportMoments_.at(1) ).at(1) >>  bidString >> ( rij_transportMoments_.at(1) ).at(0);
107  inp >> bidon >> ( rij_transportMoments_.at(2) ).at(2) >>  bidString >> ( rij_transportMoments_.at(2) ).at(0)  >> ( rij_transportMoments_.at(2) ).at(1);
108  inp >> bidon >> ( rij_transportMoments_.at(3) ).at(3) >>  bidString >> ( rij_transportMoments_.at(3) ).at(0)  >> ( rij_transportMoments_.at(3) ).at(1) >> ( rij_transportMoments_.at(3) ).at(2);
109
110  inp >> bidon >> ( rij_transportMoments_.at(4) ).at(4) >>  bidString >> ( rij_transportMoments_.at(4) ).at(0)  >> ( rij_transportMoments_.at(4) ).at(1) >> ( rij_transportMoments_.at(4) ).at(2) >> ( rij_transportMoments_.at(4) ).at(3);
111
112  inp >> bidon >> ( rij_transportMoments_.at(5) ).at(5) >>  bidString >> ( rij_transportMoments_.at(5) ).at(0)  >> ( rij_transportMoments_.at(5) ).at(1) >> ( rij_transportMoments_.at(5) ).at(2) >> ( rij_transportMoments_.at(5) ).at(3) >> ( rij_transportMoments_.at(5) ).at(4);
113
114}
115
116
117string transportMoments::writeToTransportInput(double P0) const {
118  ostringstream sortie;
119   sortie << " BEAM, X=" << (rij_transportMoments_.at(0)).at(0) << ", XP="<< (rij_transportMoments_.at(1)).at(1) << ", Y=" << (rij_transportMoments_.at(2)).at(2)<< ", YP=" << (rij_transportMoments_.at(3)).at(3) << ", & " << endl;
120
121   sortie << " DL=" << (rij_transportMoments_.at(4)).at(4) << ", DEL="<< (rij_transportMoments_.at(5)).at(5) << ", P0=" << P0 << " ; " << endl;
122
123   sortie << " CORR, C21=" << (rij_transportMoments_.at(1)).at(0) << ", C31="<< (rij_transportMoments_.at(2)).at(0) << ", C32=" << (rij_transportMoments_.at(2)).at(1) << ", & " << endl;
124
125   sortie << " C41=" << (rij_transportMoments_.at(3)).at(0) << ", C42="<< (rij_transportMoments_.at(3)).at(1) << ", C43=" << (rij_transportMoments_.at(3)).at(2) << ", C51=" << (rij_transportMoments_.at(4)).at(0) << ", & " << endl;
126
127   sortie << " C52=" << (rij_transportMoments_.at(4)).at(1) << ", C53="<< (rij_transportMoments_.at(4)).at(2) << ", C54=" << (rij_transportMoments_.at(4)).at(3) << ", C61=" << (rij_transportMoments_.at(5)).at(0) << ", & " << endl;
128
129   sortie << " C62=" << (rij_transportMoments_.at(5)).at(1) << ", C63="<< (rij_transportMoments_.at(5)).at(2) << ", C64=" << (rij_transportMoments_.at(5)).at(3) << ", C65=" << (rij_transportMoments_.at(5)).at(4) << " ; " << endl;
130    return sortie.str();
131}
132
133transportMoments& transportMoments::operator= (const transportMoments& tpm) {
134  rij_transportMoments_ = tpm.rij_transportMoments_;
135  return *this;
136}
Note: See TracBrowser for help on using the repository browser.