Télécharger depen3.eso

Retour à la liste

Numérotation des lignes :

  1. C DEPEN3 SOURCE PV 17/11/21 21:15:02 9629
  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.irigel(7,irigg)=2
  60. ri1.coerig(irigg)=1.d0
  61. C on stocke ds irigel de 8 le meleme avec supports de LX
  62. ri1.irigel(8,irigg)=meleme
  63. * superelement
  64. ipt1.itypel=28
  65. descr = irigel(3,irig)
  66. segact descr
  67. nligrp=lisinc(/2)-idec-1
  68. nligrd=2-idec
  69. segini des1
  70. nelrig=nbelem
  71. segadj xmatr1
  72. ri1.irigel(3,irigg) = des1
  73. do 110 iel=1,nbelem
  74. * xmatri=imattt(iel)
  75. * segact xmatri
  76. do 111 ip=1,nbnn
  77. ipt1.num(ip,iel)=num(ip+idec,iel)
  78. 111 continue
  79. * segini xmatr1
  80. * imatr1.imattt(iel) = xmatr1
  81. aa= re(1,2,iel)
  82. do 121 ic = 1,nligrp
  83. xmatr1.re(1,ic,iel)=(-re(1,ic+idec+1,iel)/aa)
  84. 121 continue
  85. 120 continue
  86. * segdes xmatri,xmatr1
  87. 110 continue
  88. do 130 il=1,nligrp
  89. des1.lisinc(il)= lisinc(il+idec+1)
  90. des1.noelep(il)= noelep(il+idec+1)-1
  91. 130 continue
  92. des1.lisdua(1)= lisinc(2)
  93. des1.noeled(1)= noelep(2)-1
  94. C write(6,*) ' depen3 irigel(8,irig) ' ,ri1.irigel(8,irig)
  95. segdes ipt1,meleme,xmatr1,descr,des1,xmatri
  96. 100 continue
  97. nrigel=irigg
  98. nrige=ri1.irigel(/1)
  99. segadj ri1
  100. segdes ri1,mrigid
  101. * call prrigi(ri1,1)
  102. RETURN
  103. END
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  

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