Télécharger chcha2.eso

Retour à la liste

Numérotation des lignes :

chcha2
  1. C CHCHA2 SOURCE CB215821 20/11/10 09:45:24 10766
  2. SUBROUTINE CHCHA2 (IBAS,ILEN1,ILEN2,ICONT)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. C====================================================================
  6. C SUBROUTINE POUR CHERCHER DANS UNE TABLE DE SOUSTYPE
  7. C "BASE_DE_MODES" LES DEFORMEES MODALES ET LES POINTS REPERES ASSOCIE
  8. C UTILISE PR EVRECO
  9. C IBAS (E) POINTEUR SUR LA TABLE DONT ON PART
  10. C ILEN1 (S) POINTEUR SUR LA LISTE DES DEFORMEE-MODALES
  11. C ILEN2 (S) POINTEUR SUR LA LISTE DES POINTS REPERE
  12. C======================================================================
  13. LOGICAL L0,L1
  14. CHARACTER*8 TYPRET
  15.  
  16. -INC PPARAM
  17. -INC CCOPTIO
  18. -INC SMTABLE
  19. -INC SMLENTI
  20. *
  21. ILEN1 = 0
  22. ILEN2 = 0
  23. *
  24. MTABLE = IBAS
  25. SEGACT MTABLE
  26. * NINDIC = nombre de tables de modes.
  27. * Le premier indice est le SOUSTYPE
  28. * Le deuxi}me indice est le MAILLAGE
  29. NINDIC = MLOTAB-2
  30. SEGDES MTABLE
  31. JG = NINDIC
  32. SEGINI MLENT1,MLENT2
  33. ILEN1 = MLENT1
  34. ILEN2 = MLENT2
  35. *
  36. * on boucle sur les modes
  37. *
  38. JG=0
  39. DO 100 IN = 1 , NINDIC
  40. TYPRET=' '
  41. CALL ACCTAB(IBAS,'ENTIER',IN,X0,' ',L0,IP0,
  42. & TYPRET,I1,X1,' ',L1,ITMOD)
  43. IF(IERR.NE.0) RETURN
  44. IF(TYPRET.ne.'TABLE') GOTO 100
  45. JG=JG+1
  46. IF (ICONT.EQ.0) THEN
  47. CALL ACCTAB(ITMOD,'MOT',I0,X0,'DEFORMEE_MODALE',L0,IP0,
  48. & 'CHPOINT',I1,X1,' ',L1,ICDEP)
  49. IF(IERR.NE.0) RETURN
  50. CALL ACTOBJ('CHPOINT ',ICDEP,1)
  51. ELSE IF (ICONT.EQ.2) THEN
  52. CALL ACCTAB(ITMOD,'MOT',I0,X0,'REACTION_MODALE',L0,IP0,
  53. & 'CHPOINT',I1,X1,' ',L1,ICDEP)
  54. IF(IERR.NE.0) RETURN
  55. CALL ACTOBJ('CHPOINT ',ICDEP,1)
  56. ELSE
  57. CALL ACCTAB(ITMOD,'MOT',I0,X0,'CONTRAINTE_MODALE',L0,IP0,
  58. & 'MCHAML',I1,X1,' ',L1,ICHAM)
  59. IF(IERR.NE.0) RETURN
  60. CALL ACTOBJ('MCHAML ',ICHAM,1)
  61. CALL CHAMPO(ICHAM,1,ICDEP,IRET)
  62. IF ( IRET .NE. 1) RETURN
  63. ENDIF
  64. MLENT1.LECT(IN) = ICDEP
  65. CALL ACCTAB(ITMOD,'MOT',I0,X0,'POINT_REPERE',L0,IP0,
  66. & 'POINT',I1,X1,' ',L1,IPTR)
  67. IF(IERR.NE.0) RETURN
  68. MLENT2.LECT(IN) = IPTR
  69. 100 CONTINUE
  70. IF (JG .NE. NINDIC) SEGADJ,MLENT1,MLENT2
  71. END
  72.  
  73.  

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