Télécharger ksdec.eso

Retour à la liste

Numérotation des lignes :

ksdec
  1. C KSDEC SOURCE CB215821 25/04/22 21:15:11 12245
  2. SUBROUTINE KSDEC (DR,A,D,S,IES,NS,N,GG,SS)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. C
  6. C Calcul des facteurs de forme en 3D
  7. C Sp appele par KCREPA (decoupage des faces)
  8. C
  9. C DR : LONGUEUR DE REFERENCE POUR LE DECOUPAGE
  10. C A , D , S : SOMMETS, LONGUEURS DES COTES ORDONNES, SURFACES
  11. C N : NOMBRE DE SOUS-ELEMENTS
  12. C GG(IES,N) : CENTRE DE GRAVITE
  13. C SS(N) : SURFACE RAPPORTEE A LA SURFACE 'S' DE L'ELEMENT
  14. C
  15. DIMENSION A(IES,NS),D(NS),GG(IES,1),SS(1)
  16. DIMENSION X1(3),X2(3)
  17. C WRITE(6,*) ' KSDEC DR ',DR
  18. C WRITE(6,*) ' A1 ',A(1,1),A(2,1),A(3,1)
  19. C WRITE(6,*) ' A2 ',A(1,2),A(2,2),A(3,2)
  20. C WRITE(6,*) ' A3 ',A(1,3),A(2,3),A(3,3)
  21. AL = 1./2.
  22. N = 0
  23. DT=0.
  24. N3 = INT(D(3)/DR) + 1
  25. C WRITE(6,*) ' N3 ',N3
  26. DO 1 I=1,N3
  27. X = AL/N3 +(I-1.)/N3
  28. C WRITE(6,*) ' I X ',I,X
  29. DI=0.
  30. DO 11 K=1,IES
  31. X1(K)= A(K,3)*X +A(K,1)*(1.-X)
  32. X2(K)= A(K,3)*X +A(K,2)*(1.-X)
  33. C WRITE(6,*) 'M1 M2',X1(K),X2(K)
  34. DI = DI + (X1(K)-X2(K))*(X1(K)-X2(K))
  35. 11 CONTINUE
  36. DI=SQRT(DI)
  37. C WRITE(6,*) ' DI ',DI
  38. DT = DT + DI
  39.  
  40. NI = INT(DI/DR) + 1
  41. C WRITE(6,*) ' NI ',NI
  42. DO 2 J=1,NI
  43. N = N + 1
  44. C WRITE(6,*) ' N ',N
  45. Y = 1./2/NI +(J-1.)/NI
  46. DO 21 K=1,IES
  47. GG(K,N)=X1(K)*(1.-Y) + X2(K)*Y
  48. 21 CONTINUE
  49. SS(N)= DI/NI
  50. C WRITE(6,*) ' SS ',SS(N)
  51. 2 CONTINUE
  52.  
  53. 1 CONTINUE
  54.  
  55. DO 3 I=1,N
  56. SS(I)=SS(I)*S/DT
  57. 3 CONTINUE
  58. C WRITE(6,*) ' NB POINTS ',N
  59. C WRITE(6,*) ' SURFACES '
  60. RETURN
  61. END
  62.  
  63.  

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