Télécharger sigma.eso

Retour à la liste

Numérotation des lignes :

sigma
  1. C SIGMA SOURCE BP208322 20/12/18 21:15:12 10821
  2. SUBROUTINE SIGMA
  3. *_______________________________________________________________________
  4. *
  5. * OPERATEUR DE CALCUL DES CONTRAINTES
  6. *
  7. * Syntaxe :
  8. * -------
  9. * SIG1=SIGMA |('LINE') MODL1 CAR1 (HOO1) CHP1 ;
  10. * | 'QUAD'
  11. * | 'I'
  12. * | 'II'
  13. * |'TRUE'
  14. * |'JAUM'
  15. * |'UTIL'
  16. *
  17. * Input :
  18. * -----
  19. * LINE, QUAD... : mots-cles indiquant que l'on veut
  20. * les termes quadratiques ou pas
  21. * MODL1 : modele de calcul
  22. * type MMODEL --> IPMODL
  23. * CAR1 : champ par element de materiau (CARACTERISTIQUE)
  24. * type MCHAML --> IPCHE1
  25. * HOO1 : champ par element de matrice de Hooke
  26. * type MCHAML --> IPCHE2
  27. * CHP1 : CHPOINT de deplacement
  28. * type CHPOINT --> ICHP1
  29. *
  30. * Output :
  31. * ------
  32. * SIG1 : champ par element de contraintes
  33. * type MCHAML --> IPSTRS
  34. *_______________________________________________________________________
  35.  
  36. IMPLICIT INTEGER(I-N)
  37. IMPLICIT REAL*8(A-H,O-Z)
  38.  
  39. -INC PPARAM
  40. -INC CCOPTIO
  41. -INC SMCOORD
  42. C
  43. PARAMETER(NDERI=7)
  44. CHARACTER*4 MODERI(NDERI)
  45. CHARACTER*4 MONOER(1)
  46. C
  47. DATA MODERI/'LINE','QUAD','I ','II ','TRUE','JAUM','UTIL'/
  48. c -> IDERI = 1 2 1 2 3 4 5
  49. c termes quad uniquement si IDERI=2
  50. DATA MONOER/'NOER'/
  51.  
  52. C-----------------------------------------------------------------------
  53.  
  54. segact mcoord
  55. IPCHE1=0
  56. IPCHE2=0
  57. IPCHA1=0
  58. IPCHA2=0
  59. C
  60. C LECTURE DES MOT-CLE
  61. C
  62. IDERI=0
  63. INOER=0
  64.  
  65. c option de calcul des deformations (par defaut lineaires)
  66. CALL LIRMOT(MODERI,NDERI,IDERI,0)
  67. IF(IDERI.EQ.0) IDERI=1
  68. IF(IDERI.GE.3) IDERI=IDERI-2
  69.  
  70. c 'NOER'
  71. CALL LIRMOT(MONOER,1,INOER,0)
  72. IF (IERR.NE.0) RETURN
  73. C
  74. C ON LIT UN CHAMP/POINT
  75. C
  76. CALL LIROBJ('CHPOINT ',ICHP1,1,IRT1)
  77. CALL ACTOBJ('CHPOINT ',ICHP1,1)
  78. IF(IERR.NE.0) RETURN
  79. C
  80. C LECTURE DU MODELE
  81. C
  82. CALL LIROBJ('MMODEL',IPMODL,1,IRT1)
  83. IF(IERR.NE.0) RETURN
  84. CALL ACTOBJ('MMODEL ',IPMODL,1)
  85. C
  86. C LECTURE DU 1ER MCHAML
  87. C
  88. CALL LIROBJ('MCHAML',IPCHA1,1,IRT1)
  89. IF(IERR.NE.0) RETURN
  90. * reduction du mchaml
  91. CALL ACTOBJ('MCHAML ',IPCHA1,1)
  92. call reduaf(ipcha1,ipmodl,ipcha10,0,ier,ker)
  93. if (ier.ne.1) call erreur(ker)
  94. ipcha1=ipcha10
  95. C
  96. C LECTURE DU 2EME MCHAML
  97. C
  98. CALL LIROBJ('MCHAML',IPCHA2,0,IRT1)
  99. if (irt1.ne.0) then
  100. * reduction du mchaml
  101. CALL ACTOBJ('MCHAML ',IPCHA2,1)
  102. call reduaf(ipcha2,ipmodl,ipcha20,0,ier,ker)
  103. if (ier.ne.1) call erreur(ker)
  104. ipcha2=ipcha20
  105. endif
  106. if (ierr.ne.0) return
  107. C
  108. CALL RNGCHA(IPCHA1,IPCHA2,'CARACTERISTIQUES',
  109. 1 'MATRICE DE HOOKE',IPCHE1,IPCHE2)
  110. IF(IERR.NE.0) RETURN
  111. IF (IPCHE2.EQ.0) THEN
  112. IMAT=1
  113. ELSE
  114. IMAT=2
  115. ENDIF
  116. C
  117. C CALCUL DES CONTRAINTES
  118. C
  119. CALL SIGMAP(IDERI,IPMODL,ICHP1,IPCHE1,IPCHE2,IMAT,IPSTRS,IRET,
  120. > inoer)
  121. C
  122. C ECRITURE DU RESULTAT
  123. C
  124. IF(IRET.EQ.1) THEN
  125. CALL ACTOBJ('MCHAML ',IPSTRS,1)
  126. CALL ECROBJ('MCHAML ',IPSTRS)
  127. ENDIF
  128.  
  129. END
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  

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