kapcub
C KAPCUB SOURCE CB215821 16/04/21 21:17:26 8920 * C----------------------------------------------------------------------- C Calcul des facteurs de forme en 3D C Sp appele par ksubcr C PROJECTION D'UN POINT X SUR L'H.C DE RESOLUTION NR C --------------------------------------------------- C A : CENTRE DE L'H.C C IFACE : NUMERO DE FACE C KFACE1,KFACE2 : COORDONNEES ENTIERES SUR LA FACE C C----------------------------------------------------------------------- * * IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) DIMENSION X(NES),A(NES),XA(3),XR(NES) C NR2 = NR/2 EPS=1E-5 XAB = -EPS A1 = -1E-10 DO 1 IES = 1,NES XA(IES) = X(IES)-A(IES) A2=ABS(XA(IES)) IF(A2.GT.A1) THEN A1 = A2 I = IES ENDIF 1 CONTINUE C C WRITE(6,*) 'A1 XA(I) ',A1,XA(I) C WRITE(6,*) ' KS ',KS C IF (I.EQ.1) THEN XR(2) = XA(2)/A1 XR(3) = XA(3)/A1 I1 = 1 + INT(NR2*(1+XR(2))) KFACE1 = MIN0(NR,I1) IF(KS.EQ.1) THEN IFACE= 1 XR(1) = 1. ELSE IFACE = 2 XR(1) = -1. ENDIF RETURN ENDIF IF (I.EQ.2) THEN XR(1) = XA(1)/A1 XR(3) = XA(3)/A1 I1 = 1 + INT(NR2*(1+XR(1))) KFACE1 = MIN0(NR,I1) IF(KS.EQ.1) THEN IFACE = 3 XR(2) = 1. ELSE IFACE = 4 XR(2) = -1. ENDIF RETURN ENDIF IF (I.EQ.3) THEN XR(1) = XA(1)/A1 XR(2) = XA(2)/A1 I1 = 1 + INT(NR2*(1+XR(1))) KFACE1 = MIN0(NR,I1) IF(KS.EQ.1) THEN IFACE = 5 XR(3) = 1. ELSE IFACE = 6 XR(3) = -1. ENDIF RETURN ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales