birmaga.ru
добавить свой файл

1

Задача 22

( Задача 9.34. Сборник задач по теоретической механике/ Под ред. К.С. Колесникова. М.: Наука, Главная редакция физико-математической литературы, 1983. – 320 с. )


Три шарика одинаковой массы m прикреплены к нижним концам сварной стержневой конструкции, имеющей возможность вращаться вокруг горизонтальной оси О. Полагая, что каждый из однородных стержней длины l, составляющих стержневую конструкцию, имеет массу m, определить частоту малых колебаний системы.

Для решения задачи использовать следующие значения параметров:

m = 1 кг, l=0.48 м..


Точный теоретический ответ


.

Решение задачи в EULER




Система состоит из следующих звеньев:

  • Инерциальное звено body1, в состав которого входит точка подвеса – точка O

  • Звено body2, составленное из 5 цилиндров массы m и 3 шаров, той же массы

Возможность конструкции вращаться вокруг горизонтальной оси задается шарниром «пара вращения» joint1. Гравитационное поле задается объектом типа гравитация gravity1

Для определения частоты малых колебаний конструкции используются методы:

condition1 – условие отклонения шарнира joint1 на 0.5[deg] и

события event1 и event2, запускающие друг друга и таймер для нахождения половины периода колебания

Значения датчиков sensor1 и sensor1_teor отвечают за величины малых колебаний системы, полученные экспериментально и из теории соответственно.

Результаты моделирования


R1

R2

Шаг интегрирования


Sensor1

Sensor1_theor

Относительная погрешность

0.01

0.00001

1.00000e-003

3.2572e+000

3.2576e+000

1.0696e-004

0.01

0.01

1.00000e-002

3.2574e+000

3.2576e+000

6.6131e-005

0.00001

0.01

1.00000e-004

3.2574e+000

3.2576e+000

5.5122e-005

0.000001

0.001

авто

3.2576e+000

3.2576e+000

3.2852e-007



Текст проекта


scalar m=1 [ kg ];

scalar l=0.48[ m ];

scalar r1=0.000001[ m ];

scalar r2=0.001[ m ];

scalar g=9.81[m/s2];

point O=point( 0 [ m ], 0 [ m ], 0 [ m ] );

point A1=point( -l, 0 [ m ], 0 [ m ] );

point B1=point( 0 [ m ], 0 [ m ], 0 [ m ] );

point C1=point( l, 0 [ m ], 0 [ m ] );

point A=point( -l, -l, 0 [ m ] );

point B=point( 0 [ m ], -l, 0 [ m ] );

point C=point( l, -l, 0 [ m ] );

solid solid1=cylinder( A1, B1, r1, mass = m );

solid solid2=cylinder( B1, C1, r1, mass = m );

solid solid3=cylinder( A1, A, r1, mass = m );

solid solid4=cylinder( B1, B, r1, mass = m );


solid solid5=cylinder( C1, C, r1, mass = m );

solid solid6=sphere( A, r2, mass = m );

solid solid7=sphere( B, r2, mass = m );

solid solid8=sphere( C, r2, mass = m );

body body1=body( color = RGB( 229, 229, 229 ) );

set ground = body1;

body body1 < ( O );

body body2=body( color = RGB( 255, 153, 153 ) );

body body2 < ( solid3, solid6, solid1, solid4, solid7, solid2, solid5, solid8, A1, B1, C1, A, B, C );

joint joint1=rotational( body1, body2, O, projectZ );

gravity gravity1=parallel( reverse( projectY ) );

condition condition1=sensorValue( joint1.gamma, 0.5 [ deg ] );

event event2=reformsBySensor( list( stop( ) ), joint1.gamma, 0 [ deg ], timer = timerOff:, work = off: );

event event1=reformsBySensor( list( eventsOn( list( event2 ) ) ), joint1.gamma, 0 [ deg ], timer = timerOn: );

sensor sensor1=(2*PI/event1.timer)/2;

sensor sensor1_theor=sqrt(27*g/52/l);

sensor pogr_otn=abs(sensor1-sensor1_theor)/sensor1_theor;
/\///////////////////////////////////////////////////////////////////////////////////

/\ Единицы измерения;

set units = SI;