hrsi
C HRSI SOURCE PV 20/09/28 21:15:13 10727 SUBROUTINE HRSI IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C************************************************************************ C I OBJET C ---------- C CALCUL DES HR (GRADIENTS FF) ELEMENTAIRES SOUS INTEGRES C C C II SYNTAXE C ___________ C C RES = HRSI OBJ1 <'AXI' i > <'IMPR'> C C OBJ1 : Objet MAILLAGE C AXI DISCRETISATION CORDONNEES CYLINDRIQUE (2D) C i=1 AXE DE SYMETRIE y=0 C i=2 AXE DE SYMETRIE x=0 C IMPR : impressions de controle C RES : Resultat objet de type MATESI C************************************************************************ C -INC CCGEOME -INC PPARAM -INC CCOPTIO -INC SMTABLE POINTEUR MTABD.MTABLE -INC SMMATRIK -INC SIZFFB -INC SMCOORD -INC SMELEME POINTEUR MELEMZ.MELEME CHARACTER*8 NMD,NOM0,NOM,TYPE,LISTM(1) DIMENSION HRT(24),RPGJ(9),XYZI(24) PARAMETER (NTB=1) CHARACTER*8 LTAB(NTB) DIMENSION KTAB(NTB) DATA LTAB/'DOMAINE '/ DATA LISTM/'IMPR '/ C***************************************************************************** IF (IERR.NE.0) RETURN MTABD=KTAB(1) IAXI=0 IF(IFOMOD.EQ.0)IAXI=2 IMPAP=0 1 CONTINUE IF(IRET.NE.0)THEN IF(IP.EQ.0)THEN WRITE(6,*)' On attend le mot cle IMPR' C Il manque la donnée d'un mot clé. RETURN ELSE IMPAP=1 GO TO 1 ENDIF ENDIF C TYPE='MAILLAGE' IF (IERR.NE.0) RETURN SEGACT MELEMZ NBSOUS=MELEMZ.LISOUS(/1) IF(NBSOUS.EQ.0)NBSOUS=1 C C ON CREE L OBJET MATRIK C NRIGE=7 NKID =9 NKMT =7 NMATRI=1 SEGINI MATRIK IRIGEL(1,1)=MELEMZ IRIGEL(2,1)=MELEMZ IRIGEL(7,1)=1 NBOP=0 NBELC=0 NBME=1 IF(IAXI.NE.0)NBME=2 SEGINI IMATRI IRIGEL(4,1)=IMATRI C KGEOS=MELES1 KSPGP=MELES1 C KGEOC=MELEMC KSPGD=MELEMC C C BOUCLE SUR LES TYPES D'ELEMENTS ET CALCUL C DO 81 KSOUS=1,NBSOUS IF(NBSOUS.EQ.1)IPT1=MELEMZ IF(NBSOUS.NE.1)IPT1=MELEMZ.LISOUS(KSOUS) SEGACT IPT1 NOM0=NOMS(IPT1.ITYPEL)//' ' C SEGACT IZFFM*MOD IZHR=KZHR(1) SEGACT IZHR*MOD IF(IAXI.NE.0)THEN NP=1 MP=1 SEGINI IPM1 LIZAFM(KSOUS,2)=IPM1 ENDIF NP=IPT1.NUM(/1) NES=GR(/1) NPG=GR(/3) MP=NES IESP=MP SEGINI IZAFM C SEGACT IPT1 LIZAFM(KSOUS,1)=IZAFM IF(IMPAP.NE.0)THEN WRITE(6,*)' CREATION SEGMENT MATRIK ' WRITE(6,*)' FONCTIONS DE FORME ' WRITE(6,1002)((FN(MM,II),MM=1,NP),II=1,NPG) WRITE(6,*)' FONCTIONS DE FORME ' WRITE(6,1002)((GR(1,MM,II),MM=1,NP),II=1,NPG) WRITE(6,1002)((GR(2,MM,II),MM=1,NP),II=1,NPG) ENDIF IJ=1 DO I=1,NP J=IPT1.NUM(I,K) DO N=1,IESP XYZI(IJ )=XCOOR((J-1)*(IDIM+1)+N) IJ=IJ+1 ENDDO ENDDO C *IESP,NP,NPG,IAXI,AIRE) IH=0 DO I=1,NP DO N=1,IESP IH=IH+1 AM(K,I,N)=HRT(IH) ENDDO ENDDO IF(IAXI.NE.0)IPM1.AM(K,1,1)=RPGJ(1) 8 CONTINUE IF(IPT1.NE.MELEMZ)SEGDES IPT1 SEGDES IZAFM IF(IAXI.NE.0)SEGDES IPM1 SEGSUP IZFFM,IZHR 81 CONTINUE SEGDES MELEMZ,IMATRI 32 CONTINUE SEGDES MATRIK RETURN 1002 FORMAT(10(1X,1PE11.4)) END
© Cast3M 2003 - Tous droits réservés.
Mentions légales