1 : C FPCOQ8 SOURCE FANDEUR 10/08/31 21:17:03 6734 2 : SUBROUTINE FPCOQ8(IPTVPR,IPMAIL,IPTINT,IVACAR,IPTNOE,IVAFOR) 3 : *______________________________________________________________________ 4 : * 5 : * CALCULE LES FORCES DE PRESSION AUX NOEUDS DES COQUES COQ8 ,COQ6 6 : * 7 : * 8 : * ENTREES : 9 : * --------- 10 : * 11 : * IPTVPR POINTEUR SUR LE CHAMELEM DES PRESSIONS (actif) 12 : * IPMAIL POINTEUR LE MAILLAGE (actif) 13 : * IPTINT POINTEUR SUR LE CHAMELEM DE L'INTEGRATION 14 : * (SEGMENT ACTIF EN ENTREE, NON MODIFIE EN SORTIE) 15 : * IVACAR POINTEUR SUR UN SEGMENT MPTVAL CONCERNANT LES CARA- 16 : * CTERISTIQUES (EPAISSEUR AUX NOEUDS) 17 : * IPTNOE POINTEUR SUR L'ALIAS DU CHAMELEM D'INTEGRATION CONTENANT 18 : * LES FONCTIONS DE FORME AUX NOEUDS 19 : * IVAFOR POINTEUR SUR UN MPTVAL ET MELVALS ASSOCIEES AUX FORCES 20 : * ET MOMENTS AUX NOEUDS 21 : * 22 : * PASSAGE AUX NOUVEAU CHAMELEM PAR JM CAMPENON LE 13 09 90 23 : * 24 : *_______________________________________________________________________ 25 : * 26 : IMPLICIT INTEGER(I-N) 27 : IMPLICIT REAL*8(A-H,O-Z) 28 : * 29 : -INC SMCHAML 30 : -INC SMELEME 31 : -INC SMINTE 32 : -INC SMCOORD 33 : -INC CCOPTIO 34 : * 35 : SEGMENT MPTVAL 36 : INTEGER IPOS(NS) ,NSOF(NS) 37 : INTEGER IVAL(NCOSOU) 38 : CHARACTER*16 TYVAL(NCOSOU) 39 : ENDSEGMENT 40 : * 41 : DIMENSION TH(8),VNGAU(3),XJ(3,3),TXR(3,3,8),XE(3,8) 42 : * 43 : * On passe le MELVAL aux points de gauss pour la rigidite 44 : * 44 : CALL VALMEL(IPTVPR,IPTINT,IPRES) 45 : MELVA1=IPRES 46 : * 47 : MINTE=IPTINT 48 : c* SEGACT MINTE <- Actif en E/S 49 : NBPGAU=POIGAU(/1) 50 : NBGAU2=NBPGAU/2 51 : * 52 : MINTE1=IPTNOE 53 : SEGACT MINTE1 54 : * 55 : MELEME=IPMAIL 56 : NBELEM=NUM(/2) 57 : NBNN=NUM(/1) 58 : * 59 : * BOUCLE SUR LES ELEMENTS 60 : * 61 : DO 1 IB=1,NBELEM 62 : * 63 : * CALCUL DE L'INDICE D'ORIENTATION DE LA COQUE % PRESSION 64 : * DANS FPCOQU LES ELEMENTS SONT REORIENTES EN FONCTION DU VECTEUR 65 : * DIRECTIONNEL DE LA PRESSION DONC LA PRESSION EST APPLIQUEE 66 : * SUR LA FACE -1 67 : * 68 : ZETA=-1.D0 69 : * 70 : * CALCUL DE L EPAISSEUR MOYENNE 71 : * CALCUL DE TH(IPTELE) 72 : * 73 : EPAI=0.D0 74 : MPTVAL=IVACAR 75 : MELVAL=IVAL(1) 76 : IBMN=MIN(IB,VELCHE(/2)) 77 : IF(VELCHE(/1).EQ.1) EPAI=VELCHE(1,IBMN) 78 : IF(VELCHE(/1).GT.1) THEN 79 : DO 2 I=1,VELCHE(/1) 80 : EPAI=EPAI+VELCHE(I,IBMN) 81 : 2 CONTINUE 82 : EPAI=EPAI/VELCHE(/1) 83 : ENDIF 84 : DO 3 J=1,NBNN 85 : TH(J)=EPAI 86 : 3 CONTINUE 87 : * 88 : * DETERMINATION DES REPERES LOCAUX AUX NOEUDS 89 : * 89 : CALL DOXE(XCOOR,IDIM,NBNN,NUM,IB,XE) 89 : CALL CQ8LOC(XE,NBNN,MINTE1.SHPTOT,TXR,IRR) 90 : * 91 : * BOUCLE SUR LES POINTS DE GAUSS 92 : * 93 : IBMN=MIN(IB,MELVA1.VELCHE(/2)) 94 : DO 10 IGAU=1,NBGAU2 95 : IGMN=MIN(IGAU,MELVA1.VELCHE(/1)) 96 : PRE=MELVA1.VELCHE(IGMN,IBMN) 97 : * 98 : * VECTEUR NORMAL A LA SURFACE DE L ELEMENT AU PT DE GAUSS IGAU 99 : * NE PAS NORMALISER LE VECTEUR CAR IL INTEGRE L'ELEMENT 100 : * DE SURFACE POUR L'INTEGRATION 101 : * 101 : CALL COQ8JC(IGAU,NBNN,ZETA,XE,TH,TXR,SHPTOT,XJ,DET,IRR) 102 : VNGAU(1)=XJ(1,2)*XJ(2,3)-XJ(2,2)*XJ(1,3) 103 : VNGAU(2)=XJ(1,3)*XJ(2,1)-XJ(2,3)*XJ(1,1) 104 : VNGAU(3)=XJ(1,1)*XJ(2,2)-XJ(2,1)*XJ(1,2) 105 : * 106 : * BOUCLE SUR NOEUDS DE L'ELEMENT 107 : * 108 : MPTVAL=IVAFOR 109 : DO 20 J=1,NBNN 110 : * 111 : * FORCES AUX NOEUDS 112 : * 113 : WGTF=POIGAU(IGAU)*PRE 114 : MELVAL=IVAL(1) 115 : VELCHE(J,IB)=VELCHE(J,IB)+WGTF*SHPTOT(1,J,IGAU)*VNGAU(1) 116 : MELVAL=IVAL(2) 117 : VELCHE(J,IB)=VELCHE(J,IB)+WGTF*SHPTOT(1,J,IGAU)*VNGAU(2) 118 : MELVAL=IVAL(3) 119 : VELCHE(J,IB)=VELCHE(J,IB)+WGTF*SHPTOT(1,J,IGAU)*VNGAU(3) 120 : * 121 : * (V2JT) 122 : * MOMENTS AUX NDS = 0.5*ZETA*WT*P*TH(J)* (V1J,-V2J)(V1JT) *(VNGAU) 123 : * 124 : * CALCUL DE LA MATRICE DE PASSAGE NOTEE XJ(3,3) 125 : * 126 : DO 50 I=1,3 127 : XJ(I,I)=0. 128 : 50 CONTINUE 129 : XJ(1,2) = TXR(1,1,J)*TXR(2,2,J)-TXR(2,1,J)*TXR(1,2,J) 130 : XJ(1,3) = TXR(1,1,J)*TXR(3,2,J)-TXR(1,2,J)*TXR(3,1,J) 131 : XJ(2,3) = TXR(2,1,J)*TXR(3,2,J)-TXR(2,2,J)*TXR(3,1,J) 132 : DO 51 I=1,3 133 : DO 51 L=I,3 134 : XJ(L,I) = -XJ(I,L) 135 : 51 CONTINUE 136 : * 137 : * VALEURS DES MOMENTS AUX NOEUDS 138 : * 139 : WGTM=0.5D0*ZETA*TH(J)*POIGAU(IGAU)*PRE 140 : * 141 : DO 60 I=1,3 142 : MELVAL=IVAL(4) 143 : VELCHE(J,IB)=VELCHE(J,IB)+WGTM*SHPTOT(1,J,IGAU)*XJ(I,1)*VNGAU(I) 144 : MELVAL=IVAL(5) 145 : VELCHE(J,IB)=VELCHE(J,IB)+WGTM*SHPTOT(1,J,IGAU)*XJ(I,2)*VNGAU(I) 146 : MELVAL=IVAL(6) 147 : VELCHE(J,IB)=VELCHE(J,IB)+WGTM*SHPTOT(1,J,IGAU)*XJ(I,3)*VNGAU(I) 148 : 60 CONTINUE 149 : 20 CONTINUE 150 : 10 CONTINUE 151 : 1 CONTINUE 152 : 153 : c* SEGDES MINTE <- Actif en E/S 154 : SEGDES MINTE1 155 : SEGSUP MELVA1 156 : 157 : RETURN 158 : END 159 : 160 :
© Cast3M 2003 - All rights reserved.
Disclaimer