Télécharger cotra3.eso

Retour à la liste

Numérotation des lignes :

  1. C COTRA3 SOURCE BP208322 17/03/01 21:16:39 9325
  2. SUBROUTINE COTRA3(KERRE,NSTRS,CMATE,WTRAV,N2EL,N2PTEL,
  3. 1 MFR,IFOU,IB,IGAU,EPAIST,MELE,NPINT,NBGMAT,
  4. 2 NBPGAU,NELMAT,SECT,LHOOK,CRIGI,NMATT,WRK0,WRK1)
  5. C
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8(A-H,O-Z)
  8. C
  9. -INC CCOPTIO
  10. -INC SMEVOLL
  11. -INC SMLREEL
  12. -INC SMCOORD
  13. ******************************************************************
  14. * RECUPERATION DES LOIS DE COMPORTEMENT POUR *
  15. * LES ELEMENTS GLOBAUX *
  16. ******************************************************************
  17. * ENTREES :
  18. * WRK0 SEGMENT DE TRAVAIL CONTENANT LES CARACTERISTIQUES
  19. * MATERIAUX
  20. * WRK1 SEGMENT DE TRAVAIL CONTENANT LES EFFORTS, LES DEPLACEMENTS
  21. * ET LA MATRICE DE HOOK
  22. * NMATT =NOMBRE DE COMPOSANTES DE PROPRIETES DE MATERIAU
  23. * WTRAV SEGMENT DE TRAVAIL CONTENANT LES TABLEAUX UTILISES POUR
  24. * LE CALCUL DE LA MATRICE DE HOOKE ELASTIQUE (SS-PROGRAMME CALSIG)
  25. *
  26. * N2EL = NBRE D ELEMENTS DANS SEGMENT DE HOOKE
  27. * N2PTEL= NBRE DE POINTS DANS SEGMENT DE HOOKE
  28. * MFR = NUMERO DE LA FORMULATION
  29. * IFOU = OPTION DE CALCUL
  30. * IB = NUMERO DE L ELEMENT COURANT
  31. * IGAU = NUMERO DU POINT COURANT
  32. * EPAIST= EPAISSEUR
  33. * NBPGAU= NBRE DE POINTS DE GAUSS
  34. * MELE = NUMERO DE L ELEMENT FINI
  35. * NPINT = NBRE DE POINTS D INTEGRATION
  36. * NBGMAT= NBRE DE POINTS DANS SEGMENT DE CARACTERISTIQUES
  37. * NELMAT= NBRE D ELEMENTS DANS SEGMENT DE CARACTERISTIQUES
  38. * SECT = SECTION
  39. * LHOOK = TAILLE DE LA MATRICE DE HOOKE
  40. *
  41. * SORTIES :
  42. * KERRE INDICATEUR D'ERREUR
  43. *
  44. * VARIABLES INTERNES CREES
  45. * INDLEG CODAGE DES LOIS CONTENUES DANS L'ELEMENT GLOBAL
  46. * WRKGL SEGMENT CONTENANT LES LOIS DE COMPORTEMENT RETENUES
  47. * (3 AU MAXIMUM)
  48. * IPWRKGL SEGMENTS DE POINTEURS SUR LES LOIS DE COMPORTEMENT
  49. *
  50. *****************************************************************
  51. *
  52. SEGMENT WRK0
  53. REAL*8 XMAT(NCXMAT)
  54. ENDSEGMENT
  55. *
  56. SEGMENT WRK1
  57. REAL*8 DDHOOK(LHOOK,LHOOK),SIG0(NSTRS),DEPST(NSTRS)
  58. REAL*8 SIGF(NSTRS),VAR0(NVARI),VARF(NVARI)
  59. REAL*8 DEFP(NSTRS),XCAR(ICARA)
  60. ENDSEGMENT
  61. *
  62. SEGMENT WRKGL
  63. REAL*8 TLOICO(NBLOI)
  64. ENDSEGMENT
  65. *
  66. SEGMENT IPWRKGL
  67. POINTEUR IPOL(3).WRKGL
  68. ENDSEGMENT
  69. *
  70. SEGMENT WTRAV
  71. REAL*8 DDAUX(LHOOK,LHOOK),VALMAT(NUMAT)
  72. REAL*8 VALCAR(NUCAR),DSIGT(NSTRS)
  73. REAL*8 TXR(IDIM,IDIM),DDHOMU(LHOOK,LHOOK)
  74. REAL*8 XLOC(3,3),XGLOB(3,3)
  75. REAL*8 D1HOOK(LHOOK,LHOOK),ROTHOO(LHOOK,LHOOK)
  76. ENDSEGMENT
  77. *
  78. DIMENSION CRIGI(*)
  79. *
  80. CHARACTER*8 CMATE
  81. *
  82. SEGINI IPWRKGL
  83. *
  84. * QUELQUES INITIALISATIONS A 0
  85. *
  86. KERRE=0
  87. INDLEG = 0
  88. NRLEGI = 0
  89. *
  90. * RECUPERATION DES LOIS
  91. *
  92. DO 50 IJ = 1,5
  93. IF(IJ.EQ.1)IJOJO = 7
  94. IF(IJ.EQ.2)IJOJO = 8
  95. IF(IJ.EQ.3)IJOJO = 9
  96. IF(IJ.EQ.4)IJOJO = 3
  97. IF(IJ.EQ.5)IJOJO = 4
  98. *
  99. * RECHERCHE DES POINTEURS NON NULS DE XMAT
  100. *
  101. IBOU = XMAT(IJOJO)
  102. IF(IBOU.EQ.0) GO TO 50
  103. *
  104. * CODAGE DES TYPES DE LOIS RENTREES
  105. *
  106. IF(IJ.EQ.1) INDLEG = 1
  107. *
  108. IF(IJ.EQ.2) INDLEG = INDLEG + 10
  109. *
  110. IF(IJ.EQ.3)THEN
  111. IF(INDLEG.LT.10)THEN
  112. INDLEG = INDLEG + 20
  113. ELSE
  114. MOTERR(5:12) = 'FLXYFLXZ'
  115. KERRE = 57
  116. END IF
  117. END IF
  118. *
  119. IF(IJ.EQ.4) INDLEG = INDLEG + 100
  120. *
  121. IF(IJ.EQ.5)THEN
  122. IF(INDLEG.LT.100)THEN
  123. INDLEG = INDLEG + 200
  124. ELSE
  125. MOTERR(5:12) = 'CISYCISZ'
  126. KERRE = 57
  127. END IF
  128. END IF
  129. *
  130. *RECUPERATION DES EVOLUTIONS RENTREES DANS MATE
  131. *
  132. MEVOLL=nint(XMAT(IJOJO))
  133. IF(MEVOLL.NE.0) THEN
  134. SEGACT MEVOLL
  135. JOJO = IEVOLL(/1)
  136. *
  137. IF(JOJO.NE.1)THEN
  138. KERRE=31
  139. SEGDES MEVOLL
  140. SEGSUP IPWRKGL
  141. RETURN
  142. END IF
  143. *
  144. KEVOLL=IEVOLL(1)
  145. SEGACT KEVOLL
  146. MLREEL=IPROGX
  147. MLREE1=IPROGY
  148. SEGDES KEVOLL
  149. SEGACT MLREEL,MLREE1
  150. NBPOIX=PROG(/1)
  151. NBPOIY=MLREE1.PROG(/1)
  152. *
  153. * TEST SUR LA TAILLE DES LOIS RENTREES
  154. *
  155. IF(NBPOIX.NE.NBPOIY) KERRE=58
  156. IF (IJ.EQ.1)THEN
  157. IF((NBPOIX.NE.4).and.(nbpoix.ne.6))KERRE=58
  158. ELSE
  159. IF((NBPOIX.NE.5).and.(nbpoix.ne.7))KERRE=58
  160. ENDIF
  161. *
  162. * RETRANSCRIPTION DES LOIS DE COMPORTEMENT DANS WRKGL
  163. *
  164. IF(KERRE.NE.0) THEN
  165. SEGDES MLREEL,MLREE1
  166. SEGDES MEVOLL
  167. GO TO 777
  168. END IF
  169. *
  170. NRLEGI = NRLEGI + 1
  171. NBLOI = 2 * NBPOIX
  172. SEGINI WRKGL
  173. IPOL(NRLEGI) = WRKGL
  174. DO 10 I=1,NBPOIX
  175. PEPS=PROG(I)
  176. PSIG=MLREE1.PROG(I)
  177. TLOICO((2*I)-1) = PSIG
  178. TLOICO(2*I) = PEPS
  179. 10 CONTINUE
  180. SEGDES MLREEL, MLREE1
  181. END IF
  182. 50 CONTINUE
  183. *
  184. IF(NRLEGI.EQ.0)THEN
  185. KERRE = 59
  186. RETURN
  187. END IF
  188. *
  189. SEGDES MEVOLL
  190. C
  191. 777 CONTINUE
  192. C
  193. C UTILISATION DES LOIS DE COMPORTEMENT
  194. C
  195. IF(KERRE.EQ.0) THEN
  196. CALL DDIS(NSTRS,CMATE,N2EL,N2PTEL,WTRAV,MFR,IFOU,IB,
  197. 1 IGAU,EPAIST,MELE,NPINT,NBPGAU,NBGMAT,NELMAT,SECT,LHOOK,
  198. 2 CRIGI,NMATT,INDLEG,IPWRKGL,WRKGL,WRK0,WRK1,KERRE)
  199. C
  200. C DESACTIVATION DES SEGMENTS TEMPORAIRES WRKGL ET IPWRKGL
  201. C
  202. DO 800 I=1,NRLEGI
  203. SEGSUP IPOL(I)
  204. 800 CONTINUE
  205. ENDIF
  206. C
  207. SEGSUP IPWRKGL
  208. C
  209. RETURN
  210.  
  211. END
  212.  
  213.  
  214.  
  215.  

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