Télécharger sste.eso

Retour à la liste

Numérotation des lignes :

sste
  1. C SSTE SOURCE JB251061 23/05/10 21:15:17 11667
  2. SUBROUTINE SSTE
  3. *---------------------------------------------------------------------
  4. * ECOULEMENT INELASTIQUE
  5. *---------------------------------------------------------------------
  6. *
  7. * SYNTAXE POUR LES LOIS PLASTIQUES:
  8. *
  9. * SIGF VARF DEPIN RI1 = 'SUBSTEP' MODL SIG0 VAR0 DEPST CARAC
  10. * (PRECIS) (NMAXSSTEPS) (NITMAX)
  11. * (NNUMER) (DELTAX);
  12. * IN=
  13. * MMODEL | MODL OBJET MODELE
  14. * MCHAML | SIG0 CONTRAINTES AU DEBUT DU PAS
  15. * | VAR0 VARIABLES INTERNES AU DEBUT DU PAS
  16. * | DEPST INCREMENT DE DEFORMATIONS TOTALES
  17. * | CARAC CONSTANTES DU MATERIAU
  18. * FLOTTANT | PRECIS PRECISION POUR ITERATIONS INTERNES
  19. * INTEGER | NMAXSSTEPS Maximum number of substeps
  20. * INTEGER | NITMAX Maximum number of iterations
  21. * INTEGER | NNUMER Numerical differentiation type (MRSLade)
  22. * FLOTTANT | DELTAX Numerical differentiation parameter (MRSLade)
  23. *
  24. * OUT=
  25. * MCHAML | SIGF CONTRAINTES A LA FIN DU PAS
  26. * | VARF VARIABLES INTERNES A LA FIN DU PAS
  27. * | DEPIN INCREMENT DE DEFORMATIONS INELASTIQUES
  28. * | RI1 CONSISTENT TANGENT MATRIX
  29. *
  30. *---------------------------------------------------------------------
  31. IMPLICIT INTEGER(I-N)
  32. IMPLICIT REAL*8(A-H,O-Z)
  33.  
  34. -INC PPARAM
  35. -INC CCOPTIO
  36. -INC SMCHAML
  37. *
  38. * Lectura de datos
  39. *
  40. * modelo
  41. CALL LIROBJ('MMODEL ',IPMODL,1,IRT)
  42. CALL ACTOBJ('MMODEL ',IPMODL,1)
  43. IF (IERR.NE.0) RETURN
  44.  
  45. * tensiones iniciales
  46. CALL LIROBJ('MCHAML ',IPIN,1,IRT)
  47. CALL ACTOBJ('MCHAML ',IPIN,1)
  48. IF (IERR.NE.0) RETURN
  49. CALL REDUAF(IPIN,IPMODL,IPCHE1,0,IR,KER)
  50. IF(IR .NE. 1) CALL ERREUR(KER)
  51. IF(IERR .NE. 0) RETURN
  52.  
  53. MCHELM=IPCHE1
  54. SEGACT MCHELM
  55. c! Usa L1, N1, N3
  56. IF(MCHELM.TITCHE.NE.'CONTRAINTES')THEN
  57. MOTERR(1:32)='CONTRAINTES'
  58. CALL ERREUR(565)
  59. RETURN
  60. ENDIF
  61.  
  62. * variables internas iniciales
  63. CALL LIROBJ('MCHAML ',IPIN,1,IRT)
  64. CALL ACTOBJ('MCHAML ',IPIN,1)
  65. IF (IERR.NE.0) RETURN
  66. CALL REDUAF(IPIN,IPMODL,IPCHE2,0,IR,KER)
  67. IF(IR .NE. 1) CALL ERREUR(KER)
  68. IF(IERR .NE. 0) RETURN
  69.  
  70. MCHELM=IPCHE2
  71. SEGACT MCHELM
  72. IF(TITCHE.NE.'VARIABLES INTERNES')THEN
  73. MOTERR(1:32)='VARIABLES INTERNES'
  74. CALL ERREUR(565)
  75. RETURN
  76. ENDIF
  77.  
  78. * incremento de deformacion
  79. CALL LIROBJ('MCHAML ',IPIN,1,IRT)
  80. CALL ACTOBJ('MCHAML ',IPIN,1)
  81. IF (IERR.NE.0) RETURN
  82. CALL REDUAF(IPIN,IPMODL,IPCHE4,0,IR,KER)
  83. IF(IR .NE. 1) CALL ERREUR(KER)
  84. IF(IERR .NE. 0) RETURN
  85.  
  86. MCHELM=IPCHE4
  87. SEGACT MCHELM
  88. IF(TITCHE.NE.'DEFORMATIONS')THEN
  89. MOTERR(1:32)='DEFORMATIONS'
  90. CALL ERREUR(565)
  91. RETURN
  92. ENDIF
  93.  
  94. * caracteristicas materiales y geometricas
  95. CALL LIROBJ('MCHAML',IPIN,1,IRT)
  96. CALL ACTOBJ('MCHAML',IPIN,1)
  97. IF (IERR.NE.0) RETURN
  98. CALL REDUAF(IPIN,IPMODL,IPCAR,0,IR,KER)
  99. IF(IR .NE. 1) CALL ERREUR(KER)
  100. IF(IERR .NE. 0) RETURN
  101.  
  102. MCHELM=IPCAR
  103. SEGACT MCHELM
  104. IF(TITCHE.NE.'CARACTERISTIQUES')THEN
  105. MOTERR(1:32)='CARACTERISTIQUES'
  106. CALL ERREUR(565)
  107. RETURN
  108. ENDIF
  109.  
  110. * precision para iteraciones internas
  111. CALL LIRREE(PRECIS,0,IRT)
  112. IF(IRT.EQ.0) PRECIS=1.D-10
  113.  
  114. * num max de substeps
  115. CALL LIRENT(NMAXSSTEPS,0,IRT)
  116. IF (IRT.EQ.0) NMAXSSTEPS=1
  117.  
  118. * num max de iteraciones internas
  119. CALL LIRENT(NITMAX,0,IRT)
  120. IF (IRT.EQ.0) NITMAX=25
  121.  
  122. * tipo de derivacion numerica
  123. CALL LIRENT(NNUMER,0,IRT)
  124. IF (IRT.EQ.0) NNUMER=0
  125.  
  126. * delta de x relativo para las derivadas numericas
  127. CALL LIRREE(DELTAX,0,IRT)
  128. IF (IRT.EQ.0) DELTAX=0.D0
  129.  
  130. * comprovar que es def plana o axisimetrico
  131. IF ((IFOUR.gt.0).or.(IFOUR.lt.-1)) then
  132. write(*,*) ' Formulacion no disponible'
  133. return
  134. endif
  135.  
  136. CALL SSTE1(IPMODL,IPCHE1,IPCHE2,IPCHE4,IPCAR,
  137. . PRECIS,NITMAX,NMAXSSTEPS,NNUMER,DELTAX,
  138. . IPCHE7,IPCHE8,IPCHE9,IPRIGI)
  139.  
  140. IF(IERR.EQ.0)THEN
  141. CALL ACTOBJ('MCHAML ',IPCHE9,1)
  142. CALL ACTOBJ('MCHAML ',IPCHE8,1)
  143. CALL ACTOBJ('MCHAML ',IPCHE7,1)
  144. CALL ACTOBJ('RIGIDITE',IPRIGI,1)
  145.  
  146. CALL ECROBJ('MCHAML ',IPCHE9)
  147. CALL ECROBJ('MCHAML ',IPCHE8)
  148. CALL ECROBJ('MCHAML ',IPCHE7)
  149. CALL ECROBJ('RIGIDITE',IPRIGI)
  150. ENDIF
  151.  
  152. END
  153.  
  154.  
  155.  
  156.  
  157.  

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