1 : C LICOMA SOURCE CHAT 05/01/13 01:17:24 5004 2 : SUBROUTINE LICOMA(NBPGAU,IDIM,NBNN,NDDL,XE,CFPI,WORK,POIGAU, 3 : 1 QSIGAU,ETAGAU,SHPTOT,REL,LRE,IER246) 4 : C======================================================================= 5 : C 6 : C CALCULE LA MATRICE MASSE DE L ELEMENT DE RACCORD 7 : C LIQUIDE COQUE CAS TRIDIMENSIONNEL 8 : C (INTEGRE LE PRODUIT PI*U AVEC U DEPLACEMENT NORMAL A LA PAROI 9 : C DU SOLIDE) 10 : C 11 : C ROUTINE FORTRAN PUR 12 : C 13 : C JACQUELINE BROCHARD JUILLET 86 14 : C======================================================================= 15 : C ENTREES 16 : C NBPGAU = NB DE PTS DE GAUSS 17 : C NBNN = NB DE NOEUDS DE L ELEMENT DE RACCORD 18 : C XE(3,NBNN) = COORDONNEES LOCALES DE L ELEMENT 19 : C CFPI = COEFFICIENT DE NORMALISATION SUR PI 20 : C WORK(IDIM) = COMPOSANTES DE LA NORMALE SORTANTE AU FLUIDE 21 : C POIGAU(NBPGAU) = POIDS DE GAUSS 22 : C QSIGAU(NBPGAU),ETAGAU(NBPGAU) = COORDONNEES DES PTS DE GAUSS 23 : C SHPTOT(6,NBNN,NBPGAU) = FONCTIONS DE FORME ET DERIVEES DE 24 : C L ELEMENT DE RACCORD 25 : C SORTIES 26 : C REL(LRE,LRE) = MATRICE DE MASSE 27 : C======================================================================= 28 : IMPLICIT INTEGER(I-N) 29 : IMPLICIT REAL*8 (A-H,O-Z) 30 : DIMENSION XE(3,1),WORK(IDIM),POIGAU(NBPGAU),QSIGAU(NBPGAU) 31 : DIMENSION ETAGAU(NBPGAU),SHPTOT(6,NBNN,1) 32 : DIMENSION XEL(3,3),BPSS(3,3),BB(9),VME(24,24) 33 : DIMENSION REL(LRE,1) 34 : DATA EPSI/1.D-12/ 35 : DATA XZER/0.D0/ 36 : IER246=0 37 : C 38 : C MATRICE DE PASSAGE 39 : C 39 : CALL VPAST(XE,BPSS) 40 : C 41 : C COORDONNEES LOCALES 42 : C 42 : CALL VCORLC(XE,XEL,BPSS) 43 : C 44 : C MISE A 0 DE LA MATRICE DE MASSE 45 : C 45 : CALL ZERO(VME,LRE,LRE) 46 : C 47 : C CALCUL DE LA SURFACE 48 : C 49 : X21=XEL(1,2)-XEL(1,1) 50 : Y31=XEL(2,3)-XEL(2,1) 51 : SURF=X21*Y31 52 : C 53 : C ON COMPARE L ORIENTATION DE LA NORMALE SORTANTE AU FLUIDE 54 : C A CELLE DE LA PAROI 55 : C 56 : NBNNL=NBNN/2 57 : ID=NBNNL+1 58 : VNQSI1=XZER 59 : VNQSI2=XZER 60 : VNQSI3=XZER 61 : VNETA1=XZER 62 : VNETA2=XZER 63 : VNETA3=XZER 64 : ALFA=XZER 65 : BETA=XZER 66 : GAMMA=XZER 67 : DO 20 J=ID,NBNN 68 : VNQSI1=VNQSI1+SHPTOT(2,J,1)*XE(1,J) 69 : VNQSI2=VNQSI2+SHPTOT(2,J,1)*XE(2,J) 70 : VNQSI3=VNQSI3+SHPTOT(2,J,1)*XE(3,J) 71 : VNETA1=VNETA1+SHPTOT(3,J,1)*XE(1,J) 72 : VNETA2=VNETA2+SHPTOT(3,J,1)*XE(2,J) 73 : VNETA3=VNETA3+SHPTOT(3,J,1)*XE(3,J) 74 : 20 CONTINUE 75 : ALFA=VNQSI2*VNETA3-VNQSI3*VNETA2 76 : BETA=VNQSI3*VNETA1-VNQSI1*VNETA3 77 : GAMMA=VNQSI1*VNETA2-VNQSI2*VNETA1 78 : PSCAL=ALFA*WORK(1)+BETA*WORK(2)+GAMMA*WORK(3) 79 : IF (ABS(PSCAL).LT.EPSI) GOTO 777 80 : SENS=PSCAL/ABS(PSCAL) 81 : C 82 : C CALCUL DES TERMES DE LA MATRICE : INTEGRATION NUMERIQUE 83 : C NL : NUMERO D UN NOEUD LIQUIDE 84 : C IGAU : NUMERO DU POINT DE GAUSS 85 : C J : NUMERO D UN NOEUD DE COQUE 86 : C K INDICE SUR LA COMPOSANTE W , RX , OU RY 87 : C 88 : DO 100 NL=1,NBNNL 89 : IL=2*NL 90 : DO 80 IGAU=1,NBPGAU 91 : C VALEURS DES FONCTIONS DE FORME POUR L ELT DE COQUE 91 : CALL MFDKT(QSIGAU(IGAU),ETAGAU(IGAU),XEL,BB) 92 : DO 30 J=ID,NBNN 93 : INDM=2*NBNNL+(J-ID)*NDDL 94 : DO 35 K=1,3 95 : IC=INDM+2+K 96 : IP=(J-ID)*3+K 97 : VME(IL,IC)=VME(IL,IC)-SENS*CFPI*SURF*SHPTOT(1,NL,IGAU) 98 : 1 *POIGAU(IGAU)*BB(IP) 99 : 35 CONTINUE 100 : 30 CONTINUE 101 : 80 CONTINUE 102 : C 103 : C CHANGEMENT DE REPERE ET SYMETRISATION 104 : C 105 : DO 50 J=ID,NBNN 106 : INDM=2*NBNNL+(J-ID)*NDDL 107 : INDF=INDM+3 108 : DO 55 I=1,3 109 : DO 56 IP=1,3 110 : REL(IL,INDM+I)=REL(IL,INDM+I)+BPSS(IP,I)*VME(IL,INDM+IP) 111 : REL(IL,INDF+I)=REL(IL,INDF+I)+BPSS(IP,I)*VME(IL,INDF+IP) 112 : 56 CONTINUE 113 : 55 CONTINUE 114 : DO 40 K=1,6 115 : IC=INDM+K 116 : REL(IC,IL)=REL(IL,IC) 117 : 40 CONTINUE 118 : 50 CONTINUE 119 : 100 CONTINUE 120 : GOTO 666 121 : C 122 : C ERREUR LE VECTEUR PERMETTANT D ORIENTER L ELEMENT DE RACCORD 123 : C EST NUL OU PARALLELE A LA FRONTIERE DU FLUIDE 124 : C 125 : 777 IER246=246 126 : 666 CONTINUE 127 : RETURN 128 : END 129 :
© Cast3M 2003 - All rights reserved.
Disclaimer