]> SALOME platform Git repositories - tools/medcoupling.git/blob - doc/MEDMEM/FIELDgeneral.cxx
Salome HOME
updating the main trunk with the CEA debug devellopment from the branch
[tools/medcoupling.git] / doc / MEDMEM / FIELDgeneral.cxx
1 using namespace std;
2 #include "MEDMEM_Mesh.hxx"
3 #include "MEDMEM_Field.hxx"
4
5 using namespace MEDMEM;
6 using namespace MED_EN ;
7
8 int main (int argc, char ** argv) {
9
10   const string MedFile = "pointe.med" ;
11   const string MeshName = "maa1" ;
12   const string FieldName = "fieldcelldoublevector" ;
13
14   /* read MESH */
15   MESH * myMesh = new MESH(MED_DRIVER,MedFile,MeshName) ;
16   //  myMesh->read() ;
17
18   /* read FIELD */
19   // we need a support :
20   SUPPORT * mySupport = new SUPPORT(myMesh,"Support on all Cells",MED_CELL);
21   FIELD<double> myField(mySupport,MED_DRIVER,MedFile,FieldName) ;
22   //  myField.read() ;
23
24   /* what in Field ? */
25   // How many components
26   int NumberOfCompoennts = myField.getNumberOfComponents() ;
27
28   const string * ComponentsNames = myField.getComponentsNames();
29   const string * ComponentsDescriptions = myField.getComponentsDescriptions();
30   const string * ComponentsUnits = myField.getMEDComponentsUnits();
31
32   for(int i=0;i<NumberOfCompoennts; i++) {
33     cout << "Component " << i << " :" <<endl ;
34     cout << "  - name        : " << ComponentsNames[i] << endl ;
35     cout << "  - description : " << ComponentsDescriptions[i] << endl ;
36     cout << "  - unit        : " << ComponentsUnits[i] << endl ;
37   }
38
39   // Which iteration :
40   int IterationNumber = myField.getIterationNumber() ; // negative mean undefined
41   int OrderNumber = myField.getOrderNumber() ;
42   // internal iteration at this time iteration, negative mean undefined
43   double Time = myField.getTime() ;
44
45   cout << "Iteration " << IterationNumber << " at time " << Time <<
46     " (and order number " << OrderNumber << ")" << endl ;
47
48   // How many Value :
49   int NumberOfValue = mySupport->getNumberOfElements(MED_ALL_ELEMENTS);
50   // Value
51   const double * Value = myField.getValue(MED_FULL_INTERLACE);
52   for(int i=0; i<NumberOfValue; i++) {
53     for(int j=0; j<NumberOfCompoennts; j++)
54       cout << Value[i*NumberOfCompoennts+j] << " " ;
55     cout << endl ;
56   }
57
58   delete mySupport;
59   delete myMesh;
60
61   return 0 ;
62 }