1 : C RAYE0 SOURCE CHAT 12/06/07 21:15:54 7389 2 : SUBROUTINE RAYE0(MODL, INFOEL) 3 : 4 : 5 : C ********************************************************** 6 : C **** SUBROUTINE DE LECTURE DE LA STRUCTURE COQ DU **** 7 : C **** DOMAINE **** 8 : C **** **** 9 : C **** En entree : MODL modele sur lequel s'appuie le **** 10 : C **** calcul. **** 11 : C **** En sortie : INFOEL segment qui contient la **** 12 : C **** structure COQue ou QUAdratique **** 13 : C **** de la zone etudiee. **** 14 : C **** **** 15 : C ********************************************************** 16 : 17 : IMPLICIT INTEGER(I-N) 18 : IMPLICIT REAL*8 (A-H,O-Z) 19 : 20 : C ********************************************************** 21 : C **** Entree des includes **** 22 : C ********************************************************** 23 : 24 : -INC CCOPTIO 25 : -INC SMMODEL 26 : 27 : C ********************************************************** 28 : C **** Declaration des variables du probleme **** 29 : C ********************************************************** 30 : 31 : SEGMENT ,INFOEL 32 : LOGICAL KCOQ(N1),KQUAD(N1) 33 : ENDSEGMENT 34 : 35 : POINTEUR MODL.MMODEL 36 : 37 : C ********************************************************** 38 : 39 : SEGACT MODL 40 : N1 = MODL.KMODEL(/1) 41 : SEGINI INFOEL 42 : 43 : DO 10 ITYP = 1, N1 44 : 45 : IMODEL = MODL.KMODEL(ITYP) 46 : SEGACT IMODEL 47 : 48 : IF (FORMOD(1).NE.'THERMIQUE'.and. 49 : $ matmod(2).ne.'RAYONNEMENT') THEN 49 : CALL ERREUR(21) 50 : RETURN 51 : ENDIF 52 : 53 : C **** On va regarder quelle est la nature de l'élément**** 54 : 55 : IF (IDIM.EQ.3) THEN 56 : 57 : IF ((NEFMOD.EQ.4).OR.(NEFMOD.EQ.8)) THEN 58 : C TRI3 ou QUA4 59 : KQUAD(ITYP)=.FALSE. 60 : KCOQ(ITYP) =.FALSE. 61 : ELSEIF ((NEFMOD.EQ.27).OR.(NEFMOD.EQ.49)) THEN 62 : C COQ3 ou COQ4 63 : KQUAD(ITYP)=.FALSE. 64 : KCOQ(ITYP) =.TRUE. 65 : ELSEIF ((NEFMOD.EQ.6).OR.(NEFMOD.EQ.10)) THEN 66 : C TRI6 ou QUA8 67 : KQUAD(ITYP)=.TRUE. 68 : KCOQ(ITYP) =.FALSE. 69 : ELSEIF ((NEFMOD.EQ.56).OR.(NEFMOD.EQ.41)) THEN 70 : C COQ6 ou COQ8 71 : KQUAD(ITYP)=.TRUE. 72 : KCOQ(ITYP) =.TRUE. 73 : ELSE 73 : CALL ERREUR(16) 74 : RETURN 75 : ENDIF 76 : 77 : ELSEIF (IDIM.EQ.2) THEN 78 : 79 : IF (NEFMOD.EQ.2) THEN 80 : C SEG2 81 : KQUAD(ITYP)=.FALSE. 82 : KCOQ(ITYP) =.FALSE. 83 : ELSEIF (NEFMOD.EQ.44) THEN 84 : C COQ2 85 : KQUAD(ITYP)=.FALSE. 86 : KCOQ(ITYP) =.TRUE. 87 : ELSEIF (NEFMOD.EQ.3) THEN 88 : C SEG3 89 : KQUAD(ITYP)=.TRUE. 90 : KCOQ(ITYP) =.FALSE. 91 : ELSE 91 : CALL ERREUR(16) 92 : RETURN 93 : ENDIF 94 : 95 : ELSE 95 : CALL ERREUR(14) 96 : RETURN 97 : ENDIF 98 : 99 : SEGDES IMODEL 100 : 101 : 10 CONTINUE 102 : 103 : SEGDES INFOEL 104 : SEGDES MODL 105 : 106 : RETURN 107 : END 108 : 109 : 110 : 111 : 112 : 113 : 114 : 115 :
© Cast3M 2003 - All rights reserved.
Disclaimer