Télécharger sigma.eso

Retour à la liste

Numérotation des lignes :

sigma
  1. C SIGMA SOURCE CB215821 23/01/25 21:15:34 11573
  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. IPCHE1=0
  55. IPCHE2=0
  56. IPCHA1=0
  57. IPCHA2=0
  58. C
  59. C LECTURE DES MOT-CLE
  60. C
  61. IDERI=0
  62. INOER=0
  63.  
  64. c option de calcul des deformations (par defaut lineaires)
  65. CALL LIRMOT(MODERI,NDERI,IDERI,0)
  66. IF(IDERI.EQ.0) IDERI=1
  67. IF(IDERI.GE.3) IDERI=IDERI-2
  68.  
  69. c 'NOER'
  70. CALL LIRMOT(MONOER,1,INOER,0)
  71. IF (IERR.NE.0) RETURN
  72. C
  73. C ON LIT UN CHAMP/POINT
  74. C
  75. CALL LIROBJ('CHPOINT ',ICHP1,1,IRT1)
  76. CALL ACTOBJ('CHPOINT ',ICHP1,1)
  77. IF(IERR.NE.0) RETURN
  78. C
  79. C LECTURE DU MODELE
  80. C
  81. CALL LIROBJ('MMODEL',IPMODL,1,IRT1)
  82. IF(IERR.NE.0) RETURN
  83. CALL ACTOBJ('MMODEL ',IPMODL,1)
  84. C
  85. C LECTURE DU 1ER MCHAML
  86. C
  87. CALL LIROBJ('MCHAML',IPCHA1,1,IRT1)
  88. IF(IERR.NE.0) RETURN
  89. * reduction du mchaml
  90. CALL ACTOBJ('MCHAML ',IPCHA1,1)
  91. call reduaf(ipcha1,ipmodl,ipcha10,0,ier,ker)
  92. if (ier.ne.1) call erreur(ker)
  93. ipcha1=ipcha10
  94. C
  95. C LECTURE DU 2EME MCHAML
  96. C
  97. CALL LIROBJ('MCHAML',IPCHA2,0,IRT1)
  98. if (irt1.ne.0) then
  99. * reduction du mchaml
  100. CALL ACTOBJ('MCHAML ',IPCHA2,1)
  101. call reduaf(ipcha2,ipmodl,ipcha20,0,ier,ker)
  102. if (ier.ne.1) call erreur(ker)
  103. ipcha2=ipcha20
  104. endif
  105. if (ierr.ne.0) return
  106. C
  107. CALL RNGCHA(IPCHA1,IPCHA2,'CARACTERISTIQUES',
  108. 1 'MATRICE DE HOOKE',IPCHE1,IPCHE2)
  109. IF(IERR.NE.0) RETURN
  110. IF (IPCHE2.EQ.0) THEN
  111. IMAT=1
  112. ELSE
  113. IMAT=2
  114. ENDIF
  115. C
  116. C CALCUL DES CONTRAINTES
  117. C
  118. segact mcoord
  119. CALL SIGMAP(IDERI,IPMODL,ICHP1,IPCHE1,IPCHE2,IMAT,IPSTRS,IRET,
  120. > inoer)
  121. segdes mcoord
  122. C
  123. C ECRITURE DU RESULTAT
  124. C
  125. IF(IRET.EQ.1) THEN
  126. CALL ACTOBJ('MCHAML ',IPSTRS,1)
  127. CALL ECROBJ('MCHAML ',IPSTRS)
  128. ENDIF
  129.  
  130. END
  131.  
  132.  

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