1 : C KAXDIS SOURCE CHAT 05/01/13 00:51:54 5004 2 : SUBROUTINE KAXDIS(A1,A2,NS,KIMP,NG0,NP0,NG,NP) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8 (A-H,O-Z) 5 : C Include contenant quelques constantes dont XPI : 6 : -INC CCREEL 7 : C********************************************************************* 8 : C SP appele par KAXC ou KAXK en axisymetrique 9 : C determine si les elements 1 et 2 sont proches ou non 10 : C si oui: methode des Trapezes 11 : C si non: methode de Gauss 12 : C entree: " 13 : C A1 :COORDONNEES DES SOMMETS de L'ELEMENT 1 (reduites) 14 : C points I1,J1 15 : C A2 :id element 2 16 : C NS :DIMENSION (2) 17 : C NG0,NP0 :nombre de points d'integration (Gauss et Trapezes) lu 18 : C dans FFOR 19 : C resultat: 20 : C NG,NP :nombre de points d'integration (Gauss et Trapezes) 21 : C 22 : C********************************************************************* 23 : DIMENSION A1(NS,2),A2(NS,2),U(3) 24 : 25 : C on recalcule les surfaces dans le plan r-z 26 : 26 : CALL KNORM2(NS,A1,NS,U,S1) 26 : CALL KNORM2(NS,A2,NS,U,S2) 27 : IF (KIMP.GE.3) write(6,*) ' S1 S2 ',S1,S2 28 : 29 : C on calcule le minimum des cordes croisees 30 : 31 : C..I1J1 32 : 33 : DR = A2(1,1)-A1(1,1) 34 : DZ = A2(2,1)-A1(2,1) 35 : XI1J1 = DSQRT(DR*DR+DZ*DZ) 36 : 37 : C..I1J2 38 : 39 : DR = A2(1,1)-A1(1,2) 40 : DZ = A2(2,1)-A1(2,2) 41 : XI1J2=DSQRT(DR*DR+DZ*DZ) 42 : 43 : C..I2J1 44 : 45 : DR = A2(1,2)-A1(1,1) 46 : DZ = A2(2,2)-A1(2,1) 47 : XI2J1= DSQRT(DR*DR+DZ*DZ) 48 : 49 : C..I2J2 50 : 51 : DR = A2(1,2)-A1(1,2) 52 : DZ = A2(2,2)-A1(2,2) 53 : XI2J2 = DSQRT(DR*DR+DZ*DZ) 54 : 55 : DIST = DMIN1(XI1J1,XI2J1,XI1J2,XI2J2) 56 : 57 : IF (KIMP.GE.3) write(6,*) ' DIST',DIST 58 : 59 : D1=DIST/S1 60 : D2=DIST/S2 61 : 62 : IF (KIMP.GE.3) write(6,*) ' D1 D2 ',D1,D2 63 : 64 : C cas standard: au maximum 10 points de Gauss 65 : C 66 : CRIT=0.05 67 : IF ((D1.GE.CRIT).AND.(D2.GE.CRIT)) THEN 68 : NG=NG0 69 : NP=0 70 : ELSE 71 : C cas des faces jointives ou tres proches: 72 : C integration par la methode des Trapezes 73 : C 74 : NG=0 75 : NP=NP0 76 : ENDIF 77 : 78 : IF(KIMP.GE.3) write(6,*) ' kaxdis NG NP ',NG,NP 79 : 80 : RETURN 81 : END 82 : 83 :
© Cast3M 2003 - All rights reserved.
Disclaimer