Задача 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;