* @OTCOQUE PROCEDUR AM1 92/10/29 21:15:25 734 *---------------------------------------------------------------------- * * OTTIMIZZAZIONE PIASTRE A PESO MINIMO * E TENSIONE LIMITE IMPOSTA. * * REVISIONE : 30-7-92 AUTORI : DONARELLI, GIANNUZZI. * E N E A - VEL MEP TERMO *---------------------------------------------------------------------- * SPEI*FLOTTANT VLIM*FLOTTANT STEC*FLOTTANT TMOD*TABLE TMAT*TABLE FORZE*CHPOINT VINCO*RIGIDITE PV*POINT ; *--------------------------------------------------------------- * CRIT ERRORE SU SIGMA LIMITE --------------------------------- * NMIT NUMERO MASSIMO ITERAZIONI ------------------------------ * SPEI SPESSORE INIZIALE ZONE --------------------------------- * VLIM SIGMA EQUIVALENTE VMISES LIMITE ------------------------ * STEC SPESSORE MINIMO ---------------------------------------- * TMOD TAVOLA CONTENENTE GLI OGG. MODELE DELLE ZONE ----------- * TMAT TAVOLA CONTENENTE GLI OGG. MATERIAU DELLE ZONE --------- * FORZE CAMPO DI FORZE ----------------------------------------- * VINCO RIGIDEZZA VINCOLI + ZONE NON OTTIMIZZATE --------------- * PV PUNTO DI VISTA PER TRACCIAMENTI ----------------------- * -------------------------------------------------------------- MESS ' ' ; MESS ' OTTIMIZZAZIONE PIASTRE A PESO MINIMO ' ; MESS ' ' ; MESS ' ' ; MESS ' OGNI QUANTE ITERAZIONI VUOI UNA STAMPA COMPLETA ? ' ; OBTENIR FSTAMP*ENTIER ; MESS ' CONFERMARE O CAMBIARE VALORE ' ; A=1. ; OBTENIR A1*FLOTTANT ; SI('NEG' A1 'NON' ) ; A=A1; FINSI; * TCAR = TABLE ; TRHO = TABLE ; TRIG = TABLE ; TMAI = TABLE ; * * CARICAMENTO SPESSORI INIZIALI * * CARATTERISTICHE GEOMETRICHE N=0 ; PESO =0. ; REPETER CA1 NZ; N=N+1 ; PESO = PESO + PESZ ; SI( N EGA 1) ; TTMOD = TMOD . 1 ; SINON ; TTMOD = TTMOD ET TMOD.N ; FINSI ; FIN CA1 ; * * CICLO PRINCIPALE * NIT=0 ; REPETER BOUC1 NMIT; PESO=0. ; MERS= 0. ; NOCONV=1 ; NIT = NIT+1 ; SAUTER PAGE ; *SAUTER 2 LIGNE ; MESS ' ' ; MESS ' ITERAZIONE NUMERO ' NIT ; MESS ' ' ; *SAUTER 1 LIGNE ; * * COSTRUZIONE RIGIDEZZE RIGT= VINCO ; N=0 ; REPETER LOP11 NZ ; N=N+1 ; SI( NIT > 1 ) ; FINSI ; FINSI; RIGT = RIGT ET TRIG.N ; FIN LOP11 ; * * RISOLUZIONE ALL ITERAZIONE -NIT- * * SI ( NIT EGA 1 ); TITRE 'MAGLIATURA DELLA STRUTTURA ' ; REPETER LOP55 ; MESS ' DARE COEFFICIENTE DI AMPLIFICAZIONE FORZE '; OBTENIR AMPX*FLOTTANT ; TRAC PV RIGT VF1; SI('EGA' SSNN 'NO'); QUITTER LOP55 ; FINSI ; FIN LOP55 ; FINSI ; * N=0 ; REPETER BOUC3 NZ; N=N+1; * * CALCOLO SPOSTAMENTI E TENSIONI PER OGNI ZONA SIGZ = SIGMA DEZ TMOD.N (TMAT.N ET TCAR.N) ; DETR DEZ ; * * TENSIONE VON MISES SI ( N EGA 1) ; VMT = VMZ ; SINON ; VMT = VMT ET VMZ ; FINSI ; DETR SIGZ ; * * TENSIONI MAX VON MISES E ERRORE MAX PER ZONA MVMZ =MAXIMUM VMZ ; XRSZ= ABS((MVMZ - VLIM) / VLIM ) ; ERSZ= XRSZ ; * AGGIORNAMENTO DELLO SPESSORE COEF= (1-A)+(A * MVMZ / VLIM ) ; SPE = EXTRAI SPZO N ; SPEN= SPE * COEF ; * * VERIFICA CONVERGENZA * E * AGGIORNAMENTO SPESSORI * TENSIONI CONVERGENTI REMPLACE SCNEW N 1 ; SPEN = SPE ; SINON ; * TENSIONI NON CONVERGENTI SI (SPEN <EG STEC) ; SPEN= STEC ; ERSZ= 0. ; REMPLACE SCNEW N 1 ; SINON ; NOCONV = 0 ; REMPLACE SCNEW N 0 ; REMPLACE TCOLD N 1 ; FINSI ; SINON ; NOCONV= 0 ; REMPLACE SCNEW N 0 ; FINSI ; FINSI ; SI(MERS < ERSZ) ; MERS = ERSZ ; FINSI ; * MESS ' ZONA ' N ; MESS 'PESO ZONA...............' PESZ ; MESS 'SPESSORE ATTUALE........' SPEN ; MESS 'SPESSORE PRECEDENTE.....' SPE ; MESS 'ERRORE SU ZONA..........' XRSZ ; MESS 'SIGMA MAX DI VON MISES..' MVMZ ; SINON ; FINSI ; FINSI ; REMPLACE SPZO N SPEN ; PESO = PESO + PESZ ; FIN BOUC3 ; * SI (NOCONV EGA 1 ) ; SAUTER PAGE ; SAUTER LIGNE ; FINSI ; SAUTER 1 LIGNE ; MESS ' ERRORE MASSIMO...........' MERS ; MESS ' PESO STRUTTURA...........' PESO ; SAUTER PAGE ; SAUTER 2 LIGNE ; MESS ' VUOI GRAFICARE ANDAMENTI PESO ED ERRORE '; BOL1='NEG' ZZNN 'NO'; NITP=NIT + 1 ; PP11=PPESO ; PI11=PITER ; TITRE ' ANDAMENTO DEL PESO FINO ALL ITERAZIONE ' NIT ; DETR GPESO ; SI (NIT EGA 1 ) ; SINON ; PE11=PERSG ; FINSI ; TITRE ' ANDAMENTO DELL ERRORE SULLE SIGMA ALL ITERAZIONE ' NIT ; DETR GERSG ; * DISEGNO DELLE ISOVONMISES TITRE ' ISOVALORI DI VON MISES ' ; DETR VMT ; SAUTER LIGNE ; SI (NOCONV EGA 1 ) ; QUITTER BOUC1 ; FINSI ; * SI('EGA' SSNN 'NO') ; QUITTER BOUC1 ; FINSI ; SAUTER LIGNE ; MESS ' FORNIRE IL NUOVO VALORE COEFFICIENTE DI RILASSAMENTO ' ; MESS ' COEFFICIENTE ATTUALE ' A ; OBTENIR A1*FLOTTANT ; SI('NEG' A1 'NON') ; A=A1; FINSI; DETR DE1 ; FIN BOUC1 ; SAUTER PAGE ; SAUTER 1 LIGNE ; MESS ' NUMERO ITERAZIONI EFFETTUATE..' NIT ; MESS ' PESO STRUTTURA................' PESO ; SAUTER 1 LIGNE ; N=0; REPETER LOP22 NZ ; N=N+1; FIN LOP22; FINPROC SPZO DE1; * *----FINE PROCEDURA OTTIMIZZAZIONE PIASTRE A PESO MINIMO * *
© Cast3M 2003 - Tous droits réservés.
Mentions légales