Télécharger norma5.eso

Retour à la liste

Numérotation des lignes :

  1. C NORMA5 SOURCE CB215821 18/04/04 21:15:08 9798
  2. SUBROUTINE NORMA5(ITBAS,IPLMOT,MOTCLE,IFLUI,COEFP,COEFPI)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8 (A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * N O R M A 5
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. *
  13. * NORMER UNE 'TABLE' EN RAMENANT SA PLUS GRANDE VALEUR A 1
  14. * ON NE CREE PAS UNE NOUVELL TABLE. LA NORMALISATION EST FAITE
  15. * SUR LES CHAMPS DE DEPLACEMENT UNIQUEMENT.
  16. *
  17. * MODE D'APPEL:
  18. * -------------
  19. *
  20. * CALL NORMA5 (ITBAS,IPLMOT,MOTCLE,IFLUI,COEFP,COEFPI)
  21. *
  22. * ARGUMENTS: (E)=ENTREE (S)=SORTIE
  23. * ----------
  24. *
  25. * ITBAS ENTIER (E) POINTEUR SUR L'OBJET 'TABLE' A NORMER.
  26. * IPLMOT ENTIER (E) VOIR LE S.P. "MAXIM1".
  27. * MOTCLE CHARACTER (E) VOIR LE S.P. "MAXIM1".
  28. * IFLUI ENTIER (E) IL Y A DES COEF POUR P ET PI (0 SINON)
  29. * COEFP REEL (E) COEFFICIENT A APPLIQUER A LA COMPOSANTE P
  30. * COEFPI REEL (E) COEFFICIENT A APPLIQUER A LA COMPOSANTE PI
  31. *
  32. * SOUS-PROGRAMMES APPELES:
  33. * ------------------------
  34. *
  35. * NORMA3
  36. *
  37. * AUTEUR, DATE DE CREATION:
  38. * -------------------------
  39. *
  40. * LIONEL VIVAN 2 AOUT 90
  41. *
  42. * LANGAGE:
  43. * --------
  44. *
  45. * ESOPE + FORTRAN77
  46. *
  47. ************************************************************************
  48. *
  49. -INC CCOPTIO
  50. -INC SMTABLE
  51. *
  52. CHARACTER*4 MOTCLE
  53. CHARACTER*8 TYPRET,CHARRE
  54. LOGICAL L0,L1
  55. *
  56. IM = 0
  57. 10 CONTINUE
  58. IM = IM + 1
  59. TYPRET = ' '
  60. CALL ACCTAB(ITBAS,'ENTIER',IM,X0,' ',L0,IP0,
  61. & TYPRET,I1,X1,CHARRE,L1,ITMOD)
  62.  
  63. IF (ITMOD.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN
  64.  
  65. CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0,
  66. & 'CHPOINT',I1,X1,' ',L1,ICHPOI)
  67. CALL NORMA3(ICHPOI,IPLMOT,MOTCLE,IFLUI,COEFP,COEFPI,PGRAND)
  68. IF (IERR.NE.0) RETURN
  69.  
  70. CALL ECCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0,
  71. & 'CHPOINT',I1,X1,' ',L1,ICHPOI)
  72. *
  73. CALL ACCTAB(ITMOD,'MOT',I0,X0,'MASSE_GENERALISEE',L0,IP0,
  74. & 'FLOTTANT',I1,XMGEN,' ',L1,IP1)
  75. XMGEN = XMGEN / ( PGRAND * PGRAND )
  76. CALL ECCTAB(ITMOD,'MOT',I0,X0,'MASSE_GENERALISEE',L0,IP0,
  77. & 'FLOTTANT',I1,XMGEN,' ',L1,IP1)
  78. *
  79. CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEPLACEMENTS_GENERALISES',L0,
  80. & IP0,'TABLE',I1,X1,' ',L1,ITDG)
  81. DO 12 IN = 1,3
  82. CALL ACCTAB(ITDG,'ENTIER',IN,X0,' ',L0,IP0,
  83. & 'FLOTTANT',I1,XQ,' ',L1,IP1)
  84. XQ = XQ / PGRAND
  85. CALL ECCTAB(ITDG,'ENTIER',IN,X0,' ',L0,IP0,
  86. & 'FLOTTANT',I1,XQ,' ',L1,IP1)
  87. 12 CONTINUE
  88.  
  89. TYPRET = ' '
  90. CALL ACCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0,
  91. & TYPRET,I1,X1,CHARRE,L1,ICHML)
  92. IF (ICHML.NE.0 .AND. TYPRET.EQ.'MCHAML ') THEN
  93. C Division du MCHAML par le FLOTTANT PGRAND
  94. IOPERA=5
  95. IARGU =2
  96. I1 =0
  97. CALL OPCHE1(ICHML,IOPERA,IARGU,I1,PGRAND,ICHML2,IRET)
  98. IF (IRET.EQ.0) CALL ERREUR(5)
  99.  
  100. CALL ECCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0,
  101. & 'MCHAML',I1,X1,' ',L1,ICHML2)
  102. ENDIF
  103. GOTO 10
  104. ENDIF
  105. *
  106. RETURN
  107. END
  108.  
  109.  
  110.  

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