Télécharger epsi.eso

Retour à la liste

Numérotation des lignes :

  1. C EPSI SOURCE PV 19/01/17 21:15:07 10078
  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. CALL ACTOBJ('MMODEL ',IPMODL,1)
  69. C
  70. C ON LIT UN CHAMP/POINT
  71. C
  72. CALL LIROBJ('CHPOINT ',ICHP1,0,IRT1)
  73. IF (IRT1.NE.0) THEN
  74. C
  75. C ON LIT UN 2eme CHAMP/POINT qui est le deplacement pour avoir la
  76. C configuratyion courante
  77. C
  78. ichp2=0
  79. CALL LIROBJ('CHPOINT ',ICHP2,0,IRT1)
  80. C
  81. C ON LIT UN 1 ER CHAMP/ELEMENT (FACULTATIF )
  82. C
  83. CALL LIROBJ ('MCHAML',IPCHA1,0,IRT1)
  84. IF (Ierr.NE.0) GOTO 666
  85. if (ipcha1.ne.0) then
  86. CALL ACTOBJ('MCHAML ',IPCHA1,1)
  87. call reduaf(ipcha1,ipmodl,ipcha,0,iret,kerr)
  88. if (iret.ne.1) call erreur(kerr)
  89. if (ierr.ne.0) return
  90. ipcha1=ipcha
  91. endif
  92. C
  93. C ON LIT UN 2 IEME CHAMP/ELEMENT (FACULTATIF )
  94. C
  95. CALL LIROBJ ('MCHAML',IPCHA2,0,IRT2)
  96. IF (IERR.NE.0) GOTO 666
  97. if (ipcha2.ne.0) then
  98. CALL ACTOBJ('MCHAML ',IPCHA2,1)
  99. call reduaf(ipcha2,ipmodl,ipcha,0,iret,kerr)
  100. if (iret.ne.1) call erreur(kerr)
  101. if (ierr.ne.0) return
  102. ipcha2=ipcha
  103. endif
  104. C
  105. IF(IPCHA1.NE.0.OR.IPCHA2.NE.0)THEN
  106. CALL RNGCHA(IPCHA1,IPCHA2,'CARACTERISTIQUES',
  107. & 'MATRICE DE HOOKE',IPCHE1,IPCHE2)
  108. IF(IERR.NE.0) GOTO 666
  109. IF (IPCHE2.EQ.0)THEN
  110. IMAT=1
  111. ELSE
  112. IMAT=2
  113. ENDIF
  114. ELSE
  115. IMAT=0
  116. IPCHE1=0
  117. IPCHE2=0
  118. ENDIF
  119. C
  120. C CALCUL DES DEFORMATIONS USUELLES
  121. C
  122. CALL EPSI1(IREPS2,IPMODL,ICHP1,IPCHE1,IPCHE2,IMAT,
  123. & IPEPSI,IRET,ichp2,noer,kerr)
  124. C
  125. ELSE
  126. C
  127. C GRADIENT GEOMETRIE OU DEPLACEMENT ?
  128. C
  129. IMIL=0
  130. IF (IREPS2.EQ.3) IMIL=1
  131. C
  132. C ON LIT UN CHAMP/ELEMENT DE GRADIENTS
  133. C
  134. CALL LIROBJ ('MCHAML',IPCHA1,1,IRT1)
  135. IF (IERR.NE.0) GOTO 666
  136. C
  137. C ON LIT UN 2 IEME CHAMP/ELEMENT (CARACTERISTIQUES-FACULTATIF)
  138. C
  139. CALL LIROBJ ('MCHAML',IPCHA2,0,IRT2)
  140. IF (IERR.NE.0) GOTO 666
  141. C
  142. IF (IPCHA1.NE.0.OR.IPCHA2.NE.0) THEN
  143. CALL RNGCHA(IPCHA1,IPCHA2,'GRADIENT',
  144. & 'CARACTERISTIQUES',IPCHE1,IPCHE2)
  145. C* Actuellement IPCHE2 n'est pas utilise. Seul IPCHE1 est verifie.
  146. C* IF (IPCHE1.EQ.0.OR.IPCHE2.EQ.0) THEN
  147. IF (IPCHE1.EQ.0) THEN
  148. MOTERR(1:8)='MCHAML'
  149. MOTERR(9:16)='GRADIENT'
  150. MOTERR(17:24)='CARACTERI'
  151. CALL ERREUR(141)
  152. ENDIF
  153. IF (IERR.NE.0) GOTO 666
  154. ENDIF
  155. C
  156. C CALCUL DES DEFORMATIONS LOGARITHMIQUES
  157. C
  158. CALL EPSLN1(IPMODL,IPCHE1,IPCHE2,IPEPSI,IMIL)
  159. IF (IERR.NE.0) GOTO 666
  160. IRET=1
  161. C
  162. ENDIF
  163. C
  164. C ECRITURE DU MCHAML DE DEFORMATIONS RESULTAT
  165. C
  166. IF (IRET.EQ.1.and.kerr.eq.0) THEN
  167. CALL ACTOBJ('MCHAML ',IPEPSI,1)
  168. call ecrOBJ('MCHAML ',IPEPSI)
  169. ENDIF
  170. if (kerr.ne.0) then
  171. call ecrent(kerr)
  172. call soucis(kerr)
  173. endif
  174. 666 CONTINUE
  175. RETURN
  176. END
  177.  
  178.  
  179.  
  180.  

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