kdom12
C KDOM12 SOURCE CB215821 20/11/25 13:31:04 10792 C C************************************************************************ C C PROJET : CASTEM 2000 C C NOM : KDOM12 C C DESCRIPTION : Subroutine called by KDOM10 and KDOM4A in the C case of EULER model C We create the minimum diameter of each elts C C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec estensions CISI) C C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/LTMF C C************************************************************************ C C INPUT : C C MELTFA : MELEME 'ELTFA' C C MELCEN : MELEME 'CENTRE' C C MELFAC : MELEME 'FACE' C C MCHPNO : CHPOINT 'XXNORMAF' C C OUTPUT C C MCHDIA : CHPOINT 'XXDIEMIN' C C C************************************************************************ C C Created the 24/02/04 C C C**** Variables de COOPTIO C C INTEGER IPLLB, IERPER, IERMAX, IERR, INTERR C & ,IOTER, IOLEC, IOIMP, IOCAR, IOACQ C & ,IOPER, IOSGB, IOGRA, IOSAU, IORES C & ,IECHO, IIMPI, IOSPI C & ,IDIM, IFICLE, IPREFI CC & ,MCOORD C & ,IFOMOD, NIFOUR, IFOUR, NSDPGE, IONIVE C & ,NGMAXY, IZROSF, ISOTYP, IOSCR,LTEXLU C & ,NORINC,NORVAL,NORIND,NORVAD C & ,NUCROU, IPSAUV, IREFOR, ISAFOR CC IMPLICIT INTEGER(I-N) INTEGER JGN, JGM, NBS, ICEN, IELEM, NBELEM, NBNN, INOEU, IGEOM & , ISOUS, NCEN, NFAC, IFAC, MCHDIA, MCHPNO REAL*8 USDIA, RNORX, RNORY, RNORZ, RDISX, RDISY, RDISZ, USDIA0 & ,XCEN(3) CHARACTER*8 TYPI C -INC PPARAM -INC CCOPTIO -INC SMELEME -INC SMLENTI -INC SMCHPOI -INC SMLMOTS -INC SMCOORD C POINTEUR MELTFA.MELEME, MELCEN.MELEME, MPOVNO.MPOVAL & , MPODIA.MPOVAL, MELFAC.MELEME C C**** Position of the FACE points into MELFAC C C SEGINI MLENTI C C**** Normals C C SEGACT MPOVNO*MOD C C**** Diamin C TYPI='CENTRE ' JGN=4 JGM=1 SEGINI MLMOTS C SEGACT MPODIA*MOD SEGSUP MLMOTS C SEGACT MELTFA SEGACT MELCEN NBS=MELTFA.LISOUS(/1) IF(NBS .EQ. 0) NBS=1 C ICEN=0 DO ISOUS=1,NBS,1 IF(NBS .NE. 1)THEN IPT1=MELTFA.LISOUS(ISOUS) SEGACT IPT1 ELSE IPT1=MELTFA ENDIF C NBELEM=IPT1.NUM(/2) NBNN=IPT1.NUM(/1) C DO IELEM=1,NBELEM,1 ICEN=ICEN+1 NCEN=MELCEN.NUM(1,ICEN) USDIA=0.0D0 XCEN(1)=XCOOR((NCEN-1)*(IDIM+1)+1) XCEN(2)=XCOOR((NCEN-1)*(IDIM+1)+2) IF(IDIM .EQ. 3) XCEN(3)=XCOOR((NCEN-1)*(IDIM+1)+3) DO INOEU=1,NBNN,1 NFAC=IPT1.NUM(INOEU,IELEM) IFAC=MLENTI.LECT(NFAC) RNORX=MPOVNO.VPOCHA(IFAC,1) RNORY=MPOVNO.VPOCHA(IFAC,2) RDISX=XCOOR((NFAC-1)*(IDIM+1)+1)-XCEN(1) RDISY=XCOOR((NFAC-1)*(IDIM+1)+2)-XCEN(2) USDIA0=(RNORX*RDISX)+(RNORY*RDISY) IF(IDIM .EQ. 3)THEN RNORZ=MPOVNO.VPOCHA(IFAC,3) RDISZ=XCOOR((NFAC-1)*(IDIM+1)+3)-XCEN(3) USDIA0=USDIA0+(RNORZ*RDISZ) ENDIF USDIA0=1.0D0/ABS(USDIA0) IF(USDIA0 .GE. USDIA) USDIA=USDIA0 ENDDO MPODIA.VPOCHA(ICEN,1)=2.0D0/USDIA ENDDO IF(NBS .NE. 1) SEGDES IPT1 ENDDO C SEGDES MELTFA SEGDES MELCEN SEGDES MPODIA SEGDES MPOVNO SEGSUP MLENTI C RETURN C END
© Cast3M 2003 - Tous droits réservés.
Mentions légales