Download kaxdis.eso

Back to the list

   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