1 : C DYNE09 SOURCE CHAT 05/01/12 23:13:16 5004 2 : SUBROUTINE DYNE09(IPCHAR,TINI,DT,NPAS,ICPC,IDDL,ICHT1,ICHT3) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : ************************************************************************ 6 : * 7 : * D Y N E 0 9 8 : * ----------- 9 : * 10 : * FONCTION: 11 : * --------- 12 : * UTILITAIRE DE L'OPERATEUR "DYNE" 13 : * OBTENTION D'UN VECTEUR ET D'UNE LISTE DE COEFFICIENTS AFIN DE 14 : * REPRESENTER L'OBJET CHARGEMENT DES DEPLACEMENTS IMPOSES 15 : * 16 : * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) 17 : * ----------- 18 : * 19 : * IPCHAR (E) POINTEUR SUR L'OBJET CHARGEMENT 20 : * TINI (E) VALEUR DU TEMPS INITIAL ( = 0. PAR DEFAUT ) 21 : * DT (E) PAS DE TEMPS 22 : * NPAS (E) NOMBRE DE PAS DE CALCUL 23 : * ICPC (E) POINTEUR SUR UN SEGMENT ICPR ( ACTIF ) 24 : * IDDL (E) NOMBRE DE DEGRES DE LIBERTE LIES 25 : * VEC (S) VECTEUR CONTENANT LES VALEURS DU CHPOINT ISSU DU 26 : * CHARGEMENT 27 : * COEF (S) LISTE DE COEFFICIENTS A APPLIQUER AU VECTEUR POUR 28 : * OBTENIR LA CONTRIBUTION DU CHARGEMENT AU PAS DESIRE 29 : * 30 : * REMARQUE: 31 : * --------- 32 : * LES OBJETS CHARGEMENTS SONT DONNES DU TEMPS 0 AU TEMPS NPAS + 1 33 : * 34 : * AUTEUR, DATE DE CREATION: 35 : * ------------------------- 36 : * DENIS ROBERT, LE 14 DECEMBRE 1988. 37 : * REVU ET CORRIGE DECEMBRE 89 MP 38 : * 39 : * LANGAGE: 40 : * -------- 41 : * ESOPE + FORTRAN77 42 : * 43 : ************************************************************************ 44 : * 45 : * MODULES UTILISES: 46 : * 47 : -INC SMCHARG 48 : -INC SMLREEL 49 : -INC CCOPTIO 50 : * 51 : SEGMENT,MCHT1 52 : REAL*8 VCC1(IDDL) 53 : ENDSEGMENT 54 : * 55 : SEGMENT,MCHT3 56 : REAL*8 COE1(LCOE) 57 : ENDSEGMENT 58 : POINTEUR MCHT32.MCHT3 59 : * 60 : * REAL*8 VEC(*),COEF(*) 61 : * 62 : MCHT1=ICHT1 63 : MCHT3=ICHT3 64 : T=TINI+(DT*(NPAS+1)) 65 : MCHARG=IPCHAR 66 : SEGACT,MCHARG 67 : NCHAR=KCHARG(/1) 68 : IFOI=0 69 : *+* ON SUPPOSE QUE LA STRUCTURE DU CHARGEMENT EST TELLE QUE NCHAR=1 70 : * DO 10 IC=1,NCHAR 71 : IC=1 72 : IFOI=IFOI+1 73 : ICHARG=KCHARG(IC) 74 : SEGACT,ICHARG 75 : IF(CHATYP.NE.'CHPOINT '.OR.CHAMOB(IC).NE.'STAT' 76 : & .OR.CHALIE(IC).NE.'LIE ') THEN 77 : SEGDES ICHARG 78 : SEGDES MCHARG 78 : CALL ERREUR(696) 79 : RETURN 80 : ENDIF 81 : MLREEL=ICHPO2 82 : SEGACT,MLREEL 83 : NF=PROG(/1) 84 : IF(PROG(1).GT.T.OR.PROG(NF).LT.T) THEN 85 : IPCHPO=0 86 : DO 20 I=1,IFOI 87 : ICHARG=KCHARG(I) 88 : SEGDES,ICHARG 89 : 20 CONTINUE 90 : * END DO 91 : SEGDES,MLREEL,MCHARG 92 : RETURN 93 : ENDIF 94 : * 95 : *--- ON RANGE LES VALEURS DU CHPOINT DANS UN VECTEUR 96 : * 97 : IPCHPO=ICHPO1 97 : CALL DYNE11(ICPC,IPCHPO,ICHT1,IDDL) 98 : IF (IERR.NE.0) RETURN 99 : * 100 : ICHATX=ICHPO2 101 : ICHAFX=ICHPO3 102 : * 103 : *--- LISTE DE COEFFICIENTS LIES AUX PAS DE CALCUL 104 : * 104 : CALL DYNEIN(ICHATX,ICHAFX,TINI,DT,NPAS,ICHT3) 105 : IF (IERR.NE.0) RETURN 106 : * 107 : SEGDES,MLREEL,ICHARG 108 : *10 CONTINUE 109 : * END DO 110 : SEGDES,MCHARG 111 : * 112 : END 113 : 114 :
© Cast3M 2003 - All rights reserved.
Disclaimer