pre71
C PRE71 SOURCE CB215821 23/01/25 21:15:30 11573 C************************************************************************ C C PROJET : CASTEM 2000 C C NOM : PRE71 C C DESCRIPTION : Voir PRE7 C C GFMP, stiffened gas. C C 2me ordre en espace C C Creation of the MCHAMLs IPHIF, IROF, IVITF, IPF, C (IYF, IALF). C C LANGAGE : FORTRAN 77 + ESOPE 2000 (avec extensions CISI) C C AUTEUR : A. BECCANTINI, DRN/DMT/SEMT/TTMF C C************************************************************************ C C C************************************************************************ C C HISTORIQUE (Anomalies et modifications éventuelles) C C HISTORIQUE : Crée le 03.12.2010 C C************************************************************************ C IMPLICIT REAL*8(A-H,O-Z) IMPLICIT INTEGER(I-N) C C**** Les variables C INTEGER ICOND, IRETOU, MMODEL, ICELL & , IDOMA, ICEN, IFACE, IFACEL, INORM & , IPHI, IGRPHI, ILIPHI & , IRN1, IGRRN1, ILIRN1 & , IVN1, IGRVN1, ILIVN1 & , IPN1, IGRPN1, ILIPN1 & , IYC, IGRYC, ILIMYC & , IALC, IGRALC, ILIALC & , IPHIF, IRN1F, IVN1F, IPN1F, IYF, IALF & , NESP, I1, I2, ICEL, ICOM C CHARACTER*(4) NOMGRA(27),NOMLIM(9) CHARACTER*(8) MTYPR C C**** Les Includes C -INC PPARAM -INC CCOPTIO INTEGER JGM, JGN -INC SMLMOTS POINTEUR MLMCOM.MLMOTS, MLMVIT.MLMOTS, MLMTEN.MLMOTS, & MLMESP.MLMOTS C C**** Nom de composantes de gradients (HP. <= 9 composantes) C DATA NOMGRA /'P1DX','P1DY','P1DZ', & 'P2DX','P2DY','P2DZ', & 'P3DX','P3DY','P3DZ', & 'P4DX','P4DY','P4DZ', & 'P5DX','P5DY','P5DZ', & 'P6DX','P6DY','P6DZ', & 'P7DX','P7DY','P7DZ', & 'P8DX','P8DY','P8DZ', & 'P9DX','P9DY','P9DZ'/ C DATA NOMLIM /'P1 ', & 'P2 ', & 'P3 ', & 'P4 ', & 'P5 ', & 'P6 ', & 'P7 ', & 'P8 ', & 'P9 '/ C C**** Initialisation of some segment C JGN=4 JGM=1 SEGINI MLMCOM JGN=4 JGM=IDIM SEGINI MLMVIT JGN=4 JGM=IDIM*IDIM SEGINI MLMTEN C C**** I need the LISTMOT of the species involved... C ICOND = 1 MTYPR = 'LISTMOTS' IF(IERR.NE.0)GOTO 9999 SEGACT MLMESP SEGDES MLMESP C C**** Lecture de l'objet MODELE C ICOND = 1 MTYPR = 'MMODEL ' IF(IERR.NE.0)GOTO 9999 IF(IERR.NE.0)GOTO 9999 C C**** Lecture du MELEME SPG des points CENTRE. C C C CALL LEKTAB(IDOMA,'CENTRE',IP) C C**** Probleme du LEKTAB: si IDOMA.'CENTRE' n'existe pas, C il crèe IDOMA.'CENTRE' sans recrèer 'FACEL' C -> la correspondance global des noeuds saut! C C On peut utilizer ACCTAB ou ACMO C MTYPR = 'MAILLAGE' IF(IERR.NE.0)GOTO 9999 C C**** Lecture du MELEME 'FACE' C MTYPR = 'MAILLAGE' IF(IERR.NE.0)GOTO 9999 C C**** Lecture du MELEME 'FACEL' C MTYPR = 'MAILLAGE' IF(IERR.NE.0)GOTO 9999 C C**** Lecture du CHPOINT contenant les normales (tangentes) aux faces C IF(IDIM .EQ. 2)THEN C Que les normales IF(IERR .NE. 0) GOTO 9999 IF(IERR.NE.0)GOTO 9999 ELSE C Les normales et les tangentes MTYPR = ' ' IF (MTYPR .NE. 'CHPOINT ') THEN IF(IERR .NE. 0) GOTO 9999 ENDIF IF(IERR.NE.0)GOTO 9999 ENDIF C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C**** Lecture du CHPOINT phi = ial1 ****C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C**** IPHI C ICOND = 1 MTYPR = 'CHPOINT ' IF(IERR .NE. 0)GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMCOM*MOD SEGDES MLMCOM IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C C**** Lecture du CHPOINT IGRPHI C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMVIT*MOD SEGDES MLMVIT IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C C**** Lecture du CHPOINT ILIPHI C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMCOM*MOD SEGDES MLMCOM IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C**** Lecture des CHPOINTs rho ****C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C**** RN1 C ICOND = 1 MTYPR = 'CHPOINT ' IF(IERR .NE. 0)GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMCOM*MOD SEGDES MLMCOM IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C C**** Lecture du CHPOINT IGRRN1 C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMVIT*MOD SEGDES MLMVIT IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C C**** Lecture du CHPOINT ILIRN1 C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMCOM*MOD SEGDES MLMCOM IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C**** Lecture des CHPOINTs vitesse ****C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C**** VN1 C ICOND = 1 MTYPR = 'CHPOINT ' IF(IERR .NE. 0)GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMVIT*MOD SEGDES MLMVIT IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C C**** Lecture du CHPOINT IGRVN1 C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMTEN*MOD IF (IDIM .EQ. 2)THEN ELSEIF(IDIM .EQ. 3) THEN ENDIF SEGDES MLMTEN IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C C C**** Lecture du CHPOINT ILIVN1 C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMVIT*MOD SEGDES MLMVIT IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C**** Lecture des CHPOINTs P ****C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C**** PN1 C ICOND = 1 MTYPR = 'CHPOINT ' IF(IERR .NE. 0)GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMCOM*MOD SEGDES MLMCOM IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C C**** Lecture du CHPOINT IGRPN1 C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMVIT*MOD SEGDES MLMVIT IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C C**** Lecture du CHPOINT ILIPN1 C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C Control du CHPOINT: QUEPO1 SEGACT MLMCOM*MOD SEGDES MLMCOM IF(IERR .NE. 0)THEN GOTO 9999 ENDIF C C**** Mass fractions and alpha C IF (NESP .GE. 1) THEN C C**** Mass fractions C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C C**** Control du CHPOINT C IF(IERR .NE. 0) GOTO 9999 C C**** Lecture du CHPOINT GRADYC C MTYPR = 'CHPOINT ' ICOND = 1 IF (IERR.NE.0) GOTO 9999 C C**** Control du CHPOINT: QUEPOI C JGN=4 JGM=IDIM*NESP SEGINI MLMCOM C NESP < 10 IF(NESP .GE. 10)THEN WRITE(IOIMP,*) 'NESP >= 10!' C C********** Message d'erreur standard C 21 2 C Données incompatibles C GOTO 9999 ENDIF C ICEL = 0 DO I1 = 1, NESP, 1 ICEL = ICEL + 1 ENDDO ENDDO IF(IERR .NE. 0) GOTO 9999 SEGSUP MLMCOM C C**** Lecture du CHPOINT ILIMYC C MTYPR = 'CHPOINT ' ICOND = 1 IF(IERR .NE. 0) GOTO 9999 C C**** Control du CHPOINT: QUEPOI C JGN = 4 JGM = NESP SEGINI MLMCOM DO I1 = 1, NESP, 1 ENDDO IF(IERR .NE. 0) GOTO 9999 SEGSUP MLMCOM C C******* ALPHA C ICOND = 1 MTYPR = 'CHPOINT ' IF (IERR.NE.0) GOTO 9999 C C**** Control du CHPOINT C IF(IERR .NE. 0) GOTO 9999 C C**** Lecture du CHPOINT GRADYC C MTYPR = 'CHPOINT ' ICOND = 1 IF (IERR.NE.0) GOTO 9999 C C**** Control du CHPOINT: QUEPOI C JGN=4 JGM=IDIM*NESP SEGINI MLMCOM C NESP < 10 IF(NESP .GE. 10)THEN WRITE(IOIMP,*) 'NESP >= 10!' C C********** Message d'erreur standard C 21 2 C Données incompatibles C GOTO 9999 ENDIF C ICEL = 0 DO I1 = 1, NESP, 1 ICEL = ICEL + 1 ENDDO ENDDO SEGSUP MLMCOM IF(IERR .NE. 0) GOTO 9999 C C**** Lecture du CHPOINT ILIALC C MTYPR = 'CHPOINT ' ICOND = 1 IF(IERR .NE. 0) GOTO 9999 C C**** Control du CHPOINT: QUEPOI C JGN = 4 JGM = NESP SEGINI MLMCOM DO I1 = 1, NESP, 1 ENDDO IF(IERR .NE. 0) GOTO 9999 SEGSUP MLMCOM C ELSE IYC = 0 IGRYC = 0 ILIMYC = 0 IALC = 0 IGRALC = 0 ILIALC = 0 ENDIF C C WRITE(IOIMP,*) 'Fin qui' C WRITE(IOIMP,*) IPHI, IGRPHI, ILIPHI C WRITE(IOIMP,*) IRN1, IGRRN1, ILIRN1 C WRITE(IOIMP,*) IVN1, IGRVN1, ILIVN1 C WRITE(IOIMP,*) IPN1, IGRPN1, ILIPN1 C WRITE(IOIMP,*) IYC, IGRYC, ILIMYC C WRITE(IOIMP,*) IALC, IGRALC, ILIALC C WRITE(IOIMP,*) 'Fin qui' C goto 9999 C IF(IDIM .EQ. 2)THEN C C******* Deux Dimensions, 2-eme ordre en espace, 2-eme ordre en C temps C & ICEN,IFACE,IFACEL,INORM, & IPHI, IGRPHI, ILIPHI, & IRN1, IGRRN1, ILIRN1, & IVN1, IGRVN1, ILIVN1, & IPN1, IGRPN1, ILIPN1, & IYC, IGRYC, ILIMYC, & IALC, IGRALC, ILIALC, & IPHIF, IRN1F, IVN1F, IPN1F, IYF, IALF) IF(IERR .NE. 0) GOTO 9999 ELSE C C******* Message d'erreur standard C 251 2 C Tentative d'utilisation d'une option non implémentée C C ENDIF SEGSUP MLMCOM SEGSUP MLMVIT SEGSUP MLMTEN C C**** Ecriture de C IPHIF, IAL2F, IRN1F, IRN2F, IVN1F, IVN2F, IPN1F, IPN2F C MTYPR = 'MCHAML ' C WRITE(IOIMP,*) nesp IF (NESP .GE. 1) THEN ENDIF C 9999 CONTINUE C RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales