1 PROGRAM TRANSLATION 2 include 'com_avoir.f' 3 CHARACTER*128 FICH1,FICH2 4 CHARACTER*8 EXT 5C 6 1 CALL LIFICH('Prefix of the initial mesh ?',0,FICH1,LONG1) 7 CALL LIFICH('Prefix of the translated mesh ?',0,FICH2,LONG2) 8 CALL LIENTIER('2d or 3d ? (2/3)',0,IDIM) 9 IF (IDIM.EQ.2) THEN 10 EXT = '.avoir2D' 11 CALL LI2REEL1('Translation vector (x,y) ?',0,X,Y) 12 ELSE 13 EXT = '.avoir3D' 14 CALL LI3REEL1('Translation vector (x,y,z) ?',0,X,Y,Z) 15 ENDIF 16 FICH = FICH1(1:LONG1)//EXT 17 LONG = LONG1+8 18 CALL LITAVOIR(FICH,LONG,HED,NUMNP,NELTOT,NGMAX,NMAX,NDSMAX,XYZ,IBC 19 & ,NODE,NPR,NFPR,PR,NGROUP,NTYP,NEL,NDS,NUMSD,2,IENDIAN 20 & ,IERR,0) 21 IF (IERR.NE.0) GOTO 1 22C 23 DO I=1,NUMNP 24 XYZ(1,I) = XYZ(1,I)+X 25 XYZ(2,I) = XYZ(2,I)+Y 26 IF (IDIM.NE.2) XYZ(3,I) = XYZ(3,I)+Z 27 ENDDO 28C 29 FICH = FICH2(1:LONG2)//EXT 30 LONG = LONG2+8 31 CALL ECRITAVOIR(FICH,LONG,HED,NUMNP,NDSMAX,XYZ,IBC,NODE,NPR,NFPR 32 & ,PR,NGROUP,NTYP,NEL,NDS,NUMSD,2,ITRAD,IERR) 33C 34 END 35