Задача 47

advertisement
Задача 47
( Задача 11.19. Сборник задач по теоретической механике/ Под ред. К.С. Колесникова. М.:
Наука, Главная редакция физико-математической литературы, 1983. – 320 с. )
Механизм шлакового стопора закрывает летку доменной печи под действием груза 1
веса P=mg. Механизм расположен в вертикальной плоскости, СК=DF, отрезки ВЕ, OO1
O2 O3 , CD горизонтальны и равны между собой. В положении равновесия стержень ОВ
образует с вертикалью угол  , а стержень КС – угол  .
Определить силу давления шлака на пробку 2, если ОА=а, ОВ=b, BOA  90 ,
PCD  90 .
Для решения задачи использовать следующие значения параметров:
m = 4 кг, а = 0.5 м, b = 0.7 м,  = 45 град,  = 45 град.
Точный теоретический ответ
a  m  g  sin   cos
.
Q
b  sin   
Для принятых значений параметров Q = 1.4000e+001 H
Решение задачи в EULER
Система состоит из семи звеньев:
1. инерциальное звено body2, состоит из точек point4, O1, O2, HLP_1
2. body1, состоит из точек O, A, B, линии line2 и сферы solid1
3. body3,состоит из точек O1_HLP, E_HLP_1 и линии line16
4. body4, состоит из точек HLP, C_HLP и линии line17
5. body9, состоит из точек K, D, E_HLP, B_HLP_1 и линии line11
6. body10,состоит из точек E, B_HLP и линии line15
7. body14,состоит из точек K_HLP,O2_HLP и линии line7
Использованные шарниры.
Body1 соединено пользовательским шарниром joint2 в точке O c инерциальным звеном
body2 и имеет 1 степень свободы (вращение вокруг орта Z) относительно узла node1.
В точке B соединяются 3 звена, поэтому тут использовано 2 шарнира (оба основаны на
соединениях пары вращения вокруг орта z) - joint5(соединяет звенья body1 и body9) и
joint6(соединяет звенья body1 и body10).
В точке O2 использована пара вращения (вокруг орта z) joint11, соединяющая звено
body14 и инерциальное звено body2.
В точке K использован шарнир пара вращения (с вращением вокруг орта z) joint12,
соединяющий звенья body14 и body9.
В точке E использован шарнир пара вращения (с вращением вокруг орта z) joint7,
соединяющий звенья body3 и body10.
В точке O1 использован шарнир пара вращения (с вращением вокруг орта z) joint8,
соединяющий звено body3 и инерциальное звено body2.
В точке С использован шарнир пара вращения (с вращением вокруг орта z) joint9,
соединяющий звенo body9 звено body4.
В точке HLP использован шарнир пара вращения (с вращением вокруг орта z) joint15,
соединяющий звенo body4 и инерциальное звено body2, данный шарнир не является
приводным, а служит для фиксирования датчиком значения силы в точке HLP.
В проекте использованы 2 функции в виде выражений – function2 и force_delta_rel,
в связи с необходимостью передавать параметры датчикам в виде выражений.
Для измерения силы использовался датчик Force типа Силовой фактор от шарнира.
Для сравнения полученного решения и аналитического решения использованы следующие
датчики в виде выражения: Force_analit, Force_delta, Force_delta_rel.
В результате, полученное решение 1.4014e+001 Н
Погрешность составляет: 1.0204e-003
Текст программы в EULER.
scalar m=4[ kg ];
scalar a=0.5[ m ];
scalar b=0.7[ m ];
scalar alpha=45[ deg ];
scalar beta=45[ deg ];
point O=point( 0 [ m ], 0 [ m ], 0 [ m ], pointStyle = thickdot: );
point B=point( b*sin(alpha), b*cos(alpha), 0 [ m ], pointStyle = thickdot: );
point A=point( a*cos(beta), -a*sin(beta), 0 [ m ], pointStyle = thickdot: );
line line2=polyLine( list( B, O, A ) );
color color1=RGB( 1, 0, 0 );
body body1=body( color = color1 );
body body1 < ( O, B, A, line2 );
solid solid1=sphere( A, 0.1 [ m ], mass = m );
body body1 < ( solid1 );
gravity gravity1=parallel( reverse( projectY ) );
point point4=point( 0 [ m ], 0 [ m ], 0 [ m ], pointStyle = thickdot: );
color color2=RGB( 1, 0, 0 );
body body2=body( color = color2 );
set ground = body2;
body body2 < ( point4 );
node node1=nodePoint( point4 );
joint joint2=user( body1, body2, node1, noX:, noY:, noZ:, noFiX:, noFiY:, yesFiZ: );
point O1=point( 3 [ m ], 0 [ m ], 0 [ m ], pointStyle = thickdot: );
body body2 < ( O1 );
point O2=point( -1 [ m ], 1 [ m ], 0 [ m ], pointStyle = thickdot: );
body body2 < ( O2 );
line line3=polyLine( list( O, O1 ), lineStyle = dash: );
scalar scalar8=0.7[ m ]*sqrt(2)/1.25-1[m];
scalar scalar9=0.14[ m ]*sqrt(2)+1[m];
point K=point( 4*sqrt(2)*b/5-1 [ m ], b*sqrt(2)/5+1 [ m ], 0 [ m ], pointStyle = thickdot: );
point P=point( 5/3*1[ m ], 5/3*1[ m ], 0 [ m ], pointStyle = thickdot: );
point O2_HLP=move( O2, projectX, 0 [ m ], pointStyle = thickdot: );
line line7=polyLine( list( O2_HLP, K ) );
line line8=polyLine( list( K, P ), lineStyle = dash: );
line line10=polyLine( list( B, P ), lineStyle = dash: );
point C=point( 5/3*1[ m ], -5/3*1[ m ]+sqrt(2)*b, 0 [ m ], pointStyle = thickdot: );
line line11=polyLine( list( K, B, C ) );
line line12=polyLine( list( P, C ), lineStyle = dash: );
point D=move( C, projectX, 3 [ m ], pointStyle = thickdot: );
point E=move( B, projectX, 3 [ m ], pointStyle = thickdot: );
line line15=polyLine( list( B, E ) );
line line16=polyLine( list( E, O1 ) );
point HLP=move( D, projectX, 0.5 [ m ], pointStyle = thickdot: );
line line17=polyLine( list( C, D, HLP ) );
point K_HLP=move( K, projectX, 0 [ m ], pointStyle = thickdot: );
point B_HLP=move( B, projectX, 0 [ m ], pointStyle = thickdot: );
point C_HLP=move( C, projectX, 0 [ m ], pointStyle = thickdot: );
point B_HLP_1=move( B, projectX, 0 [ m ], pointStyle = thickdot: );
point E_HLP=move( E, projectX, 0 [ m ], pointStyle = thickdot: );
point E_HLP_1=move( E, projectX, 0 [ m ], pointStyle = thickdot: );
color color3=RGB( 1, 0, 0 );
color color4=RGB( 1, 0, 0 );
color color5=RGB( 1, 0, 0 );
color color6=RGB( 1, 0, 0 );
color color7=RGB( 1, 0, 0 );
point O1_HLP=move( O1, projectX, 0 [ m ], pointStyle = thickdot: );
color color8=RGB( 1, 0, 0 );
color color9=RGB( 131, 1, 27 );
color color15=RGB( 1, 0, 0 );
body body9=body( color = color9 );
body body9 < ( K, line11, B_HLP_1, E_HLP, D );
color color10=RGB( 75, 13, 145 );
body body10=body( color = color10 );
body body10 < ( B_HLP, E, line15 );
color color11=RGB( 172, 160, 13 );
joint joint5=rotational( body1, body9, B, projectZ );
joint joint6=rotational( body1, body10, B, projectZ );
point HLP_1=move( HLP, projectX, 0 [ m ], pointStyle = thickdot: );
body body2 < ( HLP_1 );
body body14=body( color = RGB( 255, 255, 102 ) );
body body14 < ( O2_HLP, line7, K_HLP );
joint joint11=rotational( body14, body2, O2, projectZ );
joint joint12=rotational( body14, body9, K, projectZ );
color color14=RGB( 24, 10, 84 );
color color12=RGB( 1, 0, 0 );
body body3=body( color = color12 );
body body3 < ( O1_HLP, E_HLP_1, line16 );
joint joint7=rotational( body3, body10, E, projectZ );
joint joint8=rotational( body2, body3, O1, projectZ );
color color13=RGB( 1, 0, 0 );
body body4=body( color = color13 );
body body4 < ( C_HLP, line17, HLP );
joint joint9=rotational( body9, body4, C, projectZ );
joint joint15=rotational( body4, body2, HLP, projectZ );
sensor Force=jointForce( force:, body2, HLP, projectX, joint15 );
sensor Force_analit=a*m*9.8[ m/ s2 ]*sin(beta)*cos(alpha)/(b*sin(alpha+beta));
function function2(Force[ N ],Force_analit[ N ])=#Force-#Force_analit;
sensor Force_delta=function2(Force , Force_analit);
function force_delta_rel(Force_delta[ N ],Force_analit[ N ])=#Force_delta/#Force_analit;
sensor Force_delta_rel=force_delta_rel(Force_delta ,Force_analit );
joint joint4=contactPointPoint( HLP, HLP_1 );
/\///////////////////////////////////////////////////////////////////////////////////
/\ Единицы измерения;
set units = SI;
Download