Télécharger @laread.procedur

Retour à la liste

Numérotation des lignes :

  1. * @LAREAD PROCEDUR KK2000 99/11/30 21:15:18 3720
  2. *
  3. ************************************************************************
  4. * PROCEDURA @LAREAD
  5. ************************************************************************
  6. *
  7. * Descrizione : permette di completare la tavola delle caratteristiche
  8. * dei laminati rileggendo i dati da un file di struttura
  9. * opportuna.
  10. *
  11. * Sintassi : @LAREAD TAB_LAM (NUNIT) (NOM_FILE) ;
  12. *
  13. * Autore/Data : Miliozzi A. - 10/04/1997
  14. *
  15. *
  16. * Revisioni :
  17. *
  18. *
  19. ************************************************************************
  20. *
  21. *--- INPUT
  22. *=========
  23. *
  24. * TAB_LAM*TABLE Tavola caratteristica dei laminati compositi
  25. * con informazioni sul mesh :
  26. * TAB_LAM.TIPO : opzioni calcolo (Mot)
  27. * TAB_LAM.I : informazioni sulla i-esima zona (TABLE)
  28. * TAB_LAM.I.MAIL : mesh (Maillage)
  29. * TAB_LAM.I.FELF : formulazione elem. finiti (ListMots)
  30. * TAB_LAM.I.METRIF : metodo di riferimento (Mot)
  31. * TAB_LAM.I.DIRRIF : direzione di riferimento (Point)
  32. * TAB_LAM.I.DIRNOR : direzione normale (Point)
  33. *
  34. * NUNIT*ENTIER Unita' logica da cui rileggere i dati (Default 2)
  35. *
  36. * NOM_FILE*MOT Nome del file sul quale si vuole effettuare l'operazione
  37. * di lettura (Opzionale)
  38. *
  39. *--- OUTPUT
  40. *==========
  41. *
  42. ************************************************************************
  43. *
  44. DEBPROC @LAREAD TCOMP*TABLE NUNIT/ENTIER NOM_FILE/MOT ;
  45. *
  46. * --- NUMERO UNITA' LOGICA DI ACQUERIR
  47. *
  48. NUN = 2 ;
  49. SI (EXIST NUNIT) ; NUN = NUNIT ; FINSI ;
  50. OPTI ACQU NUN ;
  51. SI (EXIST NOM_FILE) ;
  52. SI (NUN NEG 0) ; OPTI ACQU NOM_FILE ; FINSI ;
  53. FINSI;
  54. *
  55. *
  56. * --- LETTURA NUMERO DI MATERIALI
  57. *
  58. ACQUERIR NMAT*ENTIER;
  59. *
  60. * --- LETTURA DEI MATERIALI
  61. *
  62. NN = 0 ;
  63. TMAT = TABLE ;
  64. REPETER LOOP0 NMAT ;
  65. NN = NN + 1 ;
  66. ACQUERIR Y1*FLOTTANT Y2*FLOTTANT N12*FLOTTANT ;
  67. ACQUERIR G1*FLOTTANT G2*FLOTTANT G3*FLOTTANT ;
  68. ACQUERIR AL1*FLOTTANT AL2*FLOTTANT R1*FLOTTANT ;
  69. ACQUERIR XT1*FLOTTANT XC1*FLOTTANT YT1*FLOTTANT
  70. YC1*FLOTTANT SS1*FLOTTANT ;
  71. TMAT.NN = TABLE ;
  72. TMAT.NN.YG1 = Y1 ; TMAT.NN.YG2 = Y2 ;
  73. TMAT.NN.G12 = G1 ; TMAT.NN.G23 = G2 ;
  74. TMAT.NN.G13 = G3 ; TMAT.NN.NU12 = N12 ;
  75. TMAT.NN.ALP1 = AL1 ; TMAT.NN.ALP2 = AL2 ;
  76. TMAT.NN.RHO = R1 ; TMAT.NN.XTR = XT1 ;
  77. TMAT.NN.XCO = XC1 ; TMAT.NN.YTR = YT1 ;
  78. TMAT.NN.YCO = YC1 ; TMAT.NN.SSS = SS1 ;
  79. FIN LOOP0 ;
  80. *
  81. TCOMP.MCOL = TMAT ;
  82. *
  83. * --- LETTURA NUMERO DI ZONE
  84. *
  85. ACQUERIR NZON*ENTIER;
  86. *
  87. * --- CICLO LETTURA SULLE ZONE
  88. *
  89. CM1 = MOT 'MODE MAIL1 MECANIQUE ELASTIQUE ORTHOTROPE';
  90. BB1 = MOT ' ' ;
  91. *
  92. NN = 1 ;
  93. REPETER LOOP1 NZON ;
  94. *
  95. ACQUERIR NLAM*ENTIER ;
  96. *
  97. MAIL1 = TCOMP.NN.MAIL ;
  98. LM = TCOMP.NN.FELF ;
  99. NM = DIME LM ;
  100. *
  101. INM = 0 ;
  102. REPE LOOPCMD NM ;
  103. INM = INM + 1 ;
  104. MOX = EXTR LM INM ;
  105. CM1 = CHAIN CM1 BB1 MOX ;
  106. FIN LOOPCMD ;
  107. *
  108. TCOMP.NN.MOD1 = (TEXT CM1) ;
  109. *
  110. II = 1 ;
  111. REPETER LOOP2 NLAM ;
  112. *
  113. ACQUERIR EP1*FLOTTANT EX1*FLOTTANT
  114. AN1*FLOTTANT N*ENTIER ;
  115. *
  116. TCOMP.NN.II = TABLE ;
  117. TCOMP.NN.II.EPA = EP1 ;
  118. TCOMP.NN.II.EXC = EX1 ;
  119. TCOMP.NN.II.ANG = AN1 ;
  120. TCOMP.NN.II.IDM = N ;
  121. *
  122. II = II + 1 ;
  123. FIN LOOP2 ;
  124. *
  125. NN = NN + 1 ;
  126. FIN LOOP1 ;
  127. *
  128. FINPROC ;
  129. *
  130. ************************************************************************
  131. * FINE PROCEDURA @LAREAD
  132. ************************************************************************
  133. *
  134.  
  135.  

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