1 #include "MEDMEM_Exception.hxx"
2 #include "MEDMEM_define.hxx"
4 #include "MEDMEM_Med.hxx"
5 #include "MEDMEM_Field.hxx"
6 #include "MEDMEM_Mesh.hxx"
7 #include "MEDMEM_Interpolation.hxx"
15 const char * fromFileName = "ResultatSyrthes.med";
16 const char * toFileName = "MaillageAster.med";
17 const char * resultFileName = "ResultatInterpolation.med";
19 const char * fromFieldName = "THERDEP_TEMP____________________";
21 const char * fromMeshName = "MA";
22 const char * toMeshName = "MAILLAGE_IDEAS";
28 MED fromMED(MED_DRIVER,fromFileName);
30 fromMED.updateSupport();
32 MESH toMesh(MED_DRIVER,toFileName,toMeshName);
34 deque<DT_IT_> pasDeTemps=fromMED.getFieldIteration (fromFieldName);
36 deque<DT_IT_>::const_iterator currentStep;
38 INTERPOLATION<3> * myInter ;
39 FIELD<double> * toField ;
40 int flagNewMapping = 1;
42 for (currentStep=pasDeTemps.begin();currentStep!=pasDeTemps.end();currentStep++)
44 FIELD_ * fromField_ = fromMED.getField(fromFieldName,(*currentStep).dt,(*currentStep).it) ;
46 FIELD<double> * fromField = dynamic_cast<FIELD<double> *>(fromField_);
48 fromField->getSupport()->getMesh()->read();
52 if (currentStep==pasDeTemps.begin())
54 myInter = new INTERPOLATION<3>(*fromField,toMesh) ;
56 toField = myInter->interpolate(1,1);
60 toField = myInter->interpolateNextStep(*fromField,flagNewMapping);
63 toField->addDriver(MED_DRIVER,resultFileName,toField->getName());
67 if (flagNewMapping==1)
69 handle = toMesh.addDriver(MED_DRIVER,resultFileName,toMesh.getName()) ;
75 } catch (MEDEXCEPTION& ex){