Analisi statica e dinamica di un telaio curvo

[Maple Plot]

Analizziamo ora un problema con un numero di gradi di liberà più elevato.

La sequenza delle operazioni è la solita: 


> restart: read "beam2D_FEMpack.m";

 

1. Definizione dei nodi

> 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) ]);

nel := 10

node := TABLE([1 = [10., 0.], 2 = [9.800665778, 1.9...
node := TABLE([1 = [10., 0.], 2 = [9.800665778, 1.9...
node := TABLE([1 = [10., 0.], 2 = [9.800665778, 1.9...
node := TABLE([1 = [10., 0.], 2 = [9.800665778, 1.9...
node := TABLE([1 = [10., 0.], 2 = [9.800665778, 1.9...
node := TABLE([1 = [10., 0.], 2 = [9.800665778, 1.9...

 

2. Definizione degli elementi della struttura

Caratteristiche della sezione della trave 

> mu0:=1;            densità lineare 
> EJ0:=1e7;         elasticità flessionale
> EA0:=1e7;       elasticità assiale

mu0 := 1

EJ0 := .1e8

EA0 := .1e8

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)]);

beam := TABLE([1 = [1, 2, 1, .1e8, .1e8], 2 = [2, 3...
beam := TABLE([1 = [1, 2, 1, .1e8, .1e8], 2 = [2, 3...
beam := TABLE([1 = [1, 2, 1, .1e8, .1e8], 2 = [2, 3...
beam := TABLE([1 = [1, 2, 1, .1e8, .1e8], 2 = [2, 3...
beam := TABLE([1 = [1, 2, 1, .1e8, .1e8], 2 = [2, 3...
beam := TABLE([1 = [1, 2, 1, .1e8, .1e8], 2 = [2, 3...
beam := TABLE([1 = [1, 2, 1, .1e8, .1e8], 2 = [2, 3...
beam := TABLE([1 = [1, 2, 1, .1e8, .1e8], 2 = [2, 3...

 

3. Definizione dei vincoli

La struttura è incernierata in corrispondenza dei nodi 10 e 11

> impl_constraint := [ x101,z101, x1,z1];

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));

[Maple Plot]

5. Analisi statica

Applico una forza in corrispondenza del nodo 110, che si trova all'estremità opposta a quella vincolata

> force := table([ 110 = [ 10e3 , 10e3 , 0.0 ] ]);

force := TABLE([110 = [.10e5, .10e5, 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));

[Maple Plot]

6. Modi di vibrare

> 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));

nn := 56

350.2380475

[Maple Plot]

 

Alcuni altri modi

modo n. 53, con pulsazione w=581.7 rad/s

[Maple Plot]

 

modo n. 54, con pulsazione w=38.9 rad/s

[Maple Plot]

 

modo n. 55, con pulsazione w=161.6 rad/s

[Maple Plot]