Télécharger cotra3.eso

Retour à la liste

Numérotation des lignes :

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

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