Télécharger prinve.eso

Retour à la liste

Numérotation des lignes :

prinve
  1. C PRINVE SOURCE CB215821 19/07/31 21:16:42 10277
  2.  
  3. C INTERFACE ENTRE PILOT ET INVERS
  4. C SERT A INVERSER UN OBJET
  5.  
  6. SUBROUTINE PRINVE
  7.  
  8. IMPLICIT INTEGER(I-N)
  9. IMPLICIT REAL*8(A-H,O-Z)
  10.  
  11. -INC PPARAM
  12. -INC CCOPTIO
  13. -INC SMELEME
  14.  
  15. C ===
  16. C 1 - Lecture d'un MAILLAGE :
  17. C Inversion du sens de parcours de ligne(s) (SEG2/SEG3) ou de
  18. C l'orientation des elements "surfaciques" (QUA4/QUA8/TRI3/TRI6)
  19. C ===
  20. CALL LIROBJ('MAILLAGE',IPT1,0,IRETOU)
  21. IF (IERR.NE.0) RETURN
  22. IF (IRETOU .NE. 0) THEN
  23. MELEME=IPT1
  24. SEGACT MELEME
  25. NBSOUS=LISOUS(/1)
  26. IF (NBSOUS.EQ.0) THEN
  27. CALL INVERS(IPT1,IPT2)
  28. ELSE
  29. NBREF=0
  30. NBNN=0
  31. NBELEM=0
  32. SEGINI IPT2
  33. DO i=1,NBSOUS
  34. IPT1=LISOUS(i)
  35. SEGACT IPT1
  36. CALL INVERS(IPT1,IPT3)
  37. SEGDES IPT1,IPT3
  38. IPT2.LISOUS(i)=IPT3
  39. ENDDO
  40. ENDIF
  41. SEGDES MELEME,IPT2
  42. CALL ECROBJ('MAILLAGE',IPT2)
  43.  
  44. C ===
  45. C 2 - Lecture d'un CHPOINT :
  46. C Inversion des composantes au sens de la multiplication '*'
  47. C ===
  48. ELSE
  49. CALL LIROBJ('CHPOINT ',ICHP1,1,IRETOU)
  50. CALL ACTOBJ('CHPOINT ',ICHP1,1)
  51. IF (IERR.NE.0) RETURN
  52. CALL INVCHP(ICHP1,ICHP2)
  53. CALL ACTOBJ('CHPOINT ',ICHP2,1)
  54. CALL ECROBJ('CHPOINT ',ICHP2)
  55. ENDIF
  56.  
  57. END
  58.  
  59.  
  60.  

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