/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/ /* [ Created with wxMaxima version 0.8.7 ] */ /* [wxMaxima: comment start ] pulisco la memoria [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ kill(all); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] definisco positive le quantita* note tali [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ assume ( a>0,b>0 ); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] definisco grandezze ausiliarie [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ l : sqrt( a^2+b^2 ); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ l_OA : a ; l_OB : b ; l_AB : l ; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] definisco funzioni di forma associate al primo e al secondo nodo di ogni trave xi = s/l con s ascissa curvilinea e l lunghezza di trave xi = 0 e* un posizionamento sul primo nodo xi = 1 e* un posizionamento sul secondo nodo f(s/l) = f (xi) = f1 * N1 + f2 * N2 e* una generica interpolazione lineare [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ N1 : 1 - xi ; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ N2 : xi ; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] definisco le caratteristiche di sollecitazione sulle travi [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] |--- P ---|---- CB ----|---- CA ----|---- CO ----| [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ N_OA : P +CB/b +0 -CO/b $ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ N_OB : P*b/a +0 +CA/a -CO/a $ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ N_AB : -P*l/a -CB*a/l/b -CA*b/a/l + CO*l/a/b $ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Mf_OA: 0 +0 +0*N1+CA*N2 +CO*N1+0*N2 $ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Mf_OB: 0 +0*N1+CB*N2 +0 +CO*N1+0*N2 $ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ Mf_AB: 0 +0*N1+CB*N2 +CA*N1+0*N2 +0 $ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ T_OA : 0 +0 -CA/a +CO/a $ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ T_OB : 0 +CB/b +0 -CO/b $ /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ T_AB : 0 -CB/l +CA/l +0 $ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] - momenti flettenti positivi se fibre tese esterne alla maglia - andamenti non costanti funzione dell'ascissa curvilinea adimensionalizzata xi [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] definisco energia potenziale elastica [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] sezioni circolari [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ sezione : [ eta = 1.11 , A = %pi*d^2/4 , J = %pi*d^4/64 ]; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ materiale : [ G = E/2/(1+nu) ] ; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] calcolo energia potenziale elastica [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ U : integrate( ( N_OA^2/2/E/A + Mf_OA^2/2/E/J + eta*T_OA^2/2/G/A ) * l_OA , xi , 0 , 1 ) + integrate( ( N_OB^2/2/E/A + Mf_OB^2/2/E/J + eta*T_OB^2/2/G/A ) * l_OB , xi , 0 , 1 ) + integrate( ( N_AB^2/2/E/A + Mf_AB^2/2/E/J + eta*T_AB^2/2/G/A ) * l_AB , xi , 0 , 1 ) ; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] devo ricavare le 3 reazioni incognite CA, CO, CB Teorema di Castigliano: diff( U , CA) = rot. su cui CA compie lavoro, ossia l'angolo di apertura della cerniera in A come variazione rispetto all'indeformata tale rotazione deve essere nulla per coerenza con il vincolo interno originario (continuita* rotazioni e traslazioni al nodo) [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] imposto un sistema di 3 equazioni nelle 3 incognite sopradefinite [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ sol_iper : linsolve( [ diff(U,CA) = 0, diff(U,CB) = 0, diff(U,CO) = 0 ] , [CA,CB,CO] ) $ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] soluzione del problema con cerniere, isostatico [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ sol_iso : [ CA=0, CB=0, CO=0 ]; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] espressione energia potenziale elastica con cerniere [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ U_iso : ev( U , sol_iso, infeval ) ; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] espressione energia potenziale elastica con incastri interni [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ U_ipe : ev( U, sol_iper, infeval); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] ricavo cedimento maglia triangolare, iso e iperstatico [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ delta_iso : diff ( U_iso, P ); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ delta_ipe : diff ( U_ipe, P ); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] rapporto tra le rigidezze dei due casi ratio = rigidezza_iso/rigidezza_iper, <1 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ratio : delta_ipe/delta_iso; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] tento quantomeno la valutazione in un caso specifico [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ myratio :ev( ratio , b = a * 1 , sezione , materiale , nu=3/10 , d = a * zeta , infeval ); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ myratio2 :ev( ratio , b = a / 2 , sezione , materiale , nu=3/10 , d = a * zeta , infeval ); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] zeta = d/a >0 trave sottile se zeta << 1 trave tozza se zeta prossimo a 1 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ev(myratio, zeta=1/10, numer); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] provo a costruire un grafico [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ wxplot2d( [ myratio , myratio2 ] , [ zeta , 0.001 , 1 ] , [ legend , "b=a" , "b=a/2" ] ); /* [wxMaxima: input end ] */ /* Maxima can't load/batch files which end with a comment! */ "Created with wxMaxima"$