Télécharger prinve.eso

Retour à la liste

Numérotation des lignes :

  1. C PRINVE SOURCE FANDEUR 05/12/20 21:15:08 5273
  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 CCOPTIO
  12. -INC SMELEME
  13.  
  14. C ===
  15. C 1 - Lecture d'un MAILLAGE :
  16. C Inversion du sens de parcours de ligne(s) (SEG2/SEG3) ou de
  17. C l'orientation des elements "surfaciques" (QUA4/QUA8/TRI3/TRI6)
  18. C ===
  19. CALL LIROBJ('MAILLAGE',IPT1,0,IRETOU)
  20. IF (IERR.NE.0) RETURN
  21. IF (IRETOU .NE. 0) THEN
  22. MELEME=IPT1
  23. SEGACT MELEME
  24. NBSOUS=LISOUS(/1)
  25. IF (NBSOUS.EQ.0) THEN
  26. CALL INVERS(IPT1,IPT2)
  27. ELSE
  28. NBREF=0
  29. NBNN=0
  30. NBELEM=0
  31. SEGINI IPT2
  32. DO i=1,NBSOUS
  33. IPT1=LISOUS(i)
  34. SEGACT IPT1
  35. CALL INVERS(IPT1,IPT3)
  36. SEGDES IPT1,IPT3
  37. IPT2.LISOUS(i)=IPT3
  38. ENDDO
  39. ENDIF
  40. SEGDES MELEME,IPT2
  41. CALL ECROBJ('MAILLAGE',IPT2)
  42.  
  43. C ===
  44. C 2 - Lecture d'un CHPOINT :
  45. C Inversion des composantes au sens de la multiplication '*'
  46. C ===
  47. ELSE
  48. CALL LIROBJ('CHPOINT',ICHP1,1,IRETOU)
  49. IF (IERR.NE.0) RETURN
  50. CALL INVCHP(ICHP1,ICHP2)
  51. CALL ECROBJ('CHPOINT',ICHP2)
  52. ENDIF
  53.  
  54. RETURN
  55. END
  56.  
  57.  
  58.  

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