C KAXDIS SOURCE CHAT 05/01/13 00:51:54 5004 SUBROUTINE KAXDIS(A1,A2,NS,KIMP,NG0,NP0,NG,NP) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C Include contenant quelques constantes dont XPI : -INC CCREEL C********************************************************************* C SP appele par KAXC ou KAXK en axisymetrique C determine si les elements 1 et 2 sont proches ou non C si oui: methode des Trapezes C si non: methode de Gauss C entree: " C A1 :COORDONNEES DES SOMMETS de L'ELEMENT 1 (reduites) C points I1,J1 C A2 :id element 2 C NS :DIMENSION (2) C NG0,NP0 :nombre de points d'integration (Gauss et Trapezes) lu C dans FFOR C resultat: C NG,NP :nombre de points d'integration (Gauss et Trapezes) C C********************************************************************* DIMENSION A1(NS,2),A2(NS,2),U(3) C on recalcule les surfaces dans le plan r-z CALL KNORM2(NS,A1,NS,U,S1) CALL KNORM2(NS,A2,NS,U,S2) IF (KIMP.GE.3) write(6,*) ' S1 S2 ',S1,S2 C on calcule le minimum des cordes croisees C..I1J1 DR = A2(1,1)-A1(1,1) DZ = A2(2,1)-A1(2,1) XI1J1 = DSQRT(DR*DR+DZ*DZ) C..I1J2 DR = A2(1,1)-A1(1,2) DZ = A2(2,1)-A1(2,2) XI1J2=DSQRT(DR*DR+DZ*DZ) C..I2J1 DR = A2(1,2)-A1(1,1) DZ = A2(2,2)-A1(2,1) XI2J1= DSQRT(DR*DR+DZ*DZ) C..I2J2 DR = A2(1,2)-A1(1,2) DZ = A2(2,2)-A1(2,2) XI2J2 = DSQRT(DR*DR+DZ*DZ) DIST = DMIN1(XI1J1,XI2J1,XI1J2,XI2J2) IF (KIMP.GE.3) write(6,*) ' DIST',DIST D1=DIST/S1 D2=DIST/S2 IF (KIMP.GE.3) write(6,*) ' D1 D2 ',D1,D2 C cas standard: au maximum 10 points de Gauss C CRIT=0.05 IF ((D1.GE.CRIT).AND.(D2.GE.CRIT)) THEN NG=NG0 NP=0 ELSE C cas des faces jointives ou tres proches: C integration par la methode des Trapezes C NG=0 NP=NP0 ENDIF IF(KIMP.GE.3) write(6,*) ' kaxdis NG NP ',NG,NP RETURN END