Télécharger dyn204.eso

Retour à la liste

Numérotation des lignes :

dyn204
  1. C DYN204 SOURCE BP208322 19/02/25 21:15:54 10120
  2. SUBROUTINE DYN204(I,ITLB,ITYP,KTLIAB,NPLB)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. *--------------------------------------------------------------------*
  6. * *
  7. * Op{rateur DYNE : algorithme de Fu - de Vogelaere *
  8. * ________________________________________________ *
  9. * *
  10. * Remplissage des tableaux de description des liaisons sur *
  11. * la base des informations contenues dans la table ILIB *
  12. * Liaison PROFIL_PROFIL_INTERIEUR *
  13. * Liaison PROFIL_PROFIL_EXTERIEUR *
  14. * *
  15. * Param}tres: *
  16. * *
  17. * e I Num{ro de la liaison. *
  18. * e ITLB Table rassemblant la description d'une liaison. *
  19. * e ITYP Type de la liaison. *
  20. * s KTLIAB Segment descriptif des liaisons sur base B. *
  21. * e NPLB Nombre total de points. *
  22. * *
  23. * *
  24. * Auteur, date de cr{ation: *
  25. * *
  26. * Lionel VIVAN, le 1 f{vrier 1991. *
  27. * *
  28. *--------------------------------------------------------------------*
  29.  
  30. -INC PPARAM
  31. -INC CCOPTIO
  32. -INC SMCOORD
  33. -INC SMELEME
  34. *
  35. SEGMENT MTLIAB
  36. INTEGER IPALB(NLIAB,NIPALB),IPLIB(NLIAB,NPLBB),JPLIB(NPLB)
  37. REAL*8 XPALB(NLIAB,NXPALB)
  38. REAL*8 XABSCI(NLIAB,NIP),XORDON(NLIAB,NIP)
  39. ENDSEGMENT
  40. *
  41. LOGICAL L1,L0
  42. CHARACTER*8 CHARRE
  43. *
  44. MTLIAB = KTLIAB
  45. NLIAB = XPALB(/1)
  46. *
  47. * --- choc {l{mentaire PROFIL_PROFIL_INTERIEUR
  48. * --- choc {l{mentaire PROFIL_PROFIL_EXTERIEUR
  49. *
  50. IF (ITYP.EQ.31 .OR. ITYP.EQ.32) THEN
  51. CALL ACCTAB(ITLB,'MOT',I0,X0,'PROFIL_FIXE',L0,IP0,
  52. & 'MAILLAGE',I1,X1,CHARRE,L1,IMA1)
  53. IF (IERR.NE.0) RETURN
  54. CALL ACCTAB(ITLB,'MOT',I0,X0,'PROFIL_MOBILE',L0,IP0,
  55. & 'MAILLAGE',I1,X1,CHARRE,L1,IMA2)
  56. IF (IERR.NE.0) RETURN
  57. CALL ACCTAB(ITLB,'MOT',I0,X0,'NORMALE',L0,IP0,
  58. & 'POINT',I1,X1,CHARRE,L1,INOR)
  59. IF (IERR.NE.0) RETURN
  60. CALL ACCTAB(ITLB,'MOT',I1,X0,'RAIDEUR',L0,IP0,
  61. & 'FLOTTANT',I0,XRAID,CHARRE,L1,IP1)
  62. IF (IERR.NE.0) RETURN
  63. CALL ACCTAB(ITLB,'MOT',I1,X0,'SUPPORT',L0,IP0,
  64. & 'POINT',I0,X1,CHARRE,L1,ISUP)
  65. IF (IERR.NE.0) RETURN
  66. CALL ACCTAB(ITLB,'MOT',I1,X0,'EXPOSANT_RAIDEUR',L0,IP0,
  67. & 'FLOTTANT',I0,XPUIS,CHARRE,L1,IP1)
  68. IF (IERR.NE.0) RETURN
  69. *
  70. IPALB(I,1) = ITYP
  71. IPALB(I,3) = IDIM
  72. XPALB(I,1) = XRAID
  73. XPALB(I,3) = XPUIS
  74. ID1 = 3
  75. IP1 = 5
  76. *
  77. * le maillage IMA1 est en {l{ment de type POI1
  78. MELEME = IMA1
  79. SEGACT MELEME
  80. NOMBN1 = NUM(/2)
  81. IPALB(I,4) = NOMBN1
  82. IDP = ID1 + 5*IDIM
  83. DO 12 IE = 1,NOMBN1
  84. IPT = NUM(1,IE)
  85. INPT = ( IDIM + 1 ) * ( IPT - 1 )
  86. DO 14 ID = 1,IDIM
  87. XPALB(I,IDP+ID) = XCOOR(INPT + ID)
  88. 14 CONTINUE
  89. * end do
  90. IDP = IDP + IDIM
  91. 12 CONTINUE
  92. * end do
  93. SEGDES MELEME
  94. *
  95. * le maillage IMA2 est en {l{ment de type POI1
  96. MELEME = IMA2
  97. SEGACT MELEME
  98. NOMBN2 = NUM(/2)
  99. IPALB(I,5) = NOMBN2
  100. DO 16 IE = 1,NOMBN2
  101. IPT = NUM(1,IE)
  102. INPT = ( IDIM + 1 ) * ( IPT - 1 )
  103. DO 18 ID = 1,IDIM
  104. XPALB(I,IDP+ID) = XCOOR(INPT + ID)
  105. 18 CONTINUE
  106. * end do
  107. IDP = IDP + IDIM
  108. 16 CONTINUE
  109. * end do
  110. SEGDES MELEME
  111. CALL PLACE2(JPLIB,NPLB,IPLAC,ISUP)
  112. IPLIB(I,1) = IPLAC
  113. *
  114. * cr{ation d'un rep}re orthonorm{ dans le plan des maillages
  115. * le point origine est le premier point de IMA1
  116. CALL DYNE28(INOR,ISUP,XPALB,NLIAB,I,ID1)
  117. IF (IERR.NE.0) RETURN
  118. *
  119. * coefficient des droites form{es par les {l{ments de IMA1
  120. CALL DYNE29(IPALB,XPALB,NLIAB,NOMBN1,NOMBN2,I,ID1,IP1)
  121. *
  122. * position initiale de IMA2 par rapport @ IMA1
  123. CALL DYNE30(IPALB,XPALB,NLIAB,NOMBN1,NOMBN2,I,ID1,IP1)
  124. *
  125. * calcul de la section du profil mobile
  126. CALL DYNE33(XPALB,IPALB,NLIAB,I,ID1,XSECT)
  127. XPALB(I,2) = XSECT
  128. *
  129. * --- choc {l{mentaire PROFIL_...
  130. *
  131. * ELSE IF (ITYP.EQ. ) THEN
  132. * ...
  133. * ...
  134. ENDIF
  135. *
  136. END
  137.  
  138.  
  139.  
  140.  

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