Télécharger kam1m2.eso

Retour à la liste

Numérotation des lignes :

  1. C KAM1M2 SOURCE CB215821 16/04/21 21:17:24 8920
  2. SUBROUTINE KAM1M2(R1,Z1,R2,Z2,RA,ZA,RB,ZB,R,Z,KM,KA)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. C----------------------------------------------------------------------
  6. C SP appele par KAINTE
  7. C calcul du point d intersection du segment obstructeur AB
  8. C (RA,ZA) (RB,ZB)
  9. C et du segment M1M2 (R1,Z1) (R2,Z2)
  10. C resultat:
  11. C R Z coordonnees du point
  12. C KM=1 si le point appartient au segment M1M2
  13. C si oui KA=1 si le point appartient au segment AB
  14. C----------------------------------------------------------------------
  15. C EMIN=1.D-5
  16. C EMIN1=-1.D-5
  17. C
  18. C 11/2010: on augmente la précision du calcul insuffisante si dr/r tres faible
  19. C
  20. EMIN=1.D-10
  21. EMIN1=-1.D-10
  22. KM=0
  23. KA=0
  24.  
  25. U1=Z1-Z2
  26. U2=R2-R1
  27. V1=ZA-ZB
  28. V2=RB-RA
  29.  
  30. PS=U1*V2-U2*V1
  31. IF(ABS(PS).GE.EMIN) THEN
  32. R=(U1*V2*R1-U2*V1*RA+ U2*V2*(Z1-ZA) )/PS
  33. Z=(U1*V2*ZA-U2*V1*Z1- U1*V1*(R1-RA) )/PS
  34. PS=(R-R1)*(R-R2)+(Z-Z1)*(Z-Z2)
  35. IF(PS.LT.EMIN1) THEN
  36. KM=1
  37.  
  38. PA=(R-RA)*(R-RB)+(Z-ZA)*(Z-ZB)
  39. IF(PA.LT.EMIN1) KA=1
  40.  
  41. ENDIF
  42. ENDIF
  43.  
  44. RETURN
  45. END
  46.  
  47.  
  48.  
  49.  
  50.  

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