Télécharger medper.eso

Retour à la liste

Numérotation des lignes :

  1. C MEDPER SOURCE CB215821 19/03/18 21:15:35 10161
  2.  
  3. subroutine medper(ITYPEL, NBNN, IPERM)
  4.  
  5. implicit real*8(a-h,o-z)
  6. implicit integer (i-n)
  7.  
  8. C ----------------------------------------------------------------------
  9. C Rempli IPERM avec la permutation a appliquer (sauf NOEUD 1)
  10. C ----------------------------------------------------------------------
  11.  
  12. -INC CCOPTIO
  13. -INC CCGEOME
  14.  
  15. C Permutation des noeuds MED <-> Cast3M
  16. SEGMENT IPERM(NBNN-1)
  17.  
  18. C Définition du tableau des permutations
  19. dimension iper(80)
  20. data iper/3,5,2,4,6 ,3,5,7,2,4,6,8,
  21. & 3,5,7,13,15,17,19,2,4,6,8,14,16,18,20,9,10,11,12,
  22. & 3,5,10,12,14,2,4,6,11,13,15,7,8,9,
  23. & 3,5,10,2,4,6,7,8,9,
  24. & 3,5,2,4,6,7, 3,5,7,2,4,6,8,9,
  25. & 3,5,7,13,2,4,6,8,9,10,11,12/
  26.  
  27. IPERM = 0
  28.  
  29. C Cas des éléments de degré différent de 3
  30. if(kdegre(itypel).ne.3) return
  31.  
  32. ipo=-1
  33.  
  34. if (itypel.eq. 6) then
  35. C Cas des TRI6
  36. ipo=0
  37. elseif(itypel.eq.10) then
  38. C Cas des QUA8
  39. ipo=5
  40. elseif(itypel.eq.15) then
  41. C Cas des CU20
  42. ipo=12
  43. elseif(itypel.eq.17) then
  44. C Cas des PR15
  45. ipo=31
  46. elseif(itypel.eq.24) then
  47. C Cas des TE10
  48. ipo=45
  49. elseif(itypel.eq.7 ) then
  50. C Cas des TRI7
  51. ipo=54
  52. elseif(itypel.eq.11) then
  53. C Cas des QUA9
  54. ipo=60
  55. elseif(itypel.eq.26) then
  56. C Cas des PY13
  57. ipo=68
  58. endif
  59.  
  60. C Certains éléments n'ont pas besoin de modification de connectivité
  61. if(ipo.eq.-1) return
  62.  
  63. SEGINI,IPERM
  64. DO ia=1,NBNN-1
  65. IPERM(ia)=iper(ipo+ia)
  66. ENDDO
  67.  
  68. end
  69.  
  70.  

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