Télécharger locimp.eso

Retour à la liste

Numérotation des lignes :

  1. C LOCIMP SOURCE CHAT 05/01/13 01:24:46 5004
  2.  
  3. SUBROUTINE LOCIMP(NDIM,JFACE,XDEP2
  4. $ ,PT1,PT2,PT3,PT4,IPT9,JREBO,XIREB,XNREB,IEL1,IELTFA)
  5. *************************************************************************
  6. *** SP 'LOCIMP' : a partir d'un n° de face permet de dire s'il s'agit
  7. *** d'une face impermeable. renvoie alors les caracteristiques de cette
  8. *** face.
  9. ***
  10. *** E = 'NDIM' dimension de l'espace
  11. *** 'JFACE' face ou se situe la particule
  12. *** 'XDEP2' position initiale de la particule
  13. *** 'PT1', 'PT2', 'PT3', 'PT4' noeuds appartenant à element considéré
  14. *** 'IPT9' pteur sur maillage faces impermeables
  15. *** 'IEL1' numero de l'element dans lequel on se trouve
  16. *** 'IELTFA' pointeur du maillage des connectivités elements->face
  17. ***
  18. *** S = 'JREBO' n° local face impermeable ou se trouve particule, -1 sinon
  19. *** 'XIREB' pt d'impact sur la face impermeable
  20. *** 'XNREB' vecteur normal à la face impermeable
  21. ***
  22. *** Auteur CYRIL NOU
  23. *************************************************************************
  24. IMPLICIT INTEGER(I-N)
  25. IMPLICIT REAL*8 (A-H,O-Z)
  26. -INC CCOPTIO
  27. -INC SMCOORD
  28. -INC SMELEME
  29. SEGMENT IZSH
  30. REAL*8 SHP(6,MNO9),SHY(12,MNO9),XYZL(3,MNO9)
  31. ENDSEGMENT
  32. DIMENSION XIMP(3),XDEP2(3),XIREB(3),XNREB(3)
  33. DIMENSION PT1(3),PT2(3),PT3(3),PT4(3),XN1(3),XN2(3),XN3(3),XINT(3)
  34. JREBO=-1
  35. DO 30 I=1,3
  36. XIREB(I)=0.D0
  37. XNREB(I)=0.D0
  38. 30 CONTINUE
  39. *** sortie de programme s'il n'y a pas de face impermeable
  40. IF (IPT9.LE.0) RETURN
  41. *** recuperation dimensions des tableaux du maillage faces impermeables
  42. NBSOUS=IPT9.LISOUS(/1)
  43. NBNOEU=IPT9.NUM(/1)
  44. *** On a verifié plus haut que NBNOEU=1
  45. NBELE=IPT9.NUM(/2)
  46. *** Recherche du numero de la face JFACE dans le maillage general
  47. CALL MELNEL(IEL1,IELTFA,IPT2,NEL2,1)
  48. NF=IPT2.NUM(JFACE,IEL1-NEL2)
  49. *** boucle sur les elements du maillage faces impermeables
  50. DO 10 IELL2=1,NBELE
  51. NFI=IPT9.NUM(1,IELL2)
  52. IF(NF.EQ.NFI)THEN
  53. *** recuperation de la position reelle du pt face impermeable
  54. CALL DOXE(XCOOR,NDIM,NBNOEU,IPT9.NUM,IELL2,XIMP)
  55. *** recuperation n°face, intersection, normale si face imper
  56. CALL FACTR1(NDIM,PT1,PT2,PT3
  57. $ ,XIMP,XIMP,XN1,XN2,XN3,XINT,KTEST)
  58. JREBO=JFACE
  59. DO 20 I=1,NDIM
  60. XIREB(I)=XDEP2(I)
  61. XNREB(I)=XN1(I)
  62. 20 CONTINUE
  63. RETURN
  64. ENDIF
  65. 10 CONTINUE
  66. RETURN
  67. END
  68.  
  69.  
  70.  

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