Télécharger normb5.eso

Retour à la liste

Numérotation des lignes :

  1. C NORMB5 SOURCE JC220346 16/04/25 21:15:12 8915
  2. SUBROUTINE NORMB5(ITAB,IRIG,VNOR)
  3. ************************************************************************
  4. * NOM : NORMB5
  5. * DESCRIPTION : Sous-programme de NNOR associe a la normalisation L2
  6. * d'un objet TABLE de sous-type 'BASE_DE_MODES' (indice
  7. * 'MODES' de la table de sous-type 'BASE_MODALE')
  8. ************************************************************************
  9. * APPELE PAR : nnor.eso
  10. ************************************************************************
  11. * ENTREES : ITAB = pointeur vers la TABLE contenant les modes a normer
  12. * (ATTENTION : NNOR EST UNE DIRECTIVE)
  13. * IRIG = pointeur vers la RIGIDITE associee a la norme L2
  14. * (0 si aucune)
  15. * SORTIES : VNOR = coefficient de normalisation
  16. ************************************************************************
  17. IMPLICIT INTEGER(I-N)
  18. IMPLICIT REAL*8(A-H,O-Z)
  19. -INC CCOPTIO
  20. CHARACTER*8 TYPRET,CHARRE
  21. LOGICAL L0,L1
  22. *
  23. IM = 0
  24. 10 CONTINUE
  25. IM = IM + 1
  26. TYPRET = ' '
  27. CALL ACCTAB(ITAB,'ENTIER',IM,X0,' ',L0,IP0,
  28. & TYPRET,I1,X1,CHARRE,L1,ITMOD)
  29.  
  30. IF (ITMOD.NE.0 .AND. TYPRET.EQ.'TABLE ') THEN
  31.  
  32. CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0,
  33. & 'CHPOINT',I1,X1,' ',L1,ICHPOI)
  34. CALL NORMB3(ICHPOI,IRIG,VNOR)
  35. IF (IERR.NE.0) RETURN
  36. CALL ECCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0,
  37. & 'CHPOINT',I1,X1,' ',L1,ICHPOI)
  38. *
  39. CALL ACCTAB(ITMOD,'MOT',I0,X0,'MASSE_GENERALISEE',L0,IP0,
  40. & 'FLOTTANT',I1,XMGEN,' ',L1,IP1)
  41. XMGEN = XMGEN / ( VNOR * VNOR )
  42. CALL ECCTAB(ITMOD,'MOT',I0,X0,'MASSE_GENERALISEE',L0,IP0,
  43. & 'FLOTTANT',I1,XMGEN,' ',L1,IP1)
  44. *
  45. CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEPLACEMENTS_GENERALISES',L0,
  46. & IP0,'TABLE',I1,X1,' ',L1,ITDG)
  47. DO IN = 1,3
  48. CALL ACCTAB(ITDG,'ENTIER',IN,X0,' ',L0,IP0,
  49. & 'FLOTTANT',I1,XQ,' ',L1,IP1)
  50. XQ = XQ / VNOR
  51. CALL ECCTAB(ITDG,'ENTIER',IN,X0,' ',L0,IP0,
  52. & 'FLOTTANT',I1,XQ,' ',L1,IP1)
  53. ENDDO
  54.  
  55. TYPRET = ' '
  56. CALL ACCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0,
  57. & TYPRET,I1,X1,CHARRE,L1,ICHML)
  58. IF (ICHML.NE.0 .AND. TYPRET.EQ.'MCHAML ') THEN
  59. CALL MUCHEL (ICHML,VNOR,ICHML2,-1)
  60. CALL ECCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0,
  61. & 'MCHAML',I1,X1,' ',L1,ICHML2)
  62. ENDIF
  63. *
  64. GOTO 10
  65. ENDIF
  66. *
  67. RETURN
  68. *
  69. END
  70. *
  71. *
  72.  

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