/\/////////////////////////////////////////////////////////////////////////////////// /\ Пояснения к проекту set remark= "Расчет сил давления в подшипниках"; scalar M = 10[ kg ]; scalar h = 0.3[ m ]; scalar w1 = 1000[ deg/ s ]; scalar w2 = 500[ deg/ s ]; scalar g = 9.81[ m/ s2 ]; scalar a = 0.2[ m ]; scalar r_tire "Радиус обода тела вращения solid1" = 0.0001[ m ]; point point1 = point( 0 [ m ], 0 [ m ], 0 [ m ], visible = hide: ); body body1 "Инерциальное звено - система координат проекта" = body( color = RGB( 229, 229, 229 ), visible = hide: ); point point2 = point( -0.3 [ m ], 0.5 [ m ], 0 [ m ], visible = hide: ); point point3 = point( -0.3 [ m ], 0 [ m ], 0 [ m ], visible = hide: ); point point4 = point( 0 [ m ], 0 [ m ], 0 [ m ], visible = hide: ); point point5 = point( 0.3 [ m ], 0 [ m ], 0 [ m ], visible = hide: ); point point6 = point( 0.3 [ m ], 0.5 [ m ], 0 [ m ], visible = hide: ); line line1 = polyLine( list( point2, point3, point4, point5, point6 ) ); color green = index( 44 ); body body2 "Тело вращения вокруг оси OY" = body( color = green ); condition condition1 "Начальное значение угловой скорости w2 для звена body2 относительно звена body1" = rotVelocity( body1, projectY, body2, w2 ); point point7 = point( -h, 0.5 [ m ], 0 [ m ] ); point point8 = point( h, 0.5 [ m ], 0 [ m ] ); line line2 = polyLine( list( point7, point8 ) ); color blue = index( 73 ); body body3 "Колесо с осью" = body( color = blue ); condition condition2 "Начальное значение угловой скорости w1 для звена body3 относительно звена body2" = rotVelocity( body2, vectorPP( point2, point6 ), body3, w1 ); gravity gravity1 = parallel( reverse( projectY ) ); joint joint1 = user( body1, body2, nodePoint( point1 ), noX:, noY:, noZ:, noFiX:, yesFiY:, noFiZ: ); joint joint2 = user( body2, body3, nodePoint( point2 ), noX:, noY:, noZ:, yesFiX:, yesFiY:, yesFiZ: ); joint joint3 = user( body2, body3, nodePoint( point6 ), noX:, noY:, yesZ:, yesFiX:, yesFiY:, yesFiZ: ); solid solid1 "Невесомая ось" = spin( circle( point( 0 [ m ], 0.3 [ m ], 0 [ m ] ), projectZ, r_tire ), vectorPP( point2, point6 ), mass = 2*M ); solid solid2 "Колесо" = cylinder( point7, point8, 0.002 [ m ] ); sensor Na_Theoretical = M*g*(1+(a*a*(w1*PI/180[ deg ])*(w2*PI/180[deg]))/(g*h)); sensor Nb_Theoretical = M*g*(1-(a*a*(w1*PI/180[ deg ])*(w2*PI/180[deg]))/(g*h)); sensor Na_y = jointForce( force:, body2, point2, vectorPP( point2, point3 ), joint2 ); sensor Nb_y = jointForce( force:, body2, point6, reverse( projectY ), joint3 ); sensor Na_delta = abs((Na_Theoretical-Na_y)/Na_Theoretical); sensor Nb_delta = abs((Nb_Theoretical-Nb_y)/Nb_Theoretical); /\/////////////////////////////////////////////////////////////////////////////////// /\ Прикрепление объектов body body1 < (point1 ); body body2 < (point2, point3, point4, point5, point6, line1 ); body body3 < (point7, point8, line2, solid2, solid1 ); /\/////////////////////////////////////////////////////////////////////////////////// /\ Инерциальное звено; set ground = body1; /\/////////////////////////////////////////////////////////////////////////////////// /\ Единицы измерения; set units = SI;