$$$$ @LAREAD * @LAREAD PROCEDUR KK2000 99/11/30 21:15:18 3720 * ************************************************************************ * PROCEDURA @LAREAD ************************************************************************ * * Descrizione : permette di completare la tavola delle caratteristiche * dei laminati rileggendo i dati da un file di struttura * opportuna. * * Sintassi : @LAREAD TAB_LAM (NUNIT) (NOM_FILE) ; * * Autore/Data : Miliozzi A. - 10/04/1997 * * * Revisioni : * * ************************************************************************ * *--- INPUT *========= * * TAB_LAM*TABLE Tavola caratteristica dei laminati compositi * con informazioni sul mesh : * TAB_LAM.TIPO : opzioni calcolo (Mot) * TAB_LAM.I : informazioni sulla i-esima zona (TABLE) * TAB_LAM.I.MAIL : mesh (Maillage) * TAB_LAM.I.FELF : formulazione elem. finiti (ListMots) * TAB_LAM.I.METRIF : metodo di riferimento (Mot) * TAB_LAM.I.DIRRIF : direzione di riferimento (Point) * TAB_LAM.I.DIRNOR : direzione normale (Point) * * NUNIT*ENTIER Unita' logica da cui rileggere i dati (Default 2) * * NOM_FILE*MOT Nome del file sul quale si vuole effettuare l'operazione * di lettura (Opzionale) * *--- OUTPUT *========== * ************************************************************************ * DEBPROC @LAREAD TCOMP*TABLE NUNIT/ENTIER NOM_FILE/MOT ; * * --- NUMERO UNITA' LOGICA DI ACQUERIR * NUN = 2 ; SI (EXIST NUNIT) ; NUN = NUNIT ; FINSI ; OPTI ACQU NUN ; SI (EXIST NOM_FILE) ; SI (NUN NEG 0) ; OPTI ACQU NOM_FILE ; FINSI ; FINSI; * OPTI DIME 3 ; * * --- LETTURA NUMERO DI MATERIALI * ACQUERIR NMAT*ENTIER; * * --- LETTURA DEI MATERIALI * NN = 0 ; TMAT = TABLE ; REPETER LOOP0 NMAT ; NN = NN + 1 ; ACQUERIR Y1*FLOTTANT Y2*FLOTTANT N12*FLOTTANT ; ACQUERIR G1*FLOTTANT G2*FLOTTANT G3*FLOTTANT ; ACQUERIR AL1*FLOTTANT AL2*FLOTTANT R1*FLOTTANT ; ACQUERIR XT1*FLOTTANT XC1*FLOTTANT YT1*FLOTTANT YC1*FLOTTANT SS1*FLOTTANT ; TMAT.NN = TABLE ; TMAT.NN.YG1 = Y1 ; TMAT.NN.YG2 = Y2 ; TMAT.NN.G12 = G1 ; TMAT.NN.G23 = G2 ; TMAT.NN.G13 = G3 ; TMAT.NN.NU12 = N12 ; TMAT.NN.ALP1 = AL1 ; TMAT.NN.ALP2 = AL2 ; TMAT.NN.RHO = R1 ; TMAT.NN.XTR = XT1 ; TMAT.NN.XCO = XC1 ; TMAT.NN.YTR = YT1 ; TMAT.NN.YCO = YC1 ; TMAT.NN.SSS = SS1 ; FIN LOOP0 ; * TCOMP.MCOL = TMAT ; * * --- LETTURA NUMERO DI ZONE * ACQUERIR NZON*ENTIER; * * --- CICLO LETTURA SULLE ZONE * CM1 = MOT 'MODE MAIL1 MECANIQUE ELASTIQUE ORTHOTROPE'; BB1 = MOT ' ' ; * NN = 1 ; REPETER LOOP1 NZON ; * ACQUERIR NLAM*ENTIER ; * MAIL1 = TCOMP.NN.MAIL ; LM = TCOMP.NN.FELF ; NM = DIME LM ; * INM = 0 ; REPE LOOPCMD NM ; INM = INM + 1 ; MOX = EXTR LM INM ; CM1 = CHAIN CM1 BB1 MOX ; FIN LOOPCMD ; * TCOMP.NN.MOD1 = (TEXT CM1) ; * II = 1 ; REPETER LOOP2 NLAM ; * ACQUERIR EP1*FLOTTANT EX1*FLOTTANT AN1*FLOTTANT N*ENTIER ; * TCOMP.NN.II = TABLE ; TCOMP.NN.II.EPA = EP1 ; TCOMP.NN.II.EXC = EX1 ; TCOMP.NN.II.ANG = AN1 ; TCOMP.NN.II.IDM = N ; * II = II + 1 ; FIN LOOP2 ; * NN = NN + 1 ; FIN LOOP1 ; * FINPROC ; * ************************************************************************ * FINE PROCEDURA @LAREAD ************************************************************************ *