1 : C DYNECH SOURCE CHAT 05/01/12 23:18:06 5004 2 : SUBROUTINE DYNECH(IPCHAR,TINI,DT,NPAS,MMATRX,NDDL,ICHT2,ICHT3) 3 : IMPLICIT INTEGER(I-N) 4 : IMPLICIT REAL*8(A-H,O-Z) 5 : ************************************************************************ 6 : * 7 : * D Y N E C H 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 FORCES EXTERIEURES 15 : * 16 : * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) 17 : * ----------- 18 : * 19 : * IPCHAR (E) POINTEUR SUR UN 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 : * MMATRX (E) POINTEUR SUR UN SEGMENT MMATRI ( ACTIF ) 24 : * NDDL (E) NOMBRE DE DEGRES DE LIBERTE 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 PAS 0 AU PAS NPAS + 1. 33 : * ON SUPPOSE QUE LE CHARGEMENT NE CONTIENT QU'UN SEUL CHARGEMENT 34 : * ELEMENTAIRE; ON POURRA CREER AUTANT DE VECTEURS ET DE LISTES DE 35 : * COEFFICIENTS QUE DE CHARGEMENTS ELEMENTAIRES, PUIS ON EN FERA LA 36 : * COMBINAISON LINEAIRE. 37 : * 38 : * AUTEUR, DATE DE CREATION: 39 : * ------------------------- 40 : * DENIS ROBERT, LE 8 NOVEMBRE 1988. 41 : * REVU ET CORRIGE DECEMBRE 89 MP 42 : * 43 : * LANGAGE: 44 : * -------- 45 : * ESOPE + FORTRAN77 46 : * 47 : ************************************************************************ 48 : * 49 : * MODULES UTILISES: 50 : * 51 : -INC CCOPTIO 52 : -INC SMCHARG 53 : -INC SMLREEL 54 : * 55 : SEGMENT,MCHT2 56 : REAL*8 VCC2(NDDL) 57 : ENDSEGMENT 58 : * 59 : SEGMENT,MCHT3 60 : REAL*8 COE1(LCOE) 61 : ENDSEGMENT 62 : POINTEUR MCHT32.MCHT3 63 : * 64 : * REAL*8 VEC(*),COEF(*) 65 : PARAMETER ( EPS=1.E-3 ) 66 : * 67 : MCHT2=ICHT2 68 : MCHT3=ICHT3 69 : EPSI=DT/EPS 70 : T=TINI+(DT*(NPAS+1)) 71 : MCHARG=IPCHAR 72 : SEGACT,MCHARG 73 : NCHAR=KCHARG(/1) 74 : IFOI=0 75 : *+* ON SUPPOSE QUE LA STRUCTURE DU CHARGEMENT EST TELLE QUE NCHAR=1 76 : IF (NCHAR.GT.1) THEN 76 : CALL ERREUR(512) 77 : SEGDES,MCHARG 78 : RETURN 79 : ENDIF 80 : * DO 10 IC=1,NCHAR 81 : IC=1 82 : IFOI=IFOI+1 83 : ICHARG=KCHARG(IC) 84 : SEGACT,ICHARG 85 : IF(CHATYP.NE.'CHPOINT '.OR.CHAMOB(IC).NE.'STAT' 86 : & .OR.CHALIE(IC).NE.'LIE ') THEN 87 : SEGDES ICHARG 88 : SEGDES MCHARG 88 : CALL ERREUR(696) 89 : RETURN 90 : ENDIF 91 : MLREEL=ICHPO2 92 : SEGACT,MLREEL 93 : NF=PROG(/1) 94 : * IF (PROG(1).GT.T.OR.PROG(NF).LT.T) THEN 95 : IF ((PROG(1)-EPSI).GT.T.OR.(PROG(NF)+EPSI).LT.T) THEN 96 : IPCHPO=0 97 : DO 20 I=1,IFOI 98 : ICHARG=KCHARG(I) 99 : SEGDES,ICHARG 100 : 20 CONTINUE 101 : * END DO 102 : SEGDES,MLREEL,MCHARG 103 : RETURN 104 : ENDIF 105 : * 106 : *--- ON RANGE LES VALEURS DU CHPOINT DANS UN VECTEUR 107 : * 108 : IPCHPO=ICHPO1 108 : CALL DYNE04(MMATRX,IPCHPO,ICHT2,NDDL,'DUAL') 109 : IF (IERR.NE.0) RETURN 110 : * 111 : ICHATX=ICHPO2 112 : ICHAFX=ICHPO3 113 : * 114 : *--- LISTE DE COEFFICIENTS LIES AUX PAS DE CALCUL 115 : * 115 : CALL DYNEIN(ICHATX,ICHAFX,TINI,DT,NPAS,ICHT3) 116 : IF (IERR.NE.0) RETURN 117 : * 118 : SEGDES,MLREEL,ICHARG 119 : *10 CONTINUE 120 : * END DO 121 : SEGDES,MCHARG 122 : * 123 : END 124 : 125 :
© Cast3M 2003 - All rights reserved.
Disclaimer