Analisi statica e dinamica di un telaio curvo
![[Maple Plot]](images/esempio3_telaio_curvo20.gif)
Analizziamo ora un problema con un numero di gradi di liberà più elevato.
La sequenza delle operazioni è la solita:
> restart: read "beam2D_FEMpack.m";
>
nel := 10;
>
node := table ([ seq( n = [ 10*cos((n-1)/5.) , 10*sin((n-1)/5.) ] , n=1..nel),
seq( 100+n = [ 9*cos((n-1)/5.) , 9*sin((n-1)/5.) ] , n=1..nel) ]);
2. Definizione degli elementi della struttura
Caratteristiche della sezione della trave
>
mu0:=1;
densità lineare
>
EJ0:=1e7;
elasticità flessionale
> EA0:=1e7;
elasticità assiale
Definisco la table degli elementi, seguendo la numerazione della figura
>
beam := table([
seq( [ n, n+1, mu0,EA0,EJ0], n=1..nel-1) ,
seq( [ n+100, n+101, mu0,EA0,EJ0], n=1..nel-1),
seq( [ n, n+100, mu0,EA0,EJ0], n=1..nel)]);
La struttura è incernierata in corrispondenza dei nodi 10 e 11
> impl_constraint := [ x101,z101, x1,z1];
4. Assemblaggio della struttura
> built_structure(node,beam,impl_constraint):
Warning, global variables 'NN','nix','coords' were been defined
Sono stati definiti 20 nodi: n = [ X [m] Z [m] ] -------------------------- 1 = [ +10.000 +0.000 ] 2 = [ +9.801 +1.987 ] 3 = [ +9.211 +3.894 ] 4 = [ +8.253 +5.646 ] 5 = [ +6.967 +7.174 ] 6 = [ +5.403 +8.415 ] 7 = [ +3.624 +9.320 ] 8 = [ +1.700 +9.854 ] 9 = [ -0.292 +9.996 ] 10 = [ -2.272 +9.738 ] 101 = [ +9.000 +0.000 ] 102 = [ +8.821 +1.788 ] 103 = [ +8.290 +3.505 ] 104 = [ +7.428 +5.082 ] 105 = [ +6.270 +6.456 ] 106 = [ +4.863 +7.573 ] 107 = [ +3.261 +8.388 ] 108 = [ +1.530 +8.869 ] 109 = [ -0.263 +8.996 ] 110 = [ -2.045 +8.765 ] -------------------------- Warning, global variables 'NE','bix' were been defined Sono stati definiti 28 elementi di tipo trave: m , ( i, j) = mu[kg/m] EA[N] EJ[Nm2] l[m] theta[rad] -------------------------------------------------------------------- 1 , ( 1 , 2) = 1.0 1.00e+07 1.00e+07 1.997 +1.671 2 , ( 2 , 3) = 1.0 1.00e+07 1.00e+07 1.997 +1.871 3 , ( 3 , 4) = 1.0 1.00e+07 1.00e+07 1.997 +2.071 4 , ( 4 , 5) = 1.0 1.00e+07 1.00e+07 1.997 +2.271 5 , ( 5 , 6) = 1.0 1.00e+07 1.00e+07 1.997 +2.471 6 , ( 6 , 7) = 1.0 1.00e+07 1.00e+07 1.997 +2.671 7 , ( 7 , 8) = 1.0 1.00e+07 1.00e+07 1.997 +2.871 8 , ( 8 , 9) = 1.0 1.00e+07 1.00e+07 1.997 +3.071 9 , ( 9 ,10) = 1.0 1.00e+07 1.00e+07 1.997 -3.012 10 , (101 ,102) = 1.0 1.00e+07 1.00e+07 1.797 +1.671 11 , (102 ,103) = 1.0 1.00e+07 1.00e+07 1.797 +1.871 12 , (103 ,104) = 1.0 1.00e+07 1.00e+07 1.797 +2.071 13 , (104 ,105) = 1.0 1.00e+07 1.00e+07 1.797 +2.271 14 , (105 ,106) = 1.0 1.00e+07 1.00e+07 1.797 +2.471 15 , (106 ,107) = 1.0 1.00e+07 1.00e+07 1.797 +2.671 16 , (107 ,108) = 1.0 1.00e+07 1.00e+07 1.797 +2.871 17 , (108 ,109) = 1.0 1.00e+07 1.00e+07 1.797 +3.071 18 , (109 ,110) = 1.0 1.00e+07 1.00e+07 1.797 -3.012 19 , ( 1 ,101) = 1.0 1.00e+07 1.00e+07 1.000 +3.142 20 , ( 2 ,102) = 1.0 1.00e+07 1.00e+07 1.000 -2.942 21 , ( 3 ,103) = 1.0 1.00e+07 1.00e+07 1.000 -2.742 22 , ( 4 ,104) = 1.0 1.00e+07 1.00e+07 1.000 -2.542 23 , ( 5 ,105) = 1.0 1.00e+07 1.00e+07 1.000 -2.342 24 , ( 6 ,106) = 1.0 1.00e+07 1.00e+07 1.000 -2.142 25 , ( 7 ,107) = 1.0 1.00e+07 1.00e+07 1.000 -1.942 26 , ( 8 ,108) = 1.0 1.00e+07 1.00e+07 1.000 -1.742 27 , ( 9 ,109) = 1.0 1.00e+07 1.00e+07 1.000 -1.542 28 , (10 ,110) = 1.0 1.00e+07 1.00e+07 1.000 -1.342 -------------------------------------------------------------------- Warning, global variables 'constraint','NC','dip','indip','NDOF' were been defined La struttura possiede 56 gradi di libertà.
Verifico il risulato disegnaado la struttura
>
blue :=COLOUR(RGB,0,0,1): red:=COLOUR(RGB,1,0,0):
black:=COLOUR(RGB,0,0,0):
>
nlab := node_label(-0.05,-0.05):
>
P_undeformed := draw_beams(beam,0,0,2,red):
> PLOT(P_undeformed,nlab,SCALING(CONSTRAINED),AXESSTYLE(NONE),THICKNESS(2));
Applico una forza in corrispondenza del nodo 110, che si trova all'estremità opposta a quella vincolata
> force := table([ 110 = [ 10e3 , 10e3 , 0.0 ] ]);
effettuo l'analisi statica
> static_analysis(beam,force,static_disp):
e ne rappresento i risulatati
>
scd:=3:
>
P_stat_def := draw_beams(beam,static_disp,scd,8,blue):
>
scf:=0.0005:
scala delle forze
>
scm:=0.0005:
scala dei momenti
>
PP_force := draw_forces(force,scf,scm,static_disp,scd,black,THICKNESS(2)):
diagramma delle forze
> PLOT(P_undeformed, P_stat_def,PP_force,node_label(0.05,0.05),SCALING(CONSTRAINED),AXESSTYLE(NONE),THICKNESS(1));
>
modal_analysis(beam, myomega, mymode, NDOF):
Warning, pre-load conditions are not take into account in modal analysis
frequenze proprie
omega( 1) = 6.6316e+04 rad/s = 1.0555e+04 Hz
omega( 2) = 6.1395e+04 rad/s = 9771.3129 Hz
omega( 3) = 5.4283e+04 rad/s = 8639.4518 Hz
omega( 4) = 4.6552e+04 rad/s = 7408.9985 Hz
omega( 5) = 4.4072e+04 rad/s = 7014.3218 Hz
omega( 6) = 4.0999e+04 rad/s = 6525.216 Hz
omega( 7) = 3.9513e+04 rad/s = 6288.6215 Hz
omega( 8) = 3.7710e+04 rad/s = 6001.7148 Hz
omega( 9) = 3.3939e+04 rad/s = 5401.6006 Hz
omega(10) = 3.3209e+04 rad/s = 5285.3941 Hz
omega(11) = 2.9590e+04 rad/s = 4709.3245 Hz
omega(12) = 2.8726e+04 rad/s = 4571.9627 Hz
omega(13) = 2.6605e+04 rad/s = 4234.3913 Hz
omega(14) = 2.4896e+04 rad/s = 3962.2924 Hz
omega(15) = 2.4571e+04 rad/s = 3910.527 Hz
omega(16) = 2.4022e+04 rad/s = 3823.2253 Hz
omega(17) = 2.0913e+04 rad/s = 3328.412 Hz
omega(18) = 1.7793e+04 rad/s = 2831.8386 Hz
omega(19) = 1.5240e+04 rad/s = 2425.5949 Hz
omega(20) = 1.3490e+04 rad/s = 2146.9442 Hz
omega(21) = 9877.3079 rad/s = 1572.0224 Hz
omega(22) = 9603.3321 rad/s = 1528.4178 Hz
omega(23) = 9427.5071 rad/s = 1500.4344 Hz
omega(24) = 9189.0107 rad/s = 1462.4765 Hz
omega(25) = 8941.1692 rad/s = 1423.0313 Hz
omega(26) = 8488.9152 rad/s = 1351.0528 Hz
omega(27) = 8298.3507 rad/s = 1320.7235 Hz
omega(28) = 7970.6602 rad/s = 1268.57 Hz
omega(29) = 7875.9824 rad/s = 1253.5015 Hz
omega(30) = 7730.6569 rad/s = 1230.3723 Hz
omega(31) = 7524.7809 rad/s = 1197.6061 Hz
omega(32) = 6413.5728 rad/s = 1020.7518 Hz
omega(33) = 6093.2627 rad/s = 969.7729 Hz
omega(34) = 4965.5061 rad/s = 790.2848 Hz
omega(35) = 5401.8946 rad/s = 859.7382 Hz
omega(36) = 4591.0729 rad/s = 730.6919 Hz
omega(37) = 4173.8835 rad/s = 664.2942 Hz
omega(38) = 4005.1593 rad/s = 637.4409 Hz
omega(39) = 3980.8601 rad/s = 633.5736 Hz
omega(40) = 3774.1207 rad/s = 600.67 Hz
omega(41) = 3573.5108 rad/s = 568.7419 Hz
omega(42) = 3447.9962 rad/s = 548.7656 Hz
omega(43) = 3317.8948 rad/s = 528.0594 Hz
omega(44) = 3183.1368 rad/s = 506.612 Hz
omega(45) = 3025.6958 rad/s = 481.5544 Hz
omega(46) = 2723.0499 rad/s = 433.3869 Hz
omega(47) = 2406.4543 rad/s = 382.9991 Hz
omega(48) = 1771.1847 rad/s = 281.8928 Hz
omega(49) = 1959.8623 rad/s = 311.9218 Hz
omega(50) = 1359.3853 rad/s = 216.3529 Hz
omega(51) = 1117.813 rad/s = 177.9055 Hz
omega(52) = 826.4408 rad/s = 131.5321 Hz
omega(53) = 581.6826 rad/s = 92.5777 Hz
omega(54) = 38.9242 rad/s = 6.195 Hz
omega(55) = 161.5617 rad/s = 25.7134 Hz
omega(56) = 350.238 rad/s = 55.7421 Hz
come al solito, curo la rappresentazione grafica
>
scd := 2:
scale factor
>
nn:=56;
seleziono il modo
>
myomega[nn];
>
P_mode := draw_beams(beam,mymode[nn],scd,6,blue):
> PLOT(P_undeformed,P_mode,node_label(0,0),SCALING(CONSTRAINED),AXESSTYLE(NONE),THICKNESS(1));
Alcuni altri modi
|
modo n. 53, con pulsazione w=581.7 rad/s
|
|
modo n. 54, con pulsazione w=38.9 rad/s
|
|
modo n. 55, con pulsazione w=161.6 rad/s
|