Télécharger manuel.eso

Retour à la liste

Numérotation des lignes :

manuel
  1. C MANUEL SOURCE OF166741 23/06/30 21:15:06 11696
  2. SUBROUTINE MANUEL
  3. C
  4. C FABRICATION MANUELLE D OBJETS DIVERS ET VARIES
  5. C DE TYPE ELEMENT,CHAMPOIN,SOLUTION, RIGIDITE, CHAMELEM
  6. C
  7. IMPLICIT INTEGER(I-N)
  8. IMPLICIT REAL*8(A-H,O-Z)
  9.  
  10. -INC PPARAM
  11. -INC CCOPTIO
  12. -INC CCGEOME
  13.  
  14. -INC SMELEME
  15. SEGMENT MTRT
  16. INTEGER MTT(NTT)
  17. ENDSEGMENT
  18.  
  19. PARAMETER (LMOOPT=6)
  20. CHARACTER*4 MOOPT(LMOOPT)
  21. DATA MOOPT/'CHPO','MODE','RIGI','CHAM','CHML','OBJE'/
  22.  
  23. CALL LIRMOT(NOMS,NOMBR,I,0)
  24. IF (I.NE.0) GOTO 2
  25.  
  26. CALL LIRMOT(MOOPT,LMOOPT,IMOT,1)
  27. IF (IERR.NE.0) RETURN
  28. GO TO (100,200,300,500,600,700),IMOT
  29. CALL ERREUR(21)
  30. RETURN
  31.  
  32. 100 CALL MANUCH
  33. GO TO 30
  34. 200 CALL MANUMO
  35. GO TO 30
  36. 300 CALL MANURI
  37. GO TO 30
  38. 500 CALL MAMANU
  39. GO TO 30
  40. 600 CALL MANUC5
  41. GO TO 30
  42. 700 CALL MANUOB
  43. GO TO 30
  44. c
  45. c==== Cas des Objets MAILLAGES ====================================
  46. 2 CONTINUE
  47. ITYP=I
  48. CALL LIRMOT(NCOUL,NBCOUL,ICOUL,0)
  49. IF (ICOUL.EQ.0) ICOUL=IDCOUL+1
  50. ICOUL=ICOUL-1
  51. NBSOUS=0
  52. NBREF=0
  53. NBELEM=1
  54. c---- SUPERELEMENT ---------------
  55. IF(NOMS(ITYP).EQ.'SUPE') THEN
  56. CALL LIROBJ('MAILLAGE',IPT1,0,IRETOU)
  57. IF (IRETOU.EQ.0) GO TO 25
  58. SEGACT IPT1
  59. IF(IPT1.ITYPEL.NE.1) THEN
  60. CALL CHANGE (IPT1,1)
  61. IF (IERR.NE.0) RETURN
  62. SEGACT IPT1
  63. ENDIF
  64. NBNN = IPT1.NUM(/2)
  65. SEGINI MELEME
  66. ICOLOR(1)=ICOUL
  67. ITYPEL=ITYP
  68. DO I=1,NBNN
  69. NUM(I,1)=IPT1.NUM(1,I)
  70. ENDDO
  71. GO TO 11
  72. 25 NTT=50
  73. SEGINI MTRT
  74. NBNN=0
  75. 28 CONTINUE
  76. CALL LIROBJ('POINT ',IP,0,IRETOU)
  77. IF(IRETOU.EQ.0)GO TO 29
  78. NBNN=NBNN + 1
  79. IF(NBNN.GT.NTT) THEN
  80. NTT=NTT+50
  81. SEGADJ MTRT
  82. ENDIF
  83. MTT(NBNN) = IP
  84. GO TO 28
  85. 29 CONTINUE
  86. SEGINI MELEME
  87. ICOLOR(1)=ICOUL
  88. ITYPEL=ITYP
  89. DO I=1,NBNN
  90. NUM(I,1)=MTT(I)
  91. ENDDO
  92. SEGSUP MTRT
  93. c---- AUTRE TYPE D'ELEMENTS ---------------
  94. ELSE
  95. NBNN=NBNNE(ITYP)
  96. c dans le cas POLYgone et MULtiplicateur le nbre de noeuds par
  97. c element est indefini d'ou la lecture facultative des points
  98. IF (NOMS(ITYP).EQ.'POLY') THEN
  99. NBNN = 14
  100. IDOBL = 0
  101. ELSE IF (NOMS(ITYP).EQ.'MULT') THEN
  102. NBNN = 9999
  103. IDOBL = 0
  104. ELSE
  105. IDOBL = 1
  106. ENDIF
  107. SEGINI MELEME
  108. ICOLOR(1)=ICOUL
  109. ITYPEL=ITYP
  110. C SG On ajoute la possibilite de generer un element a partir
  111. C des premiers points d'un maillage de 'POI1'
  112. CALL LIROBJ('MAILLAGE',IPT1,0,IRETOU)
  113. IF (IERR.NE.0) RETURN
  114. IF (IRETOU.NE.0) THEN
  115. SEGACT IPT1
  116. IF(IPT1.ITYPEL.NE.1) THEN
  117. CALL CHANGE(IPT1,1)
  118. IF (IERR.NE.0) RETURN
  119. SEGACT IPT1
  120. ENDIF
  121. NBNN1=IPT1.NUM(/2)
  122. IF (NBNN1.EQ.0) THEN
  123. NBELEM=0
  124. SEGADJ MELEME
  125. GOTO 11
  126. ENDIF
  127. IF (IDOBL.EQ.0) NBNN=NBNN1
  128. SEGINI MELEME
  129. ICOLOR(1)=ICOUL
  130. ITYPEL=ITYP
  131. DO I=1,NBNN
  132. NUM(I,1)=IPT1.NUM(1,(MOD(I-1,NBNN1))+1)
  133. ENDDO
  134. ELSE
  135. DO I=1,NBNN
  136. c on donne ici la possibilite de creer un meleme avec 0 element
  137. IF(I.EQ.1) THEN
  138. CALL LIROBJ('POINT ',IP,0,IRETOU)
  139. ELSE
  140. CALL LIROBJ('POINT ',IP,IDOBL,IRETOU)
  141. ENDIF
  142. IF (IRETOU.NE.1) THEN
  143. IF (I.EQ.1) THEN
  144. NBELEM = 0
  145. SEGADJ MELEME
  146. if(iimpi.ge.1) write(ioimp,*
  147. $ )'MAILLAGE DE 0 ELEMENT CREE'
  148. ENDIF
  149. IF (IDOBL.EQ.0) THEN
  150. C CAS DU POLYGONE ou du MULT
  151. NBNN = I-1
  152. SEGADJ MELEME
  153. ENDIF
  154. GOTO 11
  155. ENDIF
  156. NUM(I,1)=IP
  157. ENDDO
  158. ENDIF
  159. ENDIF
  160. 11 CONTINUE
  161. IF (IERR.NE.0) THEN
  162. SEGSUP MELEME
  163. ELSE
  164. CALL ECROBJ('MAILLAGE',MELEME)
  165. SEGDES MELEME
  166. ENDIF
  167.  
  168. 30 CONTINUE
  169. c RETURN
  170. END
  171.  
  172.  
  173.  

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