1 : C NOEREF SOURCE CHAT 05/01/13 01:58:11 5004 2 : SUBROUTINE NOEREF(XYZ,ITYP,INO) 3 : C 4 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 5 : C 6 : C RECHERCHE SI LE POINT XYZ EST UN NOEUD DANS LES COORDONNEES 7 : C DE REFERENCE 8 : C INO=0 CE N EST PAS UN NOEUD 9 : C INO=1 C'EST UN NOEUD 10 : C 11 : CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 12 : C 13 : IMPLICIT INTEGER(I-N) 14 : IMPLICIT REAL*8 (A-H,O-Z) 15 : C 16 : DIMENSION XYZ(3) 17 : C 18 : EPS=1.D-14 19 : C 20 : NDIM=2 21 : C ON CHERCHE SI ON A AFFAIRE A UN NOEUD DU MAILLAGE 22 : ITEST=0 23 : INO=0 24 : IF(ITYP.EQ.4.OR.ITYP.EQ.6.OR.ITYP.EQ.7)THEN 25 : C L ELEMENT DE REFERENCE EST UN TRIANGLE 26 : DO 30 I=1,NDIM 27 : IF(ABS(XYZ(I)).LT.EPS)ITEST=ITEST+1 28 : IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1 29 : 30 CONTINUE 30 : ELSEIF(ITYP.EQ.8.OR.ITYP.EQ.11)THEN 31 : C L ELEMENT DE REFERENCE EST UN CARRE 32 : DO 35 I=1,NDIM 33 : IF(ABS(1.D0+XYZ(I)).LT.EPS)ITEST=ITEST+1 34 : IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1 35 : 35 CONTINUE 36 : ELSEIF(ITYP.EQ.16)THEN 37 : C L ELEMENT DE REFERENCE EST UN PRISME 38 : NDIM=3 39 : IF((ABS(XYZ(3)-1.D0).LT.EPS).OR. 40 : * (ABS(XYZ(3)+1.D0).LT.EPS))ITEST=ITEST+1 41 : DO 40 I=1,2 42 : IF(ABS(XYZ(I)).LT.EPS)ITEST=ITEST+1 43 : IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1 44 : 40 CONTINUE 45 : ELSEIF(ITYP.EQ.14)THEN 46 : C L ELEMENT DE REFERENCE EST UN CUBE 47 : NDIM=3 48 : DO 45 I=1,NDIM 49 : IF(ABS(1.D0+XYZ(I)).LT.EPS)ITEST=ITEST+1 50 : IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1 51 : 45 CONTINUE 52 : ELSEIF(ITYP.EQ.23)THEN 53 : C L ELEMENT DE REFERENCE EST UN TETRAEDRE 54 : NDIM=3 55 : DO 50 I=1,NDIM 56 : IF(ABS(XYZ(I)).LT.EPS)ITEST=ITEST+1 57 : IF(ABS(1.D0-XYZ(I)).LT.EPS)ITEST=ITEST+1 58 : 50 CONTINUE 59 : ENDIF 60 : IF(ITEST.EQ.NDIM)INO=1 61 : C 62 : RETURN 63 : END 64 : 65 :
© Cast3M 2003 - All rights reserved.
Disclaimer