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