Télécharger norma5.eso

Retour à la liste

Numérotation des lignes :

norma5
  1. C NORMA5 SOURCE CB215821 20/11/25 13:35:05 10792
  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.  
  50. -INC PPARAM
  51. -INC CCOPTIO
  52. -INC SMTABLE
  53. *
  54. CHARACTER*(*) MOTCLE
  55. CHARACTER*8 TYPRET,CHARRE
  56. LOGICAL L0,L1
  57. *
  58. IM = 0
  59. 10 CONTINUE
  60. IM = IM + 1
  61. TYPRET = ' '
  62. CALL ACCTAB(ITBAS,'ENTIER',IM,X0,' ',L0,IP0,
  63. & TYPRET,I1,X1,CHARRE,L1,ITMOD)
  64.  
  65. IF (ITMOD.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN
  66.  
  67. CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0,
  68. & 'CHPOINT',I1,X1,' ',L1,ICHPOI)
  69. CALL NORMA3(ICHPOI,IPLMOT,MOTCLE,IFLUI,COEFP,COEFPI,PGRAND)
  70. IF (IERR.NE.0) RETURN
  71.  
  72. CALL ECCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0,
  73. & 'CHPOINT',I1,X1,' ',L1,ICHPOI)
  74. *
  75. CALL ACCTAB(ITMOD,'MOT',I0,X0,'MASSE_GENERALISEE',L0,IP0,
  76. & 'FLOTTANT',I1,XMGEN,' ',L1,IP1)
  77. XMGEN = XMGEN / ( PGRAND * PGRAND )
  78. CALL ECCTAB(ITMOD,'MOT',I0,X0,'MASSE_GENERALISEE',L0,IP0,
  79. & 'FLOTTANT',I1,XMGEN,' ',L1,IP1)
  80. *
  81. CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEPLACEMENTS_GENERALISES',L0,
  82. & IP0,'TABLE',I1,X1,' ',L1,ITDG)
  83. DO 12 IN = 1,3
  84. CALL ACCTAB(ITDG,'ENTIER',IN,X0,' ',L0,IP0,
  85. & 'FLOTTANT',I1,XQ,' ',L1,IP1)
  86. XQ = XQ / PGRAND
  87. CALL ECCTAB(ITDG,'ENTIER',IN,X0,' ',L0,IP0,
  88. & 'FLOTTANT',I1,XQ,' ',L1,IP1)
  89. 12 CONTINUE
  90.  
  91. TYPRET = ' '
  92. CALL ACCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0,
  93. & TYPRET,I1,X1,CHARRE,L1,ICHML)
  94. IF (ICHML.NE.0 .AND. TYPRET.EQ.'MCHAML ') THEN
  95. C Division du MCHAML par le FLOTTANT PGRAND
  96. IOPERA=5
  97. IARGU =2
  98. I1 =0
  99. CALL OPCHE1(ICHML,IOPERA,IARGU,I1,PGRAND,ICHML2,IRET)
  100. IF (IRET.EQ.0) CALL ERREUR(5)
  101.  
  102. CALL ECCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0,
  103. & 'MCHAML',I1,X1,' ',L1,ICHML2)
  104. ENDIF
  105. GOTO 10
  106. ENDIF
  107. *
  108. RETURN
  109. END
  110.  
  111.  
  112.  
  113.  

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