Télécharger prorie.eso

Retour à la liste

Numérotation des lignes :

prorie
  1. C PRORIE SOURCE GOUNAND 16/05/25 21:15:07 8924
  2. C
  3. C INTERFACE AVEC ORIENT LIT LES DONNEES ET RECUPERE LE RESULTAT
  4. C ATTENTION POUR QUE PRESSION MARCHE IL EST IMPERATIF QUE
  5. C LISOUS GARDE LE MEME ORDRE SE SOUS ZONES APRES REORIENTATION
  6. C
  7. C
  8. C SG : 2016/05/17 ajout orientation elements massifs
  9. C
  10.  
  11. SUBROUTINE PRORIE
  12. IMPLICIT INTEGER(I-N)
  13. IMPLICIT real*8 (a-h,o-z)
  14.  
  15. -INC PPARAM
  16. -INC CCOPTIO
  17. -INC SMELEME
  18. -INC SMCOORD
  19. CHARACTER*4 MCLE(2)
  20. DIMENSION XP(3)
  21. DATA MCLE/'DIRE','POIN'/
  22. XP(1)=0.D0
  23. XP(2)=0.D0
  24. XP(3)=1.D0
  25. ICLE=0
  26. IF (IDIM.EQ.3) THEN
  27. CALL LIRMOT(MCLE,2,ICLE,0)
  28. CALL LIROBJ('POINT ',IP,0,IRETOU)
  29. IF (IERR.NE.0) RETURN
  30. IF (IRETOU.EQ.1) THEN
  31. * Option par défaut si on donne un point : DIRE
  32. IF (ICLE.EQ.0) ICLE=1
  33. SEGACT MCOORD
  34. IREF=(IP-1)*(IDIM+1)
  35. XP(1)=XCOOR(IREF+1)
  36. XP(2)=XCOOR(IREF+2)
  37. XP(3)=XCOOR(IREF+3)
  38. ENDIF
  39. ENDIF
  40. CALL LIROBJ('MAILLAGE',MELEME,1,IRETOU)
  41. IF (IERR.NE.0) RETURN
  42. SEGACT MELEME
  43. IPT1=MELEME
  44. IF (LISOUS(/1).NE.0) THEN
  45. NBREF=0
  46. NBSOUS=LISOUS(/1)
  47. NBNN=0
  48. NBELEM=0
  49. SEGINI IPT5
  50. ENDIF
  51. DO 2 IO=1,MAX(1,LISOUS(/1))
  52. IF (LISOUS(/1).NE.0) THEN
  53. IPT1=LISOUS(IO)
  54. SEGACT IPT1
  55. ENDIF
  56. CALL ORIENT(IPT1,IPT2,XP,ICLE)
  57. IF (IERR.NE.0) RETURN
  58. IF (LISOUS(/1).NE.0) THEN
  59. SEGDES IPT1,IPT2
  60. IPT5.LISOUS(IO)=IPT2
  61. ENDIF
  62. 2 CONTINUE
  63. IF (LISOUS(/1).EQ.0) GOTO 3
  64. SEGDES MELEME
  65. IPT2=IPT5
  66. 3 CONTINUE
  67. CALL ECROBJ('MAILLAGE',IPT2)
  68. C VERIFICATION QUE PAS DEUX ELEMENTS TOURNENT SENS INVERSE
  69. CALL VERSEN
  70. RETURN
  71. END
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales