nlovep
C NLOVEP SOURCE CB215821 24/04/12 21:16:49 11897 C_______________________________________________________________________ C C VERIFICATION ET PREPARATION DU TRAVAIL SUR LA MOYENNE C NON LOCALE C C C Entrees: C -------- C IPCHCO Pointeur sur un MCHAML de Connectivite C (ss-type CONNECTIVITE NON LOCAL) C IPCHI Pointeur sur un MCHAML de ss-type indifferentt C IPLMOT Pointeur sur un LISTMOTS de noms de composante C C Sorties: C -------- C IRET=1 ou 0 si OK ou non C IPCHO pointeur sur le champ moyenne C NLOC1 pointeur sur l'arbre de calcul C C Appele par: NLOCA1 C ----------- C C Appel a: C -------- C C DOUBLO : detection de doublon C LOADPO : lecture d'un point (pointeur --> x(3)) C ELQUOI, IDENT, KOMCHA, COPIE8, DTCHEL C C P.PEGON 9/11/92 C_______________________________________________________________________ C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) LOGICAL LMASS,LCARA * -INC PPARAM -INC CCOPTIO -INC SMCHAML -INC SMELEME -INC SMMODEL -INC SMLMOTS -INC SMINTE CHARACTER*(LCONMO) CONM * SEGMENT INFO INTEGER INFELL(JG) ENDSEGMENT * SEGMENT NOTYPE CHARACTER*16 TYPE (NBTYPE) ENDSEGMENT * SEGMENT MPTVAL INTEGER IPOS(NS) ,NSOF(NS) INTEGER IVAL(NCOSOU) CHARACTER*16 TYVAL(NCOSOU) ENDSEGMENT * SEGMENT WRK0 INTEGER IRAGNT(NSOUCO),IDUMMM(2,NSOUCO),IDUPLI(NSOUCO) END SEGMENT * SEGMENT NLOC1 INTEGER ILOC2(NZONEF),MOLOC2(NZONEF) END SEGMENT * SEGMENT NLOC2 INTEGER MPCHAM (NDOUBL) INTEGER ILOC4 (NDOUBL) INTEGER MODLAC,MAILEF,MINTEF INTEGER MAILAC (NSZACC) INTEGER MINTAC (NSZACC) INTEGER ILOC3 (NSZACC) INTEGER ILOC3I,ILOC3O INTEGER MELCAR END SEGMENT * SEGMENT NLOC3 INTEGER MELVAC (NCOMP) END SEGMENT * SEGMENT NLOC4 INTEGER JCLE REAL*8 PT1(3),PT2(3),DISP INTEGER MELPNI,MELPLI END SEGMENT * PARAMETER ( NINF=3 ) INTEGER INFOS(NINF) C PARAMETER(NCLE=5) CHARACTER*4 MCLE(NCLE) DATA MCLE/'NORM','TRAN','POIN','DROI','PLAN'/ C C C ACTIVATION DU CHAMP DE CONNECTIVITE C MCHELM=IPCHCO NSOUCO=ICHAML(/1) SEGINI,WRK0 C C ON ETABLIT LA LISTE DES MAILLAGES C ACTIVATION DU SECOND MELVAL DU CHAMP DE CONNECTIVITE C QUI EST LE MODELE ASSOCIE AU SS-ZONES ACCESSIBLE C ON ETABLIT LA LISTE DE CES MODELES C ON DESACTIVE LE MELVAL C DO ISOUCO=1,NSOUCO IDUMMM(1,ISOUCO)=IMACHE(ISOUCO) MCHAML=ICHAML(ISOUCO) IRAGNT(ISOUCO)=ISOUCO NCOMP=IELVAL(/1) IF(NCOMP.LT.4.OR.NCOMP.GT.6)THEN SEGSUP,WRK0 GOTO 9999 ENDIF IF(NOMCHE(2).NE.'PMOD')THEN MOTERR(1:4)='PMOD' SEGSUP,WRK0 GOTO 9999 ENDIF IF(TYPCHE(2).NE.'POINTEURMMODEL')THEN MOTERR(1:4)='PMOD' MOTERR(5:12)='MODEL ' SEGSUP,WRK0 GOTO 9999 ENDIF MELVAL=IELVAL(2) IDUMMM(2,ISOUCO)=IELCHE(1,1) END DO C C ON ORDONNE LE TABLEAU IDUMMM EN GARDANT LA TRACE DES PERMUTATIONS C DANS IRAGNT C ON DETECTE LES DOUBLONS: C IDUPLI INDIQUE LE NOMBRE DE DOUBLON PAR ZONE EFFECTIVE C IDUMMM POINTE SUR LE MAILLAGE/MODELE DE LA ZONE EFFECTIVE C C C ON REMPLIT NLOC1 ET PARTIELLEMENT NLOC2 C ON ACTIVE LES MMODEL C ON ACTIVE LES MAILLAGES EFFECTIFS C ON SUPRIME WRK0 C J=0 NSZACC=0 SEGINI,NLOC1 DO ISOUCF=1,NZONEF NDOUBL=IDUPLI(ISOUCF) SEGINI,NLOC2 ILOC2(ISOUCF)=NLOC2 MMODEL=IDUMMM(2,ISOUCF) MODLAC=MMODEL DO IDOUBL=1,NDOUBL J=J+1 MPCHAM(IDOUBL)=IRAGNT(J) ILOC4 (IDOUBL)=0 END DO MELEME=IDUMMM(1,ISOUCF) MAILEF=MELEME END DO SEGSUP,WRK0 C C ON ACTIVES LES IMODEL ET ON CONTINUE DE REMPLIR NLOC2 C (MAILLAGE ET MINTE) C IL FAUT ACTIVER LE MINTE !!!! C ON VERIFIE AU PASSAGE QUE LA FORMULATION DU MODELE EST C BIEN MASSIVE ET EN FORMULATION NON-LOCALE C ... ET QUE SOIT LES LONGUEURS CARACTERISTIQUES SUR UNE MEME C SOUS-ZONE EFFECTIVE SONT IDENTIQUE OU QUE LE MELVAL DE LONGUEUR C CARACTERISTIQUE EST LE MEME. POUR CELA ON ACTIVE C ET ON DESACTIVE LE PREMIER MELVAL DU CHAMP DE CONNECTIVITE C C LMASS=.TRUE. LCARA=.TRUE. * 1-ere boucle sur les zones effectives (NZONEF) DO ISOUCF=1,NZONEF C NLOC2=ILOC2(ISOUCF) ILOC3I=0 ILOC3O=0 MMODEL=MODLAC NSZACC=KMODEL(/1) * PP 15/6/93 NDOUBL=MPCHAM(/1) SEGADJ,NLOC2 DO ISZACC=1,NSZACC IMODEL=KMODEL(ISZACC) MELE=NEFMOD IF (MFR .NE. 1) THEN LMASS=.FALSE. ENDIF MAILAC(ISZACC)=IMAMOD INLOC=0 IF(INFMOD(/1).GE.13) INLOC=-1*INFMOD(13) IF(INLOC.EQ.0) THEN LMASS=.FALSE. ENDIF minte=infmod(7) MINTAC(ISZACC)=minte ILOC3 (ISZACC)=0 * END DO C ICHAMC=MPCHAM(1) MCHAML=ICHAML(ICHAMC) IF(NOMCHE(1).NE.'NLAR')THEN MOTERR(1:4)='NLAR' LCARA=.FALSE. ELSEIF(TYPCHE(1).NE.'REAL*8')THEN MOTERR(1:4)='NLAR' MOTERR(5:12)='FLOTTANT' LCARA=.FALSE. ENDIF IF(LCARA)THEN MELVAL=IELVAL(1) MELCAR=MELVAL IF(VELCHE(/1).EQ.1.AND.VELCHE(/2).EQ.1)THEN XLCAR=VELCHE(1,1) ELSE XLCAR=0.D0 ENDIF NDOUBL=MPCHAM(/1) C DO IDOUBL=1,NDOUBL ICHAMC=MPCHAM(IDOUBL) MCHAML=ICHAML(ICHAMC) IF(NOMCHE(1).NE.'NLAR')THEN MOTERR(1:4)='NLAR' LCARA=.FALSE. ELSEIF(TYPCHE(1).NE.'REAL*8')THEN MOTERR(1:4)='NLAR' MOTERR(5:12)='FLOTTANT' LCARA=.FALSE. ENDIF IF(LCARA)THEN MELVAL=IELVAL(1) IF(XLCAR.EQ.0.D0)THEN MELVA1=MELCAR IF(MELVA1.VELCHE(/1).EQ.VELCHE(/1).AND. > MELVA1.VELCHE(/2).EQ.VELCHE(/2))THEN XDIFNL=0.D0 XMAXNL=0.D0 DO IB=1,VELCHE(/2) DO IG=1,VELCHE(/1) XDIFNL=XDIFNL+ > ABS(MELVA1.VELCHE(IG,IB)-VELCHE(IG,IB)) XMAXNL=MAX(XMAXNL,MELVA1.VELCHE(IG,IB), > VELCHE(IG,IB)) ENDDO ENDDO ELSE XDIFNL=1 XMAXNL=1 ENDIF IF(XMAXNL.EQ.0.D0.OR.XDIFNL.GT.XMAXNL*1.D-10)THEN LCARA=.FALSE. ENDIF C ELSE IF(XLCAR.NE.VELCHE(1,1))THEN LCARA=.FALSE. ENDIF ENDIF ENDIF END DO ENDIF END DO * fin de la 1-ere boucle sur les zones effectives (NZONEF) IF(.NOT.LMASS) GOTO 9998 IF(.NOT.LCARA) GOTO 9998 C C ON CREE UN HEADER DE MCHAML DE CONNECTIVITE SUR LES ZONES C EFFECTIVES C ON CREE UN HEADER DE MODELE SUR LES ZONES EFFECTIVES QUI C REPREND LE IMODEL ASSOCIE A LA ZONE COURANTE C L1=TITCHE(/1) N1=NZONEF N3=INFCHE(/2) SEGINI,MCHEL1 MCHEL1.TITCHE=TITCHE MCHEL1.IFOCHE=IFOCHE SEGINI,MMODE1 * 2-eme boucle sur les zones effectives (NZONEF) DO ISOUCF=1,NZONEF NLOC2=ILOC2(ISOUCF) ICHAMC=MPCHAM(1) MCHAML=ICHAML(ICHAMC) IMACHA=IMACHE(ICHAMC) MCHEL1.IMACHE(ISOUCF)=IMACHA MCHEL1.ICHAML(ISOUCF)=0 MMODEL=MODLAC NSZACC=KMODEL(/1) DO ISZACC=1,NSZACC IMODEL=KMODEL(ISZACC) IF (IMAMOD.EQ.IMACHA)GOTO 1 END DO GOTO 9997 1 MINTEF=MINTAC(ISZACC) MMODE1.KMODEL(ISOUCF)=IMODEL MCHEL1.CONCHE(ISOUCF)=CONMOD DO J=1,N3 MCHEL1.INFCHE(ISOUCF,J)=INFCHE(ICHAMC,J) END DO END DO * fin de la 2-eme boucle sur les zones effectives (NZONEF) C C PREPARATION DE NOTYPE POUR LE CHAMP A MOYENNER C NBTYPE=1 SEGINI,NOTYPE TYPE(1)='REAL*8' C C ON VERIFIE LA COMPATIBILITE DES SUPPORTS GEOMETRIQUES ET C QUE LES COMPOSANTES NECESSAIRES EXISTENT SUR TOUTES LES C ZONE EFFECTIVES C * 3-eme boucle sur les zones effectives (NZONEF) MMODEL=MMODE1 DO ISOUCF=1,NZONEF NLOC2=ILOC2(ISOUCF) IMODEL=KMODEL(ISOUCF) CONM=CONMOD IPMAIL=IMAMOD IF(IRTD .NE. 1)THEN GOTO 9996 ENDIF * ON RECUPERE 'LVIA' MLMOTS=INFMOD(14) SEGACT,MLMOTS * DANS LE CAS 'SB' ON COMPLETE LE LISTMOTS SI BESOIN * ON CREE LE NOMID ASSOCIE ET ON LE STOCKE DANS NLOC2 NBRFAC=0 SEGINI,NOMID MOMOTS=NOMID DO IE1=1,NBROBL END DO MOLOC2(ISOUCF)=MOMOTS INLOC=-1*INFMOD(13) IF(INLOC.EQ.2.AND.NBROBL.EQ.1) THEN NBROBL=15 SEGADJ, NOMID LESOBL(2) ='SI11'; LESOBL(3) ='SI22'; LESOBL(4) ='SI33'; LESOBL(5) ='COX1'; LESOBL(6) ='COY1'; LESOBL(7) ='COZ1'; LESOBL(8) ='COX2'; LESOBL(9) ='COY2'; LESOBL(10)='COZ2'; LESOBL(11)='COX3'; LESOBL(12)='COY3'; LESOBL(13)='COZ3'; LESOBL(14)='SBFT'; LESOBL(15)='LONG'; ENDIF * ON PEUT ALORS VERIFIER LA PRESENCE DES COMPOSANTES NECESSAIRES > INFOS,3,IVAMOT) IF (IERR .NE. 0) THEN GOTO 9996 ENDIF MPTVAL=IVAMOT NCOMP=IVAL(/1) SEGINI,NLOC3 ILOC3I=NLOC3 DO ICOMP=1,NCOMP MELVAC(ICOMP)=IVAL(ICOMP) END DO SEGSUP,MPTVAL END DO * fin de la 3-eme boucle sur les zones effectives (NZONEF) C C ON VERIFIE QUE LES MINTE EXISTENT ET QU'ILS SONT AUX PT DE GAUSS C POUR LE CHAMP A MOYENNER C * 4-eme boucle sur les zones effectives (NZONEF) MCHEL2=IPCHI DO ISOUCF=1,NZONEF IMODEL=KMODEL(ISOUCF) CONM=CONMOD IPMAIL=IMAMOD DO J=1,MCHEL2.CONCHE(/2) IF((MCHEL2.CONCHE(J).EQ.CONM) > .AND.(MCHEL2.IMACHE(J).EQ.IPMAIL))THEN IF((MCHEL2.INFCHE(J,4).EQ.0) > .OR.(MCHEL2.INFCHE(J,6).NE.5))THEN GOTO 9996 ENDIF ENDIF END DO END DO * fin de la 4-eme boucle sur les zones effectives (NZONEF) C C ON CONTINUE LA VERIFICATION DU MCHELM DES C CONNECTIVITES C ON CONTINUE DE REMPLIR NLOC2 ET ON CREE ET REMPLIT LES NLOC4 C PAR OUVERTURE/FERMETURE DE MELVAL C * 5-eme boucle sur les zones effectives (NZONEF) DO ISOUCF=1,NZONEF NLOC2=ILOC2(ISOUCF) NDOUBL=MPCHAM(/1) DO IDOUBL=1,NDOUBL ICHAMC=MPCHAM(IDOUBL) CONM=CONCHE(ICHAMC) SEGINI,NLOC4 ILOC4(IDOUBL)=NLOC4 DO ICLE=1,NCLE IF(CONM(13:16) .EQ. MCLE(ICLE))GOTO 2 END DO GOTO 9996 2 JCLE=ICLE MCHAML=ICHAML(ICHAMC) NCOMP=IELVAL(/1) GOTO (11,12,13,14,15),ICLE C NORM 11 CONTINUE IF(NCOMP.NE.4)GOTO 16 GOTO 17 C TRAN 12 CONTINUE IF(NCOMP.NE.5)GOTO 16 IF (NOMCHE(5).NE.'POT1')THEN MOTERR(1:4)='POT1' MOTERR(13:16)='TRAN' GOTO 9996 ENDIF IF (TYPCHE(5).NE.'POINTEURPOINT ')THEN MOTERR(1:4)='POT1' MOTERR(5:12)='POINT ' MOTERR(13:16)='TRAN' GOTO 9996 ENDIF MELVAL=IELVAL(5) JPT1=IELCHE(1,1) GOTO 17 C POIN 13 CONTINUE IF(NCOMP.NE.5)GOTO 16 IF (NOMCHE(5).NE.'POT1')THEN MOTERR(1:4)='POT1' MOTERR(13:16)='POIN' GOTO 9996 ENDIF IF (TYPCHE(5).NE.'POINTEURPOINT ')THEN MOTERR(1:4)='POT1' MOTERR(5:12)='POINT ' MOTERR(13:16)='POIN' GOTO 9996 ENDIF MELVAL=IELVAL(5) JPT1=IELCHE(1,1) GOTO 17 C DROI 14 CONTINUE IF(NCOMP.NE.6)GOTO 16 IF (NOMCHE(5).NE.'POT1')THEN MOTERR(1:4)='POT1' MOTERR(13:16)='DROI' GOTO 9996 ENDIF IF (TYPCHE(5).NE.'POINTEURPOINT ')THEN MOTERR(1:4)='POT1' MOTERR(5:12)='POINT ' MOTERR(13:16)='DROI' GOTO 9996 ENDIF MELVAL=IELVAL(5) JPT1=IELCHE(1,1) IF (NOMCHE(6).NE.'POT2')THEN MOTERR(1:4)='POT2' MOTERR(13:16)='DROI' GOTO 9996 ENDIF IF (TYPCHE(6).NE.'POINTEURPOINT ')THEN MOTERR(1:4)='POT2' MOTERR(5:12)='POINT ' MOTERR(13:16)='DROI' GOTO 9996 ENDIF MELVAL=IELVAL(6) JPT2=IELCHE(1,1) GOTO 17 C PLAN 15 CONTINUE IF(NCOMP.NE.6)GOTO 16 IF (NOMCHE(5).NE.'POT1')THEN MOTERR(1:4)='POT1' MOTERR(13:16)='PLAN' GOTO 9996 ENDIF IF (TYPCHE(5).NE.'POINTEURPOINT ')THEN MOTERR(1:4)='POT1' MOTERR(5:12)='POINT ' MOTERR(13:16)='PLAN' GOTO 9996 ENDIF MELVAL=IELVAL(5) JPT1=IELCHE(1,1) IF (NOMCHE(6).NE.'DISP')THEN MOTERR(1:4)='DISP' MOTERR(13:16)='PLAN' GOTO 9996 ENDIF IF (TYPCHE(6).NE.'REAL*8')THEN MOTERR(1:4)='DISP' MOTERR(5:12)='FLOTTANT' MOTERR(13:16)='PLAN' GOTO 9996 ENDIF MELVAL=IELVAL(6) DISP=VELCHE(1,1) GOTO 17 C 16 CONTINUE GOTO 9996 C 17 CONTINUE IF (NOMCHE(3).NE.'NPNI')THEN MOTERR(1:4)='NPNI' GOTO 9996 ENDIF IF (TYPCHE(3).NE.'POINTEURLISTENTI')THEN MOTERR(1:4)='NPNI' MOTERR(5:12)='LISTENTI' GOTO 9996 ENDIF MELPNI=IELVAL(3) IF (NOMCHE(4).NE.'NPLI')THEN MOTERR(1:4)='NPLI' GOTO 9996 ENDIF IF (TYPCHE(4).NE.'POINTEURLISTENTI')THEN MOTERR(1:4)='NPLI' MOTERR(5:12)='LISTENTI' GOTO 9996 ENDIF MELPLI=IELVAL(4) END DO END DO * fin de la 5-eme boucle sur les zones effectives (NZONEF) C C ON VERIFIE QUE SUR CHAQUE SS-ZONE EFFECTIVE ON A UN ICLE=1 ET C UN SEUL C * 6-eme boucle sur les zones effectives (NZONEF) DO ISOUCF=1,NZONEF NLOC2=ILOC2(ISOUCF) NDOUBL=ILOC4(/1) KCLE=0 DO IDOUBL=1,NDOUBL NLOC4=ILOC4(IDOUBL) IF(JCLE.EQ.1)KCLE=KCLE+1 END DO IF(KCLE.EQ.0)THEN GOTO 9996 ENDIF IF(KCLE.GT.1)THEN GOTO 9996 ENDIF END DO * fin de la 6-eme boucle sur les zones effectives (NZONEF) C C ON COPIE LE CHAMELEM A MOYENNER C C C ON FINIT DE REMPLIR NLOC2 ET ON CREE ET REMPLIT LES NLOC3 C LES MELVAL RESULTATS DE MOYENNE CONSTANT SONT SEGADJUSTES C * 7-eme boucle sur les zones effectives (NZONEF) DO ISOUCF=1,NZONEF NLOC2=ILOC2(ISOUCF) MOMOTS=MOLOC2(ISOUCF) C MMODEL=MODLAC NSZACC=KMODEL(/1) DO ISZACC=1,NSZACC IMODEL=KMODEL(ISZACC) CONM=CONMOD IPMAIL=IMAMOD > INFOS,3,IVAMOT) MPTVAL=IVAMOT NCOMP=IVAL(/1) SEGINI,NLOC3 ILOC3(ISZACC)=NLOC3 DO ICOMP=1,NCOMP MELVAC(ICOMP)=IVAL(ICOMP) END DO SEGSUP,MPTVAL END DO C IMODEL=MMODE1.KMODEL(ISOUCF) CONM=CONMOD IPMAIL=IMAMOD > INFOS,3,IVAMOT) MPTVAL=IVAMOT NCOMP=IVAL(/1) SEGINI,NLOC3 ILOC3O=NLOC3 DO ICOMP=1,NCOMP MELVAC(ICOMP)=IVAL(ICOMP) END DO SEGSUP,MPTVAL C IPT1=IPMAIL N1EL=IPT1.NUM(/2) MINTE=MINTEF N1PTEL=POIGAU(/1) DO ICOMP=1,NCOMP MELVAL=MELVAC(ICOMP) C SI LE CHAMP N"EST PAS DANS SES BORNES ... IF((VELCHE(/1).NE.N1PTEL).OR.(VELCHE(/2).NE.N1EL))THEN C ... IL EST CONSTANT IF((VELCHE(/1).EQ.1).AND.(VELCHE(/2).EQ.1))THEN * PP 15/6/93 N2PTEL=IELCHE(/1) N2EL=IELCHE(/2) SEGADJ,MELVAL XELCHE=VELCHE(1,1) DO I1EL=1,N1EL DO I1PTEL=1,N1PTEL VELCHE(I1PTEL,I1EL)=XELCHE END DO END DO C ... OU IL EST CONSTANT PAR ELEMENT ELSE IF (VELCHE(/1).EQ.1)THEN IF(VELCHE(/2).NE.N1EL)THEN GOTO 9995 ENDIF * PP 15/6/93 N2PTEL=IELCHE(/1) N2EL=IELCHE(/2) SEGADJ MELVAL DO I1EL=1,N1EL XELCHE=VELCHE(1,I1EL) DO I1PTEL=1,N1PTEL VELCHE(I1PTEL,I1EL)=XELCHE END DO END DO C ... OU IL EST ERRONE ELSE GOTO 9995 ENDIF ENDIF END DO END DO * fin de la 7-eme boucle sur les zones effectives (NZONEF) C C ON SORT (SANS ERREUR ???) C DO ISOUCF=1,NZONEF NOMID=MOLOC2(ISOUCF) SEGSUP,NOMID ENDDO SEGSUP,NOTYPE SEGSUP,MCHEL1 SEGSUP,MMODE1 IRET=1 RETURN C C TRAITEMENT DES ERREURS C 9995 CONTINUE 9996 CONTINUE DO ISOUCF=1,NZONEF NLOC2=ILOC2 (ISOUCF) NDOUBL=ILOC4(/1) DO IDOUBL=1,NDOUBL IF(ILOC4(IDOUBL).NE.0)THEN NLOC4=ILOC4(IDOUBL) SEGSUP,NLOC4 ENDIF END DO NSZACC=ILOC3(/1) DO ISZACC=1,NSZACC IF(ILOC3(ISZACC).NE.0)THEN NLOC3=ILOC3(ISZACC) SEGSUP,NLOC3 END IF END DO IF (ILOC3O.NE.0)THEN NLOC3=ILOC3O SEGSUP,NLOC3 END IF IF (ILOC3I.NE.0)THEN NLOC3=ILOC3I NCOMP=MELVAC(/1) DO ICOMP=1,NCOMP MELVAL=MELVAC (ICOMP) END DO SEGSUP,NLOC3 ENDIF END DO 9997 CONTINUE NOMID=MOMOTS SEGSUP,NOMID,NOTYPE SEGSUP,MCHEL1 SEGSUP,MMODE1 9998 CONTINUE DO ISOUCF=1,NZONEF NLOC2=ILOC2 (ISOUCF) MELEME=MAILEF MMODEL=MODLAC NSZACC=KMODEL(/1) DO ISZACC=1,NSZACC MINTE=MINTAC(ISZACC) IMODEL=KMODEL(ISZACC) END DO END DO DO ISOUCF=1,NZONEF NLOC2=ILOC2 (ISOUCF) MMODEL=MODLAC SEGSUP,NLOC2 END DO SEGSUP,NLOC1 9999 CONTINUE DO ISOUCO=1,NSOUCO MCHAML=ICHAML(ISOUCO) END DO C IRET=0 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales