Salome HOME
DCQ : Merge with Ecole Ete a6.
[modules/med.git] / src / MEDMEM / INTERPOLATION / test_MEDMEM_InterpolationFromMesh_toMesh.cxx
1 #include "MEDMEM_Exception.hxx"
2 #include "MEDMEM_define.hxx"
3
4 #include "MEDMEM_Field.hxx"
5 #include "MEDMEM_Mesh.hxx"
6 #include "MEDMEM_Interpolation.hxx"
7
8 #include "stdio.h"
9
10 main () {
11   
12   const char * fromFileName  = "fromMesh.med";
13   const char * toFileName    = "toMesh.med";
14   //const char * fieldName     = "fieldcelldoublevector"; 
15   const char * fieldName     = "fieldnodedouble";
16
17   const char * fromMeshName  = "fromMesh";
18   const char * toMeshName    = "toMesh";
19
20   try {
21     
22     cout<<"Lecture du Maillage Source : "<<flush; MESH            fromMesh    (MED_DRIVER,fromFileName,fromMeshName);           cout<<"OK !"<<endl;
23     //cout<<"Construction du support    : "<<flush; SUPPORT         fromSupport (&fromMesh,"XsupportX",MED_CELL);                 cout<<"OK !"<<endl;    
24     cout<<"Construction du support    : "<<flush; SUPPORT         fromSupport (&fromMesh,"XsupportX",MED_NODE);                 cout<<"OK !"<<endl;
25     cout<<"Lecture du champ           : "<<flush; FIELD<double>   fromField   (&fromSupport,MED_DRIVER,fromFileName,fieldName); cout<<"OK !"<<endl;
26     cout<<"Lecture du Mailllage Cible : "<<flush; MESH            toMesh      (MED_DRIVER,toFileName,toMeshName);               cout<<"OK !"<<endl;
27     
28     INTERPOLATION<3> myInter (fromField,toMesh);
29     
30     //FIELD<double>   * toField = myInter.interpolate(0,1);
31     FIELD<double>   * toField = myInter.interpolate(1,1);
32     
33     cout<<"Creation du driver"<<endl;
34     
35     toField->addDriver(MED_DRIVER,toFileName,toField->getName()) ;
36
37     cout<<"toField->getName()                   = "<<toField->getName()                  <<endl;
38     cout<<"toField->getDescription()            = "<<toField->getDescription()           <<endl;
39     cout<<"toField->getNumberOfComponents()     = "<<toField->getNumberOfComponents()    <<endl;
40     cout<<"toField->getNumberOfValues()         = "<<toField->getNumberOfValues()        <<endl;
41     cout<<"toField->getComponentsNames()        = "<<toField->getComponentsNames()       <<endl;
42     cout<<"toField->getComponentsDescriptions() = "<<toField->getComponentsDescriptions()<<endl;
43     cout<<"toField->getMEDComponentsUnits()     = "<<toField->getMEDComponentsUnits()    <<endl;
44     cout<<"toField->getIterationNumber()        = "<<toField->getIterationNumber()       <<endl;
45     cout<<"toField->getTime()                   = "<<toField->getTime()                  <<endl;
46     cout<<"toField->getOrderNumber()            = "<<toField->getOrderNumber()           <<endl;
47     cout<<"toField->getValueType()              = "<<toField->getValueType()             <<endl;
48
49     toField->write();
50
51     cout<<"Fin"<<endl;
52
53   } catch (MEDEXCEPTION& ex){
54     MESSAGE(ex.what()) ;
55   }
56 }