Download kdom12.eso

Back to the list

   1 : C KDOM12    SOURCE    CHAT      05/01/13    00:53:43     5004           
   2 :       SUBROUTINE KDOM12(MELTFA,MELCEN,MELFAC,MCHPNO,MCHDIA)
   3 : C
   4 : C************************************************************************
   5 : C
   6 : C PROJET            :  CASTEM 2000
   7 : C
   8 : C NOM               :  KDOM12
   9 : C                      
   9 : C DESCRIPTION       :  Subroutine called by KDOM10 and KDOM4A in the
  10 : C                      case of EULER model
  11 : C                      We create the minimum diameter of each elts
  12 : C     
  13 : C LANGAGE           :  FORTRAN 77 + ESOPE 2000 (avec estensions CISI)
  14 : C      
  15 : C AUTEUR            :  A. BECCANTINI, DRN/DMT/SEMT/LTMF                        
  16 : C
  17 : C************************************************************************
  18 : C
  19 : C INPUT : 
  20 : C
  21 : C MELTFA : MELEME 'ELTFA'
  22 : C
  23 : C MELCEN : MELEME 'CENTRE'
  24 : C
  25 : C MELFAC : MELEME 'FACE'
  26 : C
  27 : C MCHPNO : CHPOINT 'XXNORMAF'
  28 : C
  29 : C OUTPUT
  30 : C 
  31 : C MCHDIA : CHPOINT 'XXDIEMIN'
  32 : C
  33 : C
  34 : C************************************************************************
  35 : C
  36 : C Created the 24/02/04
  37 : C
  38 : C
  39 : C**** Variables de COOPTIO
  40 : C
  41 : C      INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR
  42 : C     &     ,IOTER,   IOLEC,  IOIMP,     IOCAR,  IOACQ
  43 : C     &     ,IOPER,   IOSGB,  IOGRA,     IOSAU,  IORES
  44 : C     &     ,IECHO,   IIMPI,  IOSPI
  45 : C     &     ,IDIM,    IFICLE, IPREFI     
  46 : CC     &     ,MCOORD
  47 : C     &     ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE
  48 : C     &     ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU
  49 : C     &     ,NORINC,NORVAL,NORIND,NORVAD
  50 : C     &     ,NUCROU, IPSAUV, IREFOR, ISAFOR
  51 : CC
  52 :       IMPLICIT INTEGER(I-N)
  53 :       INTEGER JGN, JGM, NBS, ICEN, IELEM, NBELEM, NBNN, INOEU, IGEOM
  54 :      &     , ISOUS, NCEN, NFAC, IFAC, MCHDIA, MCHPNO
  55 :       REAL*8 USDIA, RNORX, RNORY, RNORZ, RDISX, RDISY, RDISZ, USDIA0
  56 :      &     ,XCEN(3)
  57 :       CHARACTER*8 TYPI
  58 : C
  59 : -INC CCOPTIO
  60 : -INC SMELEME
  61 : -INC SMLENTI
  62 : -INC SMCHPOI
  63 : -INC SMLMOTS
  64 : -INC SMCOORD
  65 : C
  66 :       POINTEUR MELTFA.MELEME, MELCEN.MELEME, MPOVNO.MPOVAL
  67 :      &     , MPODIA.MPOVAL, MELFAC.MELEME
  68 : C
  69 : C**** Position of the FACE points into MELFAC
  70 : C      
  70 :       CALL KRIPAD(MELFAC,MLENTI)
  71 : C     SEGINI MLENTI
  72 : C
  73 : C**** Normals
  74 : C
  74 :       CALL LICHT(MCHPNO,MPOVNO,TYPI,IGEOM)
  75 : C      SEGACT MPOVNO*MOD
  76 : C
  77 : C**** Diamin
  78 : C
  79 :       TYPI='CENTRE  '
  80 :       JGN=4
  81 :       JGM=1
  82 :       SEGINI MLMOTS
  83 :       MLMOTS.MOTS(1)='SCAL'
  83 :       CALL KRCHP1(TYPI,MELCEN,MCHDIA,MLMOTS)
  83 :       CALL LICHT(MCHDIA,MPODIA,TYPI,IGEOM)
  84 : C     SEGACT MPODIA*MOD
  85 :       SEGSUP MLMOTS
  86 : C
  87 :       SEGACT MELTFA
  88 :       SEGACT MELCEN
  89 :       NBS=MELTFA.LISOUS(/1)
  90 :       IF(NBS .EQ. 0) NBS=1
  91 : C
  92 :       ICEN=0
  93 :       DO ISOUS=1,NBS,1
  94 :          IF(NBS .NE. 1)THEN
  95 :             IPT1=MELTFA.LISOUS(ISOUS)
  96 :             SEGACT IPT1
  97 :          ELSE
  98 :             IPT1=MELTFA
  99 :          ENDIF
 100 : C
 101 :          NBELEM=IPT1.NUM(/2)
 102 :          NBNN=IPT1.NUM(/1)
 103 : C
 104 :          DO IELEM=1,NBELEM,1
 105 :             ICEN=ICEN+1
 106 :             NCEN=MELCEN.NUM(1,ICEN)
 107 :             USDIA=0.0D0
 108 :             XCEN(1)=XCOOR((NCEN-1)*(IDIM+1)+1)
 109 :             XCEN(2)=XCOOR((NCEN-1)*(IDIM+1)+2)
 110 :             IF(IDIM .EQ. 3) XCEN(3)=XCOOR((NCEN-1)*(IDIM+1)+3)
 111 :             DO INOEU=1,NBNN,1
 112 :                NFAC=IPT1.NUM(INOEU,IELEM)
 113 :                IFAC=MLENTI.LECT(NFAC)
 114 :                RNORX=MPOVNO.VPOCHA(IFAC,1)
 115 :                RNORY=MPOVNO.VPOCHA(IFAC,2)
 116 :                RDISX=XCOOR((NFAC-1)*(IDIM+1)+1)-XCEN(1)
 117 :                RDISY=XCOOR((NFAC-1)*(IDIM+1)+2)-XCEN(2)
 118 :                USDIA0=(RNORX*RDISX)+(RNORY*RDISY)
 119 :                IF(IDIM .EQ. 3)THEN
 120 :                   RNORZ=MPOVNO.VPOCHA(IFAC,3)
 121 :                   RDISZ=XCOOR((NFAC-1)*(IDIM+1)+3)-XCEN(3)
 122 :                   USDIA0=USDIA0+(RNORZ*RDISZ)
 123 :                ENDIF
 124 :                USDIA0=1.0D0/ABS(USDIA0)
 125 :                IF(USDIA0 .GE. USDIA) USDIA=USDIA0
 126 :             ENDDO
 127 :             MPODIA.VPOCHA(ICEN,1)=2.0D0/USDIA
 128 :          ENDDO
 129 :          IF(NBS .NE. 1) SEGDES IPT1
 130 :       ENDDO
 131 : C      
 132 :       SEGDES MELTFA
 133 :       SEGDES MELCEN
 134 :       SEGDES MPODIA
 135 :       SEGDES MPOVNO
 136 :       SEGSUP MLENTI
 137 : C
 138 :       RETURN
 139 : C     
 140 :       END
 141 :  
 142 :  
 143 :  

© Cast3M 2003 - All rights reserved.
Disclaimer