genrd2
C GENRD2 SOURCE CHAT 05/01/13 00:17:40 5004
C--------------------------------------------------------------------
C
C ON NUMEROTE CORRECTEMENT LES NOEUDS POUR ORIENTER LE JOINT
C SUIVANT BAR1-BAR2
C
C PP 9/97
C Pierre Pegon/JRC Ispra
C--------------------------------------------------------------------
IMPLICIT INTEGER(I-N)
IMPLICIT REAL*8 (A-H,O-Z)
C
-INC PPARAM
-INC CCOPTIO
C
DIMENSION FAC1(3,NPTO),NUM1(NPTO),NUM2(NPTO)
DIMENSION BAR1(3),BAR2(3)
DIMENSION XNORM(3),YNORM(3)
C
XXORM=0.D0
DO IE1=1,3
XNORM(IE1)=BAR1(IE1)-BAR2(IE1)
ENDDO
C
YNORM(1)=(FAC1(2,2)-FAC1(2,1))*(FAC1(3,NPTO)-FAC1(3,1))
> -(FAC1(3,2)-FAC1(3,1))*(FAC1(2,NPTO)-FAC1(2,1))
YNORM(2)=(FAC1(3,2)-FAC1(3,1))*(FAC1(1,NPTO)-FAC1(1,1))
> -(FAC1(1,2)-FAC1(1,1))*(FAC1(3,NPTO)-FAC1(3,1))
YNORM(3)=(FAC1(1,2)-FAC1(1,1))*(FAC1(2,NPTO)-FAC1(2,1))
> -(FAC1(2,2)-FAC1(2,1))*(FAC1(1,NPTO)-FAC1(1,1))
C
PSCAL=XNORM(1)*YNORM(1)+XNORM(2)*YNORM(2)+XNORM(3)*YNORM(3)
C
IF(PSCAL.LT.0.D0)THEN
DO IE1=1,NPTO/2
JE1=NPTO+1-IE1
IDUM=NUM1(IE1)
NUM1(IE1)=NUM1(JE1)
NUM1(JE1)=IDUM
IDUM=NUM2(IE1)
NUM2(IE1)=NUM2(JE1)
NUM2(JE1)=IDUM
ENDDO
ENDIF
C
C ON VERIFIE S'IL N'Y-A-PAS DE DOUBLON
C
IDOUB=0
DO IE1=1,NPTO
IF(NUM1(IE1).EQ.NUM2(IE1))THEN
IDOUB=IDOUB+1
WRITE(IOIMP,*)
>'GENRD2: il y a ',IDOUB,' doublon(s) dans un joint-->',NUM1(IE1)
ENDIF
ENDDO
C
RETURN
END
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales