Download @laread.procedur

Back to the list

   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 : OPTI DIME 3   ;
  56 : *
  57 : * --- LETTURA NUMERO DI MATERIALI
  58 : *
  59 : ACQUERIR NMAT*ENTIER;
  60 : *
  61 : * --- LETTURA DEI MATERIALI
  62 : *
  63 : NN = 0 ;
  64 : TMAT = TABLE ;
  65 : REPETER LOOP0 NMAT ;
  66 :   NN = NN + 1 ;
  67 :   ACQUERIR   Y1*FLOTTANT  Y2*FLOTTANT  N12*FLOTTANT  ;
  68 :   ACQUERIR   G1*FLOTTANT  G2*FLOTTANT  G3*FLOTTANT   ;
  69 :   ACQUERIR  AL1*FLOTTANT AL2*FLOTTANT  R1*FLOTTANT   ;
  70 :   ACQUERIR  XT1*FLOTTANT XC1*FLOTTANT  YT1*FLOTTANT
  71 :             YC1*FLOTTANT SS1*FLOTTANT                ;
  72 :   TMAT.NN = TABLE      ;
  73 :   TMAT.NN.YG1     = Y1    ; TMAT.NN.YG2     = Y2    ;
  74 :   TMAT.NN.G12     = G1    ; TMAT.NN.G23     = G2    ;
  75 :   TMAT.NN.G13     = G3    ; TMAT.NN.NU12    = N12   ;
  76 :   TMAT.NN.ALP1    = AL1   ; TMAT.NN.ALP2    = AL2   ;
  77 :   TMAT.NN.RHO     = R1    ; TMAT.NN.XTR     = XT1   ;
  78 :   TMAT.NN.XCO     = XC1   ; TMAT.NN.YTR     = YT1   ;
  79 :   TMAT.NN.YCO     = YC1   ; TMAT.NN.SSS     = SS1   ;
  80 : FIN LOOP0 ;
  81 : *
  82 : TCOMP.MCOL = TMAT     ;
  83 : *
  84 : * --- LETTURA NUMERO DI ZONE
  85 : *
  86 : ACQUERIR NZON*ENTIER;
  87 : *
  88 : * --- CICLO LETTURA SULLE ZONE
  89 : *
  90 : CM1   = MOT 'MODE MAIL1 MECANIQUE ELASTIQUE ORTHOTROPE';
  91 : BB1   = MOT ' '        ;
  92 : *
  93 : NN    = 1              ;
  94 : REPETER LOOP1 NZON     ;
  95 : *
  96 :   ACQUERIR NLAM*ENTIER   ;
  97 : *
  98 :   MAIL1 = TCOMP.NN.MAIL  ;
  99 :   LM    = TCOMP.NN.FELF  ;
 100 :   NM    = DIME LM        ;
 101 : *
 102 :   INM = 0 ;
 103 :   REPE LOOPCMD NM ;
 104 :     INM = INM + 1 ;
 105 :     MOX = EXTR LM INM ;
 106 :     CM1 = CHAIN CM1 BB1 MOX ;
 107 :   FIN LOOPCMD ;
 108 : *
 109 :   TCOMP.NN.MOD1 = (TEXT CM1)  ;
 110 : *
 111 :   II = 1 ;
 112 :   REPETER LOOP2 NLAM    ;
 113 : *
 114 :     ACQUERIR  EP1*FLOTTANT EX1*FLOTTANT
 115 :               AN1*FLOTTANT N*ENTIER ;
 116 : *
 117 :     TCOMP.NN.II     = TABLE ;
 118 :     TCOMP.NN.II.EPA = EP1   ;
 119 :     TCOMP.NN.II.EXC = EX1   ;
 120 :     TCOMP.NN.II.ANG = AN1   ;
 121 :     TCOMP.NN.II.IDM = N     ;
 122 : *
 123 :     II = II + 1    ;
 124 :   FIN LOOP2        ;
 125 : *
 126 :   NN = NN + 1      ;
 127 : FIN LOOP1          ;
 128 : *
 129 : FINPROC ;
 130 : *
 131 : ************************************************************************
 132 : *                       FINE PROCEDURA @LAREAD
 133 : ************************************************************************
 134 : *
 135 :  

© Cast3M 2003 - All rights reserved.
Disclaimer