Carico critico dell’asta a sezione circolare variabile a tratti.

Definizione dati

Es=210000000;(*[(kN/(m^2))]*)
Res1=0.2;(*[m]*)
Res2=0.2;(*[m]*)
Res3=0.2;(*[m]*)
Res4=0.2;(*[m]*)
Res5=0.2;(*[m]*)
Res6=0.2;(*[m]*)

Ri1=0.197;(*[m]*)
Ri2=0.197;(*[m]*)
Ri3=0.197;(*[m]*)
Ri4=0.197;(*[m]*)
Ri5=0.197;(*[m]*)
Ri6=0.197;(*[m]*)

h1=1.67;(*[m]*)
h2=1.67;(*[m]*)
h3=1.67;(*[m]*)
h4=1.67;(*[m]*)
h5=1.67;(*[m]*)
h6=1.67; (*[m]*);

ISTRUZIONI: Definire le caretteristiche geometriche della sezione circolare inserendo raggio esterno e raggio interno, nonchè le altezze di ogni tratto, se l' asta è formata da un numero di tratti minore di 6, basta inserire n tratti ridondanti. La validità del file è stata controllata calcolando il carico critico per l’asta uniforme al variare delle condizioni di vincolo alla base e in sommità.

Per definire una sezione diversa dalla sezione circolare basta modificare la formula relativa al momento d'inerzia (Ine), si può inserire anche direttamente un valore numerico.

Ine1=(Res1^4-Ri1^4)*Pi/4;
Ine2=(Res2^4-Ri2^4)*Pi/4;
Ine3=(Res3^4-Ri3^4)*Pi/4;
Ine4=(Res4^4-Ri4^4)*Pi/4;
Ine5=(Res5^4-Ri5^4)*Pi/4;
Ine6=(Res6^4-Ri6^4)*Pi/4;

Calcolo Delle Grandezze Caratteristiche

α1=α;

α2=β*α;

α3=γ*α;

α4=δ*α;

α5=ϕ*α;

α6=η*α;

β= (Ine1/Ine2)^0.5;

γ= (Ine1/Ine3)^0.5;

δ= (Ine1/Ine4)^0.5;

ϕ= (Ine1/Ine5)^0.5;

η= (Ine1/Ine6)^0.5;

Equazioni di Campo

w1[x_]=C[1]*Sin[α1 x]+C[2]*Cos[α1 x]+C[3]*x+C[4];
w2[x_]=C[5]*Sin[α2 x]+C[6]*Cos[α2 x]+C[7]*x+C[8];
w3[x_]=C[9]*Sin[α3 x]+C[10]*Cos[α3 x]+C[11]*x+C[12];
w4[x_]=C[13]*Sin[α4 x]+C[14]*Cos[α4 x]+C[15]*x+C[16];
w5[x_]=C[17]*Sin[α5 x]+C[18]*Cos[α5 x]+C[19]*x+C[20];
w6[x_]=C[21]*Sin[α6 x]+C[22]*Cos[α6 x]+C[23]*x+C[24];

Equazioni delle restanti grandezze

φ1[x_]=-w1'[x];
M1[x_]=-Es*Ine1 w1''[x];
T1[x_]=-Es*Ine1  w1'''[x]-Es*Ine1*α^2* w1'[x];

φ2[x_]=-w2'[x];
M2[x_]=-Es*Ine2 w2''[x];
T2[x_]=-Es*Ine2  w2'''[x]-Es*Ine1*α^2* w2'[x];

φ3[x_]=-w3'[x];
M3[x_]=-Es*Ine3 w3''[x];
T3[x_]=-Es*Ine3  w3'''[x]-Es*Ine1*α^2* w3'[x];

φ4[x_]=-w4'[x];
M4[x_]=-Es*Ine4 w4''[x];
T4[x_]=-Es*Ine4  w4'''[x]-Es*Ine1*α^2* w4'[x];

φ5[x_]=-w5'[x];
M5[x_]=-Es*Ine5 w5''[x];
T5[x_]=-Es*Ine5  w5'''[x]-Es*Ine1*α^2* w5'[x];

φ6[x_]=-w6'[x];
M6[x_]=-Es*Ine6 w6''[x];
T6[x_]=-Es*Ine6  w6'''[x]-Es*Ine1*α^2* w6'[x];

Condizioni al Contorno

cc1=w1[0]==0;
cc2=φ1[0]==0;
cc3=w1[h1]-w2[0]==0;
cc4=φ1[h1]-φ2[0]==0;
cc5=M1[h1]-M2[0]==0;
cc6=T1[h1]-T2[0]==0;
cc7=w2[h2]-w3[0]==0;
cc8=φ2[h2]-φ3[0]==0;
cc9=M2[h2]-M3[0]==0;
cc10=T2[h2]-T3[0]==0;
cc11=w3[h3]-w4[0]==0;
cc12=φ3[h3]-φ4[0]==0;
cc13=M3[h3]-M4[0]==0;
cc14=T3[h3]-T4[0]==0;
cc15=w4[h4]-w5[0]==0;
cc16=φ4[h4]-φ5[0]==0;
cc17=M4[h4]-M5[0]==0;
cc18=T4[h4]-T5[0]==0;
cc19=w5[h5]-w6[0]==0;
cc20=φ5[h5]-φ6[0]==0;
cc21=M5[h5]-M6[0]==0;
cc22=T5[h5]-T6[0]==0;
cc23=M6[h6]==0;
cc24=T6[h6]==0;

SOLUZIONE=NSolve[{cc1,cc2,cc3,cc4,cc5,cc6,cc7,cc8,cc9,cc10,cc11,cc12,cc13,cc14,cc15,cc16,cc17,cc18,cc19,cc20,cc21,cc22,cc23,cc24},{C[1],C[2],C[3],C[4],C[5],C[6],C[7],C[8],C[9],C[10],C[11],C[12],C[13],C[14],C[15],C[16],C[17],C[18],C[19],C[20],C[21],C[22],C[23],C[24]},WorkingPrecision->50];

Matrice dei coefficienti delle condizioni al contorno, e carico critico minimo

A={cc1,cc2,cc3,cc4,cc5,cc6,cc7,cc8,cc9,cc10,cc11,cc12,cc13,cc14,cc15,cc16,cc17,cc18,cc19,cc20,cc21,cc22,cc23,cc24};

B=Normal@CoefficientArrays[A,{C[1],C[2],C[3],C[4],C[5],C[6],C[7],C[8],C[9],C[10],C[11],C[12],C[13],C[14],C[15],C[16],C[17],C[18],C[19],C[20],C[21],C[22],C[23],C[24]}][[2]];

MatrixForm[%]

L=Det[B];

Algoritmo per la ricerca del carico critico

αmin=((Pi^2*Es*Ine6/(4*(h1+h2+h3+h4+h5+h6)^2))/(Es*Ine1))^0.5

αmax=((Pi^2*Es*Ine1/(4*(h1+h2+h3+h4+h5+h6)^2))/(Es*Ine1))^0.5

Si è definito il massimo valore di alpha che corrisponde al carico critico che l' asta avrebbe se fosse formata per tutta la sua lunghezza dalla sezione più grande, ossia quella di base, viceversa il minimo valore ottenuto se l’asta fosse formata solo dalla sezione più piccola.

Plot[L,{α,αmin,αmax}]

La soluzione cercata è compresa per necessità fisiche tra αmin  e αmax; si studia questo tratto di funzione e si ricerca la radice più piccola, ossia quella più vicina all'origine. Il carico critico è noto non appena si ricava questo valore.

Si entra su FindRoot e si inseriscono valori a tentativo partendo da αmin e proseguendo verso αmax, ci si aiuta con il grafico sottostante cercando intervalli sempre più piccoli per la funzione prossimo al punto di zero.

FindRoot[L==0,{α,0.16},WorkingPrecision->60,PrecisionGoal->10]

Plot[L,{α,0.14,0.16}]

Trovata la radice si inserisce nella formula sottostante e si ricava il carico critico, è utile confrontare il valore appena ricavato con i valori massimi e minimi del carico critico riportati sotto; in sostanza la soluzione deve essere sempre compresa tra questi due valori per essere fisicamente accettabile.

Ncr=0.1567661004^2*Es*Ine1

check

Il carico critico massimo si riferisce all’asta formata unicamente dalla sezione di base; mentre il minimo si riferisce all’asta formata unicamente dalla sezione di sommità. In questo caso si fa l’ipotesi che la sezione più grande sia quella d’incastro e la sezione più piccola quella sull’estremo libero.

Ncrmax=Pi^2*Es*Ine1/(4*(h1+h2+h3+h4+h5+h6)^2)

Ncrmin=Pi^2*Es*Ine6/(4*(h1+h2+h3+h4+h5+h6)^2)

Ing. Davide Cicchini