racmas
C RACMAS SOURCE CHAT 05/01/13 02:44:30 5004 1 POIGAU,SHPTOT,REL,LRE) C======================================================================= C C CALCULE LA MATRICE MASSE DE L ELEMENT DE RACCORD C LIQUIDE MASSIF LINEAIRE CAS BIDIMENSIONNEL C (INTEGRE LE PRODUIT XPI*U AVEC U DEPLACEMENT NORMAL A LA PAROI C DU SOLIDE) C C ROUTINE FORTRAN PUR C C JACQUELINE BROCHARD OCTOBRE 85 C======================================================================= C ENTREES C NBPGAU = NB DE PTS DE GAUSS C IFOUR = IFOUR DE CCOPTIO C NBNN = NB DE NOEUDS DE L ELEMENT DE RACCORD C XE(3,NBNN) = COORDONNEES LOCALES DE L ELEMENT C CFPI = COEFFICIENT DE NORMALISATION SUR XPI C WORK(IDIM) = COMPOSANTES DE LA NORMALE SORTANTE AU FLUIDE C POIGAU(NBPGAU) = POIDS DE GAUSS C SHPTOT(6,NBNN,NBPGAU) = FONCTIONS DE FORME ET DERIVEES DE C L ELEMENT DE RACCORD C SORTIES C REL(LRE,LRE) = MATRICE DE MASSE C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C Include contenant quelques constantes dont XPI : -INC CCREEL DIMENSION REL(LRE,1) C C BOUCLE SUR LES NOEUDS LIQUIDE ET INTEGRATION NUMERIQUE C NBNNL=NBNN/2 DO 100 NL=1,NBNNL DO 80 IGAU=1,NBPGAU C C CALCUL DU RAYON ET DES COMPOSANTES DU VECTEUR NORMAL A LA PAROI C R=XZERO ALFA=XZERO BETA=XZERO ID=NBNNL+1 DO 20 J=ID,NBNN JJ=J-NBNNL R=R+XE(1,J)*SHPTOT(1,JJ,IGAU) ALFA=ALFA-SHPTOT(2,JJ,IGAU)*XE(2,J) BETA=BETA+SHPTOT(2,JJ,IGAU)*XE(1,J) 20 CONTINUE IF(IFOUR.EQ.0.OR.(IFOUR.EQ.1.AND.NIFOUR.EQ.0)) THEN R=R*2*XPI ELSEIF(IFOUR.EQ.1.AND.NIFOUR.NE.0) THEN R=R*XPI ELSE R=1.D0 ENDIF C C ON COMPARE L ORIENTATION DE LA NORMALE SORTANTE AU FLUIDE C A CELLE DE LA PAROI C SENS=PSCAL/ABS(PSCAL) C C ON REMPLIT LA MATRICE C IF(IFOUR.LT.1) NCP=2 IF(IFOUR.EQ.1) NCP=3 DO 30 J=ID,NBNN JJ=J-NBNNL IL=2*NL IC1=2*NBNNL+(J-ID)*NCP+1 IC2=IC1+1 REL(IL,IC1)=REL(IL,IC1)-SENS*CFPI*SHPTOT(1,NL,IGAU) 1 *POIGAU(IGAU)*R*ALFA*SHPTOT(1,JJ,IGAU) REL(IL,IC2)=REL(IL,IC2)-SENS*CFPI*SHPTOT(1,NL,IGAU) 1 *POIGAU(IGAU)*R*BETA*SHPTOT(1,JJ,IGAU) 30 CONTINUE 80 CONTINUE C C LE COUPLAGE LIQUIDE-MASSIF 2D LIE LES NOEUDS C (1,NBNN) (2,NBNN-1) ETC , ON INVERSE DONC LES TERMES C DE LA MATRICE C IL=2*NL DO 35 I=1,NCP IB=2*NBNNL+I ELT=REL(IL,IB) JB=2*NBNNL+(NBNNL-1)*NCP+I REL(IL,IB)=REL(IL,JB) REL(IL,JB)=ELT 35 CONTINUE C C SYMETRISATION C DO 40 J=ID,NBNN IL=2*NL IC1=2*NBNNL+(J-ID)*NCP+1 IC2=IC1+1 REL(IC1,IL)=REL(IL,IC1) REL(IC2,IL)=REL(IL,IC2) 40 CONTINUE 100 CONTINUE GOTO 666 C C ERREUR LE VECTEUR PERMETTANT D ORIENTER L ELEMENT DE RACCORD C EST NUL OU PARALLELE A LA FRONTIERE DU FLUIDE C 666 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales