Télécharger depen3.eso

Retour à la liste

Numérotation des lignes :

  1. C DEPEN3 SOURCE BP208322 16/11/18 21:16:21 9177
  2.  
  3. SUBROUTINE depen3 (iri2,iri1)
  4. c====================================================================
  5. c transformation d une matrice de relations en matrice de dependance
  6. C
  7. c entrees:
  8. c mrigid rigidité [C] de dependance cree par rela
  9. c sorties:
  10. C ri1 matrice de dependence
  11. C
  12. C on conserve dans irigel(8,irig) le pointeur sur la matrice accro
  13. C d origine
  14. C
  15. c====================================================================
  16. IMPLICIT INTEGER(I-N)
  17. IMPLICIT REAL*8(A-H,O-Z)
  18. -INC SMRIGID
  19. -INC SMELEME
  20. -INC SMCOORD
  21. -INC CCOPTIO
  22. -INC CCGEOME
  23. -INC CCHAMP
  24. -INC SMLMOTS
  25. C
  26. mrigid=iri2
  27. * write(6,*) ' entree dans depen3'
  28. * call prrigi(mrigid)
  29. SEGACT MRIGID
  30. C
  31. segini , ri1=mrigid
  32. iri1= ri1
  33. ri1.imgeo1=0
  34. ri1.imgeo2=0
  35. nrige = 8
  36. nrigel=irigel(/2)
  37. if( nrige.ne.ri1.irigel(/1)) segadj ri1
  38. idec=1
  39. irigg=0
  40. do 100 irig = 1,irigel(/2)
  41. C rectification des supports geometriques et matrices
  42. meleme = irigel(1,irig)
  43. xmatri = irigel(4,irig)
  44. segact ,meleme ,xmatri
  45. nbnn = num(/1)-idec
  46. if (nbnn.eq.0) then
  47. segdes meleme,xmatri
  48. goto 100
  49. endif
  50. irigg=irigg+1
  51. nbelem=num(/2)
  52. nelrig = nbelem
  53. nbsous=0
  54. nbref=0
  55. segini ,ipt1
  56. segini,xmatr1=xmatri
  57. ri1.irigel(1,irigg)=ipt1
  58. ri1.irigel(4,irigg)=xmatr1
  59. ri1.coerig(irigg)=1.d0
  60. C on stocke ds irigel de 8 le meleme avec supports de LX
  61. ri1.irigel(8,irigg)=meleme
  62. * superelement
  63. ipt1.itypel=28
  64. descr = irigel(3,irig)
  65. segact descr
  66. nligrp=lisinc(/2)-idec-1
  67. nligrd=2-idec
  68. segini des1
  69. nelrig=nbelem
  70. segadj xmatr1
  71. ri1.irigel(3,irigg) = des1
  72. do 110 iel=1,nbelem
  73. * xmatri=imattt(iel)
  74. * segact xmatri
  75. do 111 ip=1,nbnn
  76. ipt1.num(ip,iel)=num(ip+idec,iel)
  77. 111 continue
  78. * segini xmatr1
  79. * imatr1.imattt(iel) = xmatr1
  80. aa= re(1,2,iel)
  81. do 121 ic = 1,nligrp
  82. xmatr1.re(1,ic,iel)=(-re(1,ic+idec+1,iel)/aa)
  83. 121 continue
  84. 120 continue
  85. * segdes xmatri,xmatr1
  86. 110 continue
  87. do 130 il=1,nligrp
  88. des1.lisinc(il)= lisinc(il+idec+1)
  89. des1.noelep(il)= noelep(il+idec+1)-1
  90. 130 continue
  91. des1.lisdua(1)= lisinc(2)
  92. des1.noeled(1)= noelep(2)-1
  93. C write(6,*) ' depen3 irigel(8,irig) ' ,ri1.irigel(8,irig)
  94. segdes ipt1,meleme,xmatr1,descr,des1,xmatri
  95. 100 continue
  96. nrigel=irigg
  97. nrige=ri1.irigel(/1)
  98. segadj ri1
  99. segdes ri1,mrigid
  100. * call prrigi(ri1)
  101. RETURN
  102. END
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  

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