РАЗРАБОТКА КОМПЛЕКСА УНИВЕРСАЛЬНЫХ MWS-ПРОГРАММ (MAPLE) ДЛЯ КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ И АВТОМАТИЗАЦИИ РАСЧЕТОВ В ОБЛАСТИ МЕХАНИКИ
Аннотация и ключевые слова
Аннотация (русский):
Разработана электронная обучающая система, объединяющая сведения справочного характера по теории, методам и примерам решения научных и технических проблем (электронный учебник по теоретической механике), многовариантные индивидуальные задания, ранжируемые по степени сложности, а также алгоритмическое и программное обеспечение для компьютерного моделирования (включая построение динамических моделей движения серии механизмов с отображением результатов – мультипликацией) и расчетов их кинематических и динамических характеристик. Создана единая для предметной области база вычислительных алгоритмов и программ, реализованная в системе Maple, выбор которых и совместное использование определяются постановкой задачи, что позволяет получить решение широкого спектра задач механики и интенсифицировать научные исследования.

Ключевые слова:
мультимедийные информационные системы компьютерной поддержки научных исследований, дистанционные информационно-справочные системы, WEB-технологии, информационные и телекоммуникационные технологии, математическое моделирование, механика, динамика и прочность машин, динамика механизмов, теория колебаний
Текст
Введение Информационно-обучающие системы (ИОС) – одно из перспективных направлений, используемых для постановки и решения образовательных, научно-исследовательских и инженерных задач в области механики. Подобные системы с успехом используются для создания и развития электронных форм обучения в сфере высшего профессионального и послевузовского образования. Эффективность использования интерактивных средств обучения подтверждена более чем 20-летним опытом их применения. Еще в 90-х гг. XX в. предпринимались попытки создания мультимедийных систем для изучения технических наук, в частности теоретической механики (работы Ю. Ф. Голубева, В. Е. Павловского, А. В. Корецкого, Н. В. Осадченко и др.). Дальнейшее развитие было связано с использованием интерактивных возможностей персональных компьютеров и сети Интернет (работы Г. И. Мельникова, А. Г. Кривошеева, В. В. Глаголева, В. И. Латышева и др.). Преимущественной формой представления материалов был гипертекст, www-технологии, сетевые электронные учебники (работы А. И. Кобрина, В. Г. Кузьменко; В. Е. Павловского, Т. О. Невенчанной, Е. В. Пономаревой [1–3, 4]). В последнее время все чаще стали появляться работы, основанные на совмещении традиционных подходов к созданию ИОС возможностей специализированных математических пакетов – Maple и MathCAD (работы М. Н. Кирсанова [5–7], А. В. Матросова [8], Е. Г. Макарова, В. Д. Бертяева, В. П. Дьяконова), что не только повысило научно-практический уровень, но и открыло новые пути для повышения интерактивности подобных систем. Несмотря на множество существующих ИОС по теоретической механике, в большинстве из них частично или полностью отсутствуют возможности: 1) адаптации по заданным критериям теоретического и информационного материала, упражнений и заданий для обеспечения требуемого уровня сложности и объема изучения; 2) повышения интерактивности ИОС и их представления в виде виртуальных стендов (2D- и 3D-лабораторий) для изучения механических систем; 3) использования при создании ИОС однородных инструментальных средств, обеспечивающих единообразие облика и стиля системы; 4) разработки и внедрения принципиально новых расчетных заданий для студентов, ориентированных не только на формирование базовых теоретических знаний по теоретической механике, но и на приобретение навыков и умений решения задач, тесно связанных с будущей профессиональной деятельностью, на укрепление междисциплинарных связей дисциплин механического профиля, развитие склонности и способности к творческому мышлению, позволяющему самостоятельно строить и использовать математические и физические модели объектов и явлений реального мира. Постановка и решение задачи В настоящее время нами осуществляется развитие электронного учебника по теоретической механике [1], разработанного в 2003 г. на базе кафедры «Теоретическая и прикладная механика» Астраханского государственного технического университета. Электронный учебник дополнен разделом «Колебания», а также рядом вычислительных алгоритмов и их программных модулей, реализующих на основе единого подхода решение широкого класса задач механики по родственным предметным дисциплинам. Разработана методология проведения технических расчетов в системах MathCAD и Maple, сформирован комплекс mws-программ, написанных на математически ориентированном языке программирования Maple. Комплекс программ предназначен для компьютерного моделирования и автоматизации расчета кинематических и динамических параметров механических систем с визуализацией результатов в виде двух- и трехмерных анимированных моделей. Разработанные программы позволяют не только решать поставленные задачи, но и используются как генераторы заданий заданной сложности с автоматической проверкой получаемых результатов, что позволяет формировать банк уникальных многовариантных расчетных заданий, ранжируемых по степени сложности. Каждая программа связана с решением конкретной типовой задачи и структурно входит в раздел (тему) ИОС по теоретической механике [1]. Работу с программой предваряет изучение теоретического материала по соответствующей теме, анализ общей постановки задачи, включая план ее решения с необходимыми теоретическими пояснениями и примерами, а также описание принципа работы самой программы. Примеры реализации методологии Рассмотрим примеры реализации указанной методологии технических расчетов по теме «Кинематика точки» (раздел «Кинематика»). Основой является программа, предназначенная для решения типовой задачи кинематики точки, когда точка М движется в пространстве Oxyz по траектории, заданной уравнениям движения х = х(t), у = у(t), z = z(t). Требуется определить траекторию точки, а также для заданного момента времени t = t1 найти положение точки на траектории, определить и построить векторы скорости, нормального, касательного и полного ускорений, вычислить радиус кривизны в соответствующей точке траектории. Решение данной задачи выполнено в среде Maple, листинг программы приведен в табл. 1. Описание программы. Программа состоит из двух основных частей: 1) вычисление параметров движения точки по заданной траектории; 2) построение траектории точки и векторов скорости и ускорения. В программе (табл. 1) последовательно задаются кинематические уравнения движения точки (eq1,eq2,eq3), вычисляется положение в начальный и заданный моменты времени, определяются основные кинематические параметры движения точки, проекции скорости и ускорения точки на оси координат по соответствующим формулам дифференцированием по времени уравнений движения при помощи оператора дифференцирования diff. Модуль скорости и ускорения точки вычисляется по теореме Пифагора, при вводе арифметических квадратных корней используется команда sqrt. Для удобства анализа полученных результатов в программе предусмотрен вывод промежуточных расчетных значений физических величин. Таблица 1 Листинг программы «Кинематика точки-3D. Вычисление параметров движения точки» restart; readlib(isolate); with(plots); with(plottools); # Введите исходные данные задачи – кинематические уравнения движения и заданный момент времени eq1:=x=2-t; eq2:=y=2*t^3; eq3:=z=t^2; t1:=1; # Kоординаты точки в начальный момент времени x0:=eval(rhs(eq1), t=0); y0:=eval(rhs(eq2), t=0); z0:=eval(rhs(eq3), t=0); # Kоординаты точки в заданный момент времени x1:=eval(rhs(eq1), t=t1); y1:=eval(rhs(eq2), t=t1); z1:=eval(rhs(eq3), t=t1); # Линейная скорость точки и ее проекции на координатные оси v[x]:=diff(rhs(eq1), t); evalf(eval(%, t=t1)); v[y]:=diff(rhs(eq2), t); evalf(eval(%, t=t1)); v[z]:=diff(rhs(eq3), t); evalf(eval(%, t=t1)); V:=sqrt(v[x]^2+v[y]^2+v[z]^2); evalf(eval(%, t=t1)); # Линейное ускорение точки и его проекции на координатные оси a[x]:=diff(v[x], t); evalf(eval(%, t=t1)); a[y]:=diff(v[y], t); evalf(eval(%, t=t1)); a[z]:=diff(v[z], t); evalf(eval(%, t=t1)); A:=sqrt(a[x]^2+a[y]^2+a[z]^2); evalf(eval(%, t=t1)); # Касательное ускорение a[tau]:=(a[x]*v[x]+a[y]*v[y]+a[z]*v[z])/V; evalf(eval(a[tau], t=t1)); # Нормальное ускорение a[n]:=sqrt(A^2-a[tau]^2); evalf(eval(%, t=t1)); # Радиус кривизны траектории rho := evalf(eval(V^2/a[n], t=t1)); # Вывод результатов счета t:=t1; ` x0` = x0; ` y0` = y0; ` z0 ` = z0; ` x1` = x1; ` y1` = y1; ` z1 ` = z1; ` vx` = vx; ` vy` = vy; ` vz` = vz; ` v` = V; ` ax` = ax; ` ay` = ay; ` az` = az; ` a` = a; ` an` = an; ` atau` = atau; ` a` = a; ` rho` = rho; Продолжение табл. 1 Для отображения точки на траектории в пространстве и построения векторов линейной скорости и полного ускорения в рассматриваемый момент времени t1 = 1, с, во второй части программы (табл. 2) выполняется построение трехмерной траектории точки командой spacecurve с использованием уравнения траектории в параметрической форме. На рис. 1 показаны результаты визуализации результатов расчета. Таблица 2 Листинг программы «Положение точки на траектории-3D» # Построение траектории точки и векторов скорости и ускорения # Масштабный коэффициент muu:= 0,5; # График трехмерной траектории точки по уравнениям траектории в параметрической форме (параметр – время t) graf1 := spacecurve([2 – t, 2*t^3, t^2], t = 0…1.5, axes = boxed, thickness = 2, color = red); # Вывод текстовых обозначений на графике graf2 := textplot3d([[x1, y1, z1, "M1"], [x0, y0, z0, "Mo"], [x1 + vx*muu, y1 + vy*muu, z1 + vz*muu, "v"], [x1 + ax*muu, y1 + ay*muu, z1 + az*muu, "a"]], axes = boxed, color = blue, labels = ["x", "y", "z"]); # Построение векторов линейной скорости и линейного ускорения точки graf3 := arrow([x1, y1, z1], [x1 + vx*muu, y1 + vy*muu, z1 + vz*muu], 0,7e – 1, .5, .3, color = blue, thickness = 4, color = red); graf4 := arrow([x1, y1, z1], [x1 + ax*muu, y1 + ay*muu, z1 + az*muu], 0.7e – 1, .5, .3, color = blue, thickness = 4, color = red); # Вывод изображения на экран display([graf1, graf2, graf3, graf4], scaling = CONSTRAINED, axes = normal); kt_prostr_03 Рис. 1. Положение точки на пространственной траектории (разные ракурсы) с отображением векторов линейной скорости и линейного ускорения Модули скорости и ускорения точки определяются с использованием следующих операторов: V: = norm (v, 2); A: = norm (a, 2). Цифра 2 означает, что норма вычисляется соответственно по формулам и Тангенциальное ускорение точки определяем с помощью скалярного произведения с использованием оператора dotprod: atau: = dotprod(v,a)/V. Нормальное ускорение точки вычисляем с помощью векторного произведения используя оператор crossprod: an: = norm (crossprod (v, a), 2)/V. Таблица 3 Листинг программы «Кинематика точки-3D. Вычисление параметров движения точки» restart; readlib(isolate); with(linalg); # Введите исходные данные задачи – кинематические уравнения движения и заданный момент времени x:=2-t; y:=2*t^3; z:=t^2; t1:=1; # Радиус-вектор r:=vector([x,y,z]); # Вектор линейной скорости v:=map(diff,r,t); # Вектор линейного ускорения a:=map(diff,r,`$`(t,2)); v:=[v[1],v[2],v[3]]; a:=[a[1],a[2],a[3]]; # Модуль линейной скорости V:=norm(v,2); # Модуль линейного ускорения A:=norm(a,2); # Касательное ускорение atau:=dotprod(v,a)/V; evalf(eval(atau, t=t1)); # Нормальное ускорение an:=norm(crossprod(v,a), 2)/V; evalf(eval(%, t=t1)); # Радиус кривизны траектории rho:=evalf(eval(V^2/an, t=t1)); Результаты решения данной задачи, приведенные в табл. 1 и 3, полностью совпадают. Разработанные подобным образом программы можно использовать и для решения других задач, например когда движение точки рассматривается в плоскости Oxy или вдоль оси Ох. Если по условию задачи требуется провести исследование движения точки в плоскости Oxy, необходимо вместо трех уравнений движения х = х(t), у = у(t), z = z(t) использовать только два, исключив из рассмотрения уравнение z = z(t). Для получения уравнения траектории точки в виде y = f(x) командой isolate(eq1,t) из уравнения eq1 выражают параметр (время) t и командой подстановки subs осуществляют замену переменной в уравнении eq2. Упрощение математического выражения (конечный результат) осуществляется командой simplify (табл. 4). Случай движения точки вдоль оси Ох, ввиду его простоты, не рассматривается. Таблица 4 Листинг программы «Кинематика точки-2D» # Вычисление параметров движения точки по заданной траектории > restart; > readlib(isolate):with(plots): with(plottools): with(linalg): # Введите исходные данные задачи – кинематические уравнения движения и заданный момент времени eq1:=x=t: eq2:=y=t^2+1: t1:=1: # Уравнение траектории точки в виде y=f(x) isolate(eq1,t): simplify(subs(isolate(eq1,t),eq2)); С использованием возможности среды Maple полученные результаты могут автоматически визуализироваться также в виде, зависящем от решаемого варианта и уровня сложности. Так, разработанная программа, содержащая процедуру anim, создает двумерную анимированную модель движения точки по траектории с построением соответствующих векторов (по заданным уравнениям движения производится построение траектории точки, в каждый момент времени отображаются векторы скорости и ускорения, выводятся числовые значения времени, модулей скорости и ускорения точки, проекций скорости и ускорения на координатные оси х и у). Например, для материальной точки, уравнения движения которой имеют вид кадры анимации, соответствующие начальному моменту t0 = 0, с, и заданному моменту времени t1 = 1, с, показаны на рис. 2, а и б соответственно, а результаты расчета характеристик движения точки для заданного момента времени приведены в табл. 5, слева. а б Рис. 2. Кадры анимации В приведенных примерах проведено исследование кинематических характеристик движения точки с применением математического пакета Maple. Приведем еще несколько примеров использования предлагаемой методики для исследования движения базовых точек, принадлежащих твердым телам и механизмам. Возьмем за основу механизмы, предназначенные для воспроизведения кривых (например, эллипсографы, кривошипно-ползунные механизмы эллипсографа, кривошипно-ползунные механизмы гиперболографа Сомова и др. из классификации [8]), у которых их отдельные точки описывают траектории в виде кривых (эллипс, циклоида, гипоциклоида, эпициклоида, окружность и др.). Программа «Диск, катящийся по поверхности». Известно, что любая точка М, лежащая на ободе катящегося диска радиусом r (рис. 3), описывает циклоиду (рис. 4). Рис. 3. Диск, катящийся по поверхности Уравнения движения точки М (уравнения траектории в параметрическом виде) имеют вид , (1) где v0 – скорость центра масс диска, м/с; r – радиус диска, м; t – время движения, с; ω – угловая скорость вращения диска, рад/с. Приняв следующие исходные данные: v0: = 2; r: = 10;omega:=4;t1: = 1, и подставив кинематические уравнения (1) движения точки в программу, автоматически получим результаты, приведенные в табл. 5, справа. Таблица 5 Характеристики движения точки Характеристика Обозначение Числовое значение для уравнений , для уравнений Расчетное время, с 1 1 Координаты точки, см 1 2,757 2 1,654 Проекции скорости точки, см/с 1 4,615 2 –3,027 Скорость точки, см/с 2,236 5,519 Угол между скоростью и осью х, град 63,43 33,265 Продолжение табл. 5 Характеристика Обозначение Числовое значение для уравнений , для уравнений Проекции ускорения точки, см/с2 0 –12,109 2 –10,458 Ускорение точки, см/с2 2 15,999 Угол между и осью х, град 90 139,183 Касательное ускорение, см/с2 1,788 –4,388 Нормальное ускорение, см/с2 0,894 15,386 Радиус кривизны, см 5,59 1,979 На рис. 4 показаны кадры двухмерной анимации, где изображена часть траектории произвольной точки М, расположенной на ободе диска, и отмечено положение точки на траектории в текущий момент времени. Одновременно с визуализацией расчета (анимацией) для каждого момента времени отображаются основные кинематические характеристики движения точки М. t = 0.300 x = –0.332 y = 0.638 vx = 0.55 vy = 3.73 v = 3.77 ax = 14.9 ay = 5.79 a = 16.0 t = 1.00 x = 2.76 y = 1.65 vx = 4.62 vy = –3.03 v = 5.52 ax = –12.1 ay = –10.5 a = 16.0 t = .90 x = 2.83 y = 0.749 vx = 1.00 vy = 3.87 v = 4.00 ax = 15.5 ay = 4.02 a = 16.0 Рис. 4. Кадры анимации Программа «Механизм эллипсографа» исследует механизм, состоящий из следующих подвижных звеньев: кривошипа ОС, шатуна АВ, ползунов А и В (рис. 5). Точки, принадлежащие шатуну АВ, при движении механизма описывают эллипсы с центром в точке О и полуосями, длины которых равны соответственно расстояниям выбранной точки от точек А и В. Точка С, лежащая на середине шатуна АВ, описывает окружность радиуса ОС. Типовая задача заключается в определении скорости и ускорения точек А, В и С. Для исследования кинематических характеристик движения точек А, В и С механизма эллипсографа используется расчетная схема, представленная на рис. 6. Рис. 5. Схема механизма эллипсографа Рис. 6. Расчетная схема механизма эллипсографа Кинематические уравнения движения точек при использовании координатного способа задания движения точки имеют следующий вид: (2) где – угол поворота кривошипа ОС; – угловая скорость вращения; – длина кривошипа ОС. Подставим уравнения (2) в программу и для каждой точки проведем расчет кинематических характеристик движения. Уравнения (2) являются основой для построения двухмерной анимированной модели движения механизма эллипсографа, т. к. звенья механизма отображаются как простейшие двухмерные примитивы, задаваемые координатами концов отрезков (линейные звенья), центров масс (круговые звенья и прямоугольники). Несколько кадров анимации показаны на рис. 7. t = 1.100 xA = 1.82 yA = 0 xB = 0 yB = 3.56 xC = 0.908 yC = 1.78 t = 2.100 xA = –2.02 yA = 0 xB = 0 yB = 3.45 xC =-1.01 yC = 1.73 Рис. 7. Кадры анимации Путем задания начальных параметров программы можно получить анимированную модель механизма, которая не только иллюстрирует изменение положения звеньев, но и осуществляет построение векторов скорости (рис. 8) и ускорения точек А, В и С (рис. 9) с отображением их числовых значений. t = 2.100 xA = –2.02 yA = 0 xB = 0 yB = 3.45 xC = –1.01 yC = 1.73 vA = 3.45 vB = 2.02 vC = 2.00 t = 5.200 xA = 1.88 yA = 0 xB = 0 yB = –3.53 xC = 0.938 yC = –1.77 vA = 3.53 vB = 1.88 vC =2.00 Рис. 8. Кадры анимации (скорости точек) t = 0.800 xA = 2.79 yA = 0 xB = 0 yB = 2.87 xC = 1.39 yC = 1.43 aA = 2.79 aB = 2.87 aC = 2.00 t = 2.200 xA = –2.36 yA = 0 xB = 0 yB = 3.23 xC = –1.18 yC = 1.62 aA = 2.36 aB = 3.23 aC = 2.00 Рис. 9. Кадры анимации (ускорения точек) Отдельные положения предложенной методики встречаются в [1, 5–8, 10], однако в настоящее время аналога, реализующего в полном объеме ИОС, способную решать образовательные и научно-практические задачи, генерировать задания заданной сложности с автоматической проверкой получаемых результатов, формировать банк уникальных многовариантных расчетных заданий, ранжируемых по степени сложности, не существует. На базе описанной методики разработаны и применяются двухмерные анимированные модели кривошипно-ползунного и синусного механизмов, планетарных механизмов с внешним и внутренним зацеплением и ряд других. Ведется работа над расширением количества моделей, планируется реализовать расчеты не только кинематических, но и динамических характеристик механических систем. Заключение Использование ИОС при решении образовательных и научно-практических задач в области механики (в данном случае – теоретической механики) повышает интерес обучаемых к дисциплине за счет лучшей наглядности излагаемого материала. Предметная область «Теоретическая механика» является подходящей основой для использования таких средств информационных технологий, как компьютерное моделирование, визуализация и пр., что позволяет существенно обогатить и активизировать учебный и исследовательский процесс. Совместное применение ИОС и специализированных математических пакетов (например, Maple или MathCAD) выводит подобные работы на новый качественный уровень, делая их адекватными современным требованиям и возможностям информационных технологий. Формирование единой базы вычислительных алгоритмов и прикладных универсальных программ в среде математического пакета Maple или системы MathCAD позволяет автоматизировать вычисления, графически отобразить полученные результаты, построить двух- или трехмерные анимированные модели и «почувствовать» движение в «динамике». Варьируя исходные данные, можно решать новые учебные задачи и генерировать разные по сложности варианты заданий для студентов. Применением для изучения кинематики не абстрактных моделей, а реальных механизмов с описанием области их применения, структуры и кинематической схемы, показом полного цикла движения (двух-, трехмерная анимация) можно добиться лучшего понимания излагаемого материала и его роли в будущей профессиональной деятельности.
Список литературы

1. Невенчанная Т. О. Электронный Интернет-учебник по теоретической механике / Т. О. Невенчанная, В. Е. Павловский, Е. В. Пономарёва. Свид-во об офиц. регистр. № 2004612620. Заявка 2004612080; зарегистр. в реестре программ для ЭВМ 3.12.2004.

2. Ponomaryova E. V. The Concept of the Internet Textbook on Theoretical Mechanics / E. V. Ponomaryova, T. O. Nevenchannaya, V. E. Pavlovsky // Innovations in E-learning, Instruction Technology, Assessment and Engineering Education. Springer Netherlands, 2007. P. 373-377.

3. Ponomaryova E. V. Concept, structure and program realization of the Internet textbook on classical mechanics / E. V. Ponomaryova, T. O. Nevenchannaya, V. E. Pavlovsky // Proceedings of twelfth world congress in mechanism and machine science IFTOMM 2007, June 17-21, 2007. Besancon, France. Vol. 2. P. 38-43.

4. Павловский В. Е. Дистанционный информационно-справочно-обучающий (ИСО) программный комплекс для научных исследований и образовательной деятельности / В. Е. Павловский, Т. О. Невенчанная, Е. В. Пономарёва // Препринт Ин-та прикладной математики им. М. В. Келдыша РАН № 99. М., 2008. 32 с.

5. Кирсанов М. Н. Решебник. Теоретическая механика / М. Н. Кирсанов; под ред. А. И. Кириллова. М.: Физматлит, 2008. 384 с.

6. Кирсанов М. Н. Задачи по теоретической механике с решениями в Maple 11. М.: Физматлит, 2010. 264 p.

7. Кирсанов М. Н. Практика программирования в системе Maple / М. Н. Кирсанов. М.: Изд. дом МЭИ, 2011. 208 с.

8. Матросов А. В. Maple 6. Решение задач высшей математики и механики / А. В. Матросов. СПб.: БХВ-Петербург, 2001. 528 с.

9. Артоболевский И. И. Механизмы в современной технике / И. И. Артоболевский. Т. 2. М.: Наука, 1979. 559 с.

10. Пономарёва Е. В. Программа для расчета основных кинематических параметров движения материальной точки / Е. В. Пономарёва, О. А. Хохлова, А. В. Хохлов. Свид-во об офиц. регистр. № 2010614882. Заявка 2010613382; зарегистр. в реестре программ для ЭВМ 27.07.2010.


Войти или Создать
* Забыли пароль?