dyne71
C DYNE71 SOURCE KICH 07/12/10 21:15:57 5994 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) *--------------------------------------------------------------------* * * * Op{rateur DYNE : algorithme de Fu - de Vogelaere * * ________________________________________________ * * * * D{termination des param}tres de liaison pour la base A. * * * * Param}tres: * * * * e ITLA Table rassemblant la description des liaisons * * e PDT Valeur du pas de temps * * es MTRA Segment de travail temporaire (indique si liaison POL) * * s NLIAA Nombre total de liaisons. * * s NXPALA Maxi du nombre de param}tres d{finissant une liaison. * * s NPLAA Maxi du nombre de points intervenant dans une liaison. * * s NIPALA Maxi du nombre de param}tres d{finissant une liaison. * * * * Auteur, date de cr{ation: * * * * Lionel VIVAN, le 24 aout 1989. * * * *--------------------------------------------------------------------* -INC PPARAM -INC CCOPTIO -INC SMTABLE * SEGMENT,MTRA INTEGER IPLA(NTRA) ENDSEGMENT * LOGICAL L0,L1 CHARACTER*8 TYPRET,CHARRE CHARACTER*40 CMOT * * Boucle sur le nombre de liaisons * NXPALA = 0 NIPALA = 20 NPLAA = 0 NLIAA = 0 IL = 0 10 CONTINUE IL = IL + 1 TYPRET = ' ' & TYPRET,I0,X0,CHARRE,L1,ITLIAI) IF (IERR.NE.0) RETURN IF (ITLIAI.NE.0) THEN NLIAA = NLIAA + 1 & 'MOT',I1,X0,CMOT,L1,IP1) IF (IERR.NE.0) RETURN * * ------ liaison {l{mentaire POINT_PLAN_FLUIDE * IF (CMOT(1:17).EQ.'POINT_PLAN_FLUIDE') THEN IPLA(IL) = 0 KIPALA = 3 KXPALA = 6 KPLAA = 1 NXPALA = MAX(NXPALA,KXPALA) NIPALA = MAX(NIPALA,KIPALA) NPLAA = MAX(NPLAA,KPLAA) * * ------ liaison {l{mentaire POINT_PLAN * ELSE IF (CMOT(1:10).EQ.'POINT_PLAN') THEN IPLA(IL) = 0 TYPRET = ' ' & TYPRET,I1,XAMO,CHARRE,L1,IP1) IF (IERR.NE.0) RETURN IF (TYPRET.EQ.'FLOTTANT') THEN KXPALA = 3 ELSE KXPALA = 2 ENDIF KIPALA = 3 KPLAA = 1 NXPALA = MAX(NXPALA,KXPALA) NIPALA = MAX(NIPALA,KIPALA) NPLAA = MAX(NPLAA,KPLAA) * * ------ liaison {l{mentaire de couplage en vitesse * ELSE IF (CMOT(1:16).EQ.'COUPLAGE_VITESSE') THEN IPLA(IL) = 0 KXPALA = 1 KPLAA = 2 KIPALA = 3 NXPALA = MAX(NXPALA,KXPALA) NIPALA = MAX(NIPALA,KIPALA) NPLAA = MAX(NPLAA,KPLAA) * * ------ liaison {l{mentaire de couplage en d{placement * ELSE IF (CMOT(1:20).EQ.'COUPLAGE_DEPLACEMENT') THEN IPLA(IL) = 0 KXPALA = 1 KPLAA = 2 KIPALA = 3 NXPALA = MAX(NXPALA,KXPALA) NIPALA = MAX(NIPALA,KIPALA) NPLAA = MAX(NPLAA,KPLAA) *+* * ------ liaison elementaire POLYNOMIALE * ELSE IF (CMOT(1:11).EQ.'POLYNOMIALE') THEN IPLA(IL) = 1 IF (IERR.NE.0) RETURN KXPALA = NX KPLAA = NI KIPALA = 3 NXPALA = MAX(NXPALA,KXPALA) NIPALA = MAX(NIPALA,KIPALA) NPLAA = MAX(NPLAA,KPLAA) * * ------ liaison {l{mentaire ... * * ELSE IF (CMOT(1: ).EQ.' ') THEN * IPLA(IL) = 0 * KXPALA = ... * KIPALA = ... * KPLAA = ... * NXPALA = MAX(NXPALA,KXPALA) * NIPALA = MAX(NIPALA,KIPALA) * NPLAA = MAX(NPLAA,KPLAA) ELSE RETURN ENDIF GOTO 10 ENDIF * END
© Cast3M 2003 - Tous droits réservés.
Mentions légales