Télécharger dynech.eso

Retour à la liste

Numérotation des lignes :

  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
  77. CALL ERREUR(512)
  78. SEGDES,MCHARG
  79. RETURN
  80. ENDIF
  81. * DO 10 IC=1,NCHAR
  82. IC=1
  83. IFOI=IFOI+1
  84. ICHARG=KCHARG(IC)
  85. SEGACT,ICHARG
  86. IF(CHATYP.NE.'CHPOINT '.OR.CHAMOB(IC).NE.'STAT'
  87. & .OR.CHALIE(IC).NE.'LIE ') THEN
  88. SEGDES ICHARG
  89. SEGDES MCHARG
  90. CALL ERREUR(696)
  91. RETURN
  92. ENDIF
  93. MLREEL=ICHPO2
  94. SEGACT,MLREEL
  95. NF=PROG(/1)
  96. * IF (PROG(1).GT.T.OR.PROG(NF).LT.T) THEN
  97. IF ((PROG(1)-EPSI).GT.T.OR.(PROG(NF)+EPSI).LT.T) THEN
  98. IPCHPO=0
  99. DO 20 I=1,IFOI
  100. ICHARG=KCHARG(I)
  101. SEGDES,ICHARG
  102. 20 CONTINUE
  103. * END DO
  104. SEGDES,MLREEL,MCHARG
  105. RETURN
  106. ENDIF
  107. *
  108. *--- ON RANGE LES VALEURS DU CHPOINT DANS UN VECTEUR
  109. *
  110. IPCHPO=ICHPO1
  111. CALL DYNE04(MMATRX,IPCHPO,ICHT2,NDDL,'DUAL')
  112. IF (IERR.NE.0) RETURN
  113. *
  114. ICHATX=ICHPO2
  115. ICHAFX=ICHPO3
  116. *
  117. *--- LISTE DE COEFFICIENTS LIES AUX PAS DE CALCUL
  118. *
  119. CALL DYNEIN(ICHATX,ICHAFX,TINI,DT,NPAS,ICHT3)
  120. IF (IERR.NE.0) RETURN
  121. *
  122. SEGDES,MLREEL,ICHARG
  123. *10 CONTINUE
  124. * END DO
  125. SEGDES,MCHARG
  126. *
  127. END
  128.  
  129.  
  130.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales