/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/ /* [ Created with wxMaxima version 14.09.0 ] */ /* [wxMaxima: input start ] */ kill(all); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ assume(a>0,b>0,k>0,k1>0,k2>0); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] geometria di riferimento: |----- a ----| n2 n1|/ P ==> o-----k1----o|/ ---- | |/ | | | k2 | | | b | | n3 === ----- o o ------- /////// nodo 2 spostamenti "u" in direzione x+ e "v" in direzione y+ NOTA: la molla verticale รจ carrellata per avere il valore Pcrit= a*k2 come da teoria [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ x1:0 $ y1:0 $ x2:-a $ y2:0 $ x3:-a $ y3:-b$ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] dimensionamento di riferimento: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ dim:[b=1,a=1,k1=1000,k2=1]; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] funzione lunghezza [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ len(x1,y1,x2,y2):=sqrt((x2-x1)^2+(y2-y1)^2); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] elemento 1: da nodo 1 a nodo 2 variazione lunghezza, con segno (positivo se allunga, compressivo se accorcia, rispetto ad indeformata) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ dl1:len(x1,y1,x2+u,y2+v)-len(x1,y1,x2,y2); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] elemento 2: da nodo 2 a nodo 3 variazione lunghezza [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ dl2:len(x2+u,y2+v,x3+u,y3)-len(x2,y2,x3,y3); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] componenti seno e coseno, definizione nonlineare _P (x2l,y2l) ----- _/ ^ _/ | | sin _/ | | (x1l,y1l) O -----+----------------- | | | cos | |------>| attenti ai segni!! [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ s(x1l,y1l,x2l,y2l):=(y2l-y1l)/len(x1l,y1l,x2l,y2l)$ c(x1l,y1l,x2l,y2l):=(x2l-x1l)/len(x1l,y1l,x2l,y2l)$ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] forza in direzione x da applicarsi a nodo 2 per deformare elasticamente l'elemento 1 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Fn2e1x:+ k1 * dl1 * c(x1 ,y1 ,x2+u,y2+v); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] controllo segni: - per u > 0, v=0 ho dl1<0 e cos( [n1, n2] )<0 per cui forza da applicarsi positiva - per u = 0, v><0 ho dl1>0 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ev(Fn2e1x,u=0.1,v=0,dim,infeval); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ev(Fn2e1x,u=0,v=-0.1,dim,infeval); /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ ev(Fn2e1x,u=0,v=0.1,dim,infeval); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] forza in direzione y da applicarsi a nodo 2 per deformare elasticamente l'elemento 1 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Fn2e1y:+ k1 * dl1 * s(x1 ,y1 ,x2+u,y2+v); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] a fronte di spostamento puramente orizzontale di nodo 2, non occorre applicare quota verticale [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ev(Fn2e1y,u=0.1,v=0,dim,infeval); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] bloccato spostamento orizzontale, per spostamenti verticali v+ la forza deve risultare positiva (applicata verso l'alto) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ev(Fn2e1y,u=0,v=+0.1,dim,infeval); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] bloccato spostamento orizzontale, per spostamenti verticali v- la forza deve risultare negativa (applicata verso il basso) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ev(Fn2e1y,u=0,v=-0.1,dim,infeval); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] controllo segni: - per u > 0, v=0 ho dl1<0 e cos( [n1, n2] )<0 per cui forza da applicarsi positiva - per u = 0, v><0 ho dl1>0 [wxMaxima: comment end ] */ /* [wxMaxima: comment start ] forza in direzione x da applicarsi a nodo 2 per deformare elasticamente l'elemento 2 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Fn2e2x:- k2 * dl2 * c(x2+u,y2+v,x3+u ,y3 ); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] forza in direzione y da applicarsi a nodo 2 per deformare elasticamente l'elemento 2 [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Fn2e2y:- k2 * dl2 * s(x2+u,y2+v,x3+u ,y3 ); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] somma contributi in direzione x su nodo 2 - deformazione concorrente di ambo gli elementi [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Fu:fullratsimp( Fn2e1x + Fn2e2x ); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] somma contributi in direzione y su nodo 2 - deformazione concorrente di ambo gli elementi [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Fv:fullratsimp( Fn2e1y + Fn2e2y ); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Jacobiano del [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ Jr: jacobian([Fu,Fv],[u,v]); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] forma linearizzata dello jacobiano nell'intorno della soluzione per carico nullo (matrice di rigidezza sistema) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ev(Jr,u=0,v=0)$ K0: fullratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] forma linearizzata nell'intorno della soluzione **lineare** per carico orizzontale applicato P [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ ev(Jr,u=P/k1,v=0)$ Kt:fullratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] forma variabile linearmente col carico [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ taylor(Kt,P,0,1)$ Kt_LPB:fullratsimp(%); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] la matrice di rigidezza varia col carico. Esiste un valore di P t.c. il determinante sia nullo? [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ determinant(Kt_LPB)=0; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ solve(%,P); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] formulazione alternativa: energia potenziale elastica struttura + energia potenziale carico [wxMaxima: comment end ] */ /* Maxima can't load/batch files which end with a comment! */ "Created with wxMaxima"$