Télécharger epsi.eso

Retour à la liste

Numérotation des lignes :

  1. C EPSI SOURCE CB215821 15/02/13 21:15:03 8401
  2. SUBROUTINE EPSI
  3. C_______________________________________________________________________
  4. C
  5. C OPERATEUR DEFORMATIONS
  6. C
  7. C ESP=EPSI ( II ) MODL1 ( CAR1 ) (MAT1) CHP1 ;
  8. C
  9. C OU
  10. C
  11. C ESP = EPSI MODL1 GRAD2 ( CAR1 ) | ('GEOM') | ;
  12. C | 'DEPL' |
  13. C
  14. C II MOT CLE INDIQUANT QUE L ON VEUT EPS2
  15. C MODL1 MODELE DE CALCUL, TYPE MMODEL
  16. C CAR1 CHAMP PAR ELEMENT DE CARACTERISTIQUE, TYPE MCHAML
  17. C CHP1 CHPOINT DE DEPLACEMENT
  18. C MAT1 CHAMP PAR ELEMENT DE MATERIAU OU DE HOOKE (FACULTATIF)
  19. C GEOM/DEPL MOT CLE INDIQUANT QUE GRAD2 EST UN GRADIENT DE
  20. C TRANSFORMATION/DEPLACEMENT
  21. C
  22. C 20/3/12 mot cle noer indiquant qu'on nen sort pas si erreur. On rend alors
  23. C un entier qui vaut le numero de l'erreur
  24.  
  25. C-----------------------------------------------------------------------
  26.  
  27. IMPLICIT INTEGER(I-N)
  28. IMPLICIT REAL*8(A-H,O-Z)
  29.  
  30. -INC CCOPTIO
  31. -INC SMCHAML
  32.  
  33. CHARACTER*4 MOEPS2(5)
  34.  
  35. DATA MOEPS2 / 'II ','GEOM','DEPL','LINE','NOER'/
  36.  
  37. C IPMODEL MODELE MMODEL
  38. C IPCHP1 CHAMPOINT DEPLACEMENTS
  39. C IPCHA1 CHAMELEM CARACTERISTIQUE
  40. C IPEPSI CHAMELEM DEFORMATIONS
  41.  
  42. kerr=0
  43. IPCHE1=0
  44. IPCHA1=0
  45. IPCHE2=0
  46. IPCHA2=0
  47. C
  48. C LECTURE D'UN MOT-CLE SI NECESSAIRE
  49. C
  50. ireps2=0
  51. CALL LIRMOT(MOEPS2,5,IREPS2,0)
  52. ireps3=0
  53. CALL LIRMOT(MOEPS2,5,IREPS3,0)
  54. IF (IERR.NE.0) GOTO 666
  55. noer=0
  56. if (ireps2.eq.5) then
  57. noer=1
  58. ireps2=ireps3
  59. endif
  60. if (ireps3.eq.5) then
  61. noer=1
  62. endif
  63. C
  64. C LECTURE DU MODELE
  65. C
  66. CALL LIROBJ('MMODEL',IPMODL,1,IRT1)
  67. IF (IERR.NE.0) GOTO 666
  68. C
  69. C ON LIT UN CHAMP/POINT
  70. C
  71. CALL LIROBJ('CHPOINT ',ICHP1,0,IRT1)
  72. IF (IRT1.NE.0) THEN
  73. C
  74. C ON LIT UN 2eme CHAMP/POINT qui est le deplacement pour avoir la
  75. C configuratyion courante
  76. C
  77. ichp2=0
  78. CALL LIROBJ('CHPOINT ',ICHP2,0,IRT1)
  79. C
  80. C ON LIT UN 1 ER CHAMP/ELEMENT (FACULTATIF )
  81. C
  82. CALL LIROBJ ('MCHAML',IPCHA1,0,IRT1)
  83. IF (Ierr.NE.0) GOTO 666
  84. if (ipcha1.ne.0) then
  85. call reduaf(ipcha1,ipmodl,ipcha,0,iret,kerr)
  86. if (iret.ne.1) call erreur(kerr)
  87. if (ierr.ne.0) return
  88. ipcha1=ipcha
  89. endif
  90. C
  91. C ON LIT UN 2 IEME CHAMP/ELEMENT (FACULTATIF )
  92. C
  93. CALL LIROBJ ('MCHAML',IPCHA2,0,IRT2)
  94. IF (IERR.NE.0) GOTO 666
  95. if (ipcha2.ne.0) then
  96. call reduaf(ipcha2,ipmodl,ipcha,0,iret,kerr)
  97. if (iret.ne.1) call erreur(kerr)
  98. if (ierr.ne.0) return
  99. ipcha2=ipcha
  100. endif
  101. C
  102. IF(IPCHA1.NE.0.OR.IPCHA2.NE.0)THEN
  103. CALL RNGCHA(IPCHA1,IPCHA2,'CARACTERISTIQUES',
  104. & 'MATRICE DE HOOKE',IPCHE1,IPCHE2)
  105. IF(IERR.NE.0) GOTO 666
  106. IF (IPCHE2.EQ.0)THEN
  107. IMAT=1
  108. ELSE
  109. IMAT=2
  110. ENDIF
  111. ELSE
  112. IMAT=0
  113. IPCHE1=0
  114. IPCHE2=0
  115. ENDIF
  116. C
  117. C CALCUL DES DEFORMATIONS USUELLES
  118. C
  119. CALL EPSI1(IREPS2,IPMODL,ICHP1,IPCHE1,IPCHE2,IMAT,
  120. & IPEPSI,IRET,ichp2,noer,kerr)
  121. C
  122. ELSE
  123. C
  124. C GRADIENT GEOMETRIE OU DEPLACEMENT ?
  125. C
  126. IMIL=0
  127. IF (IREPS2.EQ.3) IMIL=1
  128. C
  129. C ON LIT UN CHAMP/ELEMENT DE GRADIENTS
  130. C
  131. CALL LIROBJ ('MCHAML',IPCHA1,1,IRT1)
  132. IF (IERR.NE.0) GOTO 666
  133. C
  134. C ON LIT UN 2 IEME CHAMP/ELEMENT (CARACTERISTIQUES-FACULTATIF)
  135. C
  136. CALL LIROBJ ('MCHAML',IPCHA2,0,IRT2)
  137. IF (IERR.NE.0) GOTO 666
  138. C
  139. IF (IPCHA1.NE.0.OR.IPCHA2.NE.0) THEN
  140. CALL RNGCHA(IPCHA1,IPCHA2,'GRADIENT',
  141. & 'CARACTERISTIQUES',IPCHE1,IPCHE2)
  142. C* Actuellement IPCHE2 n'est pas utilise. Seul IPCHE1 est verifie.
  143. C* IF (IPCHE1.EQ.0.OR.IPCHE2.EQ.0) THEN
  144. IF (IPCHE1.EQ.0) THEN
  145. MOTERR(1:8)='MCHAML'
  146. MOTERR(9:16)='GRADIENT'
  147. MOTERR(17:24)='CARACTERI'
  148. CALL ERREUR(141)
  149. ENDIF
  150. IF (IERR.NE.0) GOTO 666
  151. ENDIF
  152. C
  153. C CALCUL DES DEFORMATIONS LOGARITHMIQUES
  154. C
  155. CALL EPSLN1(IPMODL,IPCHE1,IPCHE2,IPEPSI,IMIL)
  156. IF (IERR.NE.0) GOTO 666
  157. IRET=1
  158. C
  159. ENDIF
  160. C
  161. C ECRITURE DU MCHAML DE DEFORMATIONS RESULTAT
  162. C
  163. IF (IRET.EQ.1.and.kerr.eq.0) call ecrOBJ ('MCHAML',IPEPSI)
  164. if (kerr.ne.0) call ecrent(kerr)
  165.  
  166. 666 CONTINUE
  167. RETURN
  168. END
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  

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