Télécharger cotra3.eso

Retour à la liste

Numérotation des lignes :

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

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