C DYNE09 SOURCE CHAT 05/01/12 23:13:16 5004 SUBROUTINE DYNE09(IPCHAR,TINI,DT,NPAS,ICPC,IDDL,ICHT1,ICHT3) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) ************************************************************************ * * D Y N E 0 9 * ----------- * * FONCTION: * --------- * UTILITAIRE DE L'OPERATEUR "DYNE" * OBTENTION D'UN VECTEUR ET D'UNE LISTE DE COEFFICIENTS AFIN DE * REPRESENTER L'OBJET CHARGEMENT DES DEPLACEMENTS IMPOSES * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * IPCHAR (E) POINTEUR SUR L'OBJET CHARGEMENT * TINI (E) VALEUR DU TEMPS INITIAL ( = 0. PAR DEFAUT ) * DT (E) PAS DE TEMPS * NPAS (E) NOMBRE DE PAS DE CALCUL * ICPC (E) POINTEUR SUR UN SEGMENT ICPR ( ACTIF ) * IDDL (E) NOMBRE DE DEGRES DE LIBERTE LIES * VEC (S) VECTEUR CONTENANT LES VALEURS DU CHPOINT ISSU DU * CHARGEMENT * COEF (S) LISTE DE COEFFICIENTS A APPLIQUER AU VECTEUR POUR * OBTENIR LA CONTRIBUTION DU CHARGEMENT AU PAS DESIRE * * REMARQUE: * --------- * LES OBJETS CHARGEMENTS SONT DONNES DU TEMPS 0 AU TEMPS NPAS + 1 * * AUTEUR, DATE DE CREATION: * ------------------------- * DENIS ROBERT, LE 14 DECEMBRE 1988. * REVU ET CORRIGE DECEMBRE 89 MP * * LANGAGE: * -------- * ESOPE + FORTRAN77 * ************************************************************************ * * MODULES UTILISES: * -INC SMCHARG -INC SMLREEL -INC CCOPTIO * SEGMENT,MCHT1 REAL*8 VCC1(IDDL) ENDSEGMENT * SEGMENT,MCHT3 REAL*8 COE1(LCOE) ENDSEGMENT POINTEUR MCHT32.MCHT3 * * REAL*8 VEC(*),COEF(*) * MCHT1=ICHT1 MCHT3=ICHT3 T=TINI+(DT*(NPAS+1)) MCHARG=IPCHAR SEGACT,MCHARG NCHAR=KCHARG(/1) IFOI=0 *+* ON SUPPOSE QUE LA STRUCTURE DU CHARGEMENT EST TELLE QUE NCHAR=1 * DO 10 IC=1,NCHAR IC=1 IFOI=IFOI+1 ICHARG=KCHARG(IC) SEGACT,ICHARG IF(CHATYP.NE.'CHPOINT '.OR.CHAMOB(IC).NE.'STAT' & .OR.CHALIE(IC).NE.'LIE ') THEN SEGDES ICHARG SEGDES MCHARG CALL ERREUR(696) RETURN ENDIF MLREEL=ICHPO2 SEGACT,MLREEL NF=PROG(/1) IF(PROG(1).GT.T.OR.PROG(NF).LT.T) THEN IPCHPO=0 DO 20 I=1,IFOI ICHARG=KCHARG(I) SEGDES,ICHARG 20 CONTINUE * END DO SEGDES,MLREEL,MCHARG RETURN ENDIF * *--- ON RANGE LES VALEURS DU CHPOINT DANS UN VECTEUR * IPCHPO=ICHPO1 CALL DYNE11(ICPC,IPCHPO,ICHT1,IDDL) IF (IERR.NE.0) RETURN * ICHATX=ICHPO2 ICHAFX=ICHPO3 * *--- LISTE DE COEFFICIENTS LIES AUX PAS DE CALCUL * CALL DYNEIN(ICHATX,ICHAFX,TINI,DT,NPAS,ICHT3) IF (IERR.NE.0) RETURN * SEGDES,MLREEL,ICHARG *10 CONTINUE * END DO SEGDES,MCHARG * END