16+
DOI: 10.18413/2518-1092-2016-1-1-30-38

ВОЗМОЖНОСТИ И ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ СИСТЕМЫ MATHEMATICA ПРИ ПРЕПОДАВАНИИ ДИСЦИПЛИН И ИЗУЧЕНИИ РАЗДЕЛОВ ПО ОСНОВАМ КОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ В МЕХАНИКЕ

Aннотация

Обсуждаются возможности применения технологий Wolfram Research, методические и технические решения, которые существенно дополняют набор инструментов создания, сопровождения и распространения живого динамического контента, рекомендуемого к использованию в учебном процессе при преподавании дисциплин и изучении разделов по основам компьютерного моделирования в механике. Поясняются обеспечивающие интерактивность электронных ресурсов типовые элементы, ключевые конструкции, функции и опции системы компьютерной алгебры Mathematica. Приведены примеры из практики подготовки учебных материалов дисциплин «Компьютерное моделирование» нескольких специализаций.


Введение

Повышение эффективности использования информационных технологий является одним из приоритетных направлений развития современного образовательного процесса [1,2]. В настоящее время аппаратное и программное обеспечение компьютеров и разнообразных дополнительных устройств предоставляют широкий диапазон возможностей для создания электронных специальных «документов» с компонентами интеллекта, динамической интерактивности. Такие материалы («документы») имеют ряд преимуществ перед печатными изданиями. Актуальной (особенно при организации дистанционного обучения [3]), является задача определения программных средств, позволяющих решать вопросы создания и сопровождения интерактивных образовательных ресурсов широкому кругу преподавателей, в том числе тем, кто не имеет опыта программирования.

В данной работе дальнейшее развитие получили изложенные в [4] технические решения, включающие применение технологий компании Wolfram Research. В частности, отмечены дополнительные возможности системы компьютерной алгебры Mathematica [5], формата вычисляемых документов CDF [6], программных приложений-проектов из каталога Wolfram Demonstrations [7] для создания, сопровождения и свободного распространения интерактивных графических приложений, программных модулей, иллюстрирующих решения классических и современных задач механики сплошных сред. Приведены примеры из практики подготовки учебных материалов дисциплин специализации «Компьютерный сервис вычислительного эксперимента» [8], «Компьютерное моделирование» [9]. Специфика преподавания названных предметов состоит в том, что во многих темах этих дисциплин изучаются теоретические основы со сложной математикой, для понимания требуется сопровождающий графический материал, причем с иллюстрациями динамики процессов. Отдельно отметим, что наглядность представления материала, возможность конструирования воображаемых моделей по их математическим описаниям ‑ одно из необходимых требований для корректного понимания сути моделей и их описаний. В отдельных темах названных дисциплин математическая составляющая не только достаточно сложная, но и трудоемкая в выкладках, поэтому важно иметь возможность делать упрощения и преобразования, причём в математической нотации, на персональном компьютере. Общие вопросы подготовки и адаптации к конкретным группам пользователей соответствующих интерактивных свободно распространяемых программных модулей приведены в [10], в частности обоснована целесообразность принятия системы Mathematica в качестве базовой платформы.

Примеры и иллюстрации интерактивных учебных материалов

Следует отметить, что математический аппарат механики сплошных сред содержится в системе Mathematica в объеме, превышающем любой учебник ВУЗа. В системе реализованы все известные аналитические методы решения обыкновенных дифференциальных уравнений и уравнений с частными производными, решения поясняются примерами, которые пользователь может менять, включать в собственные программные приложения; можно использовать математическую нотацию grad, div, curl, Laplacian (градиент, дивергенция, ротор, лапласиан); реализованы все функции векторного анализа, причём в разных системах координат.

Содержательные аспекты компьютерных моделей, изучаемых студентами в дисциплинах специализации, преподаваемых авторами этой работы, изложены, в частности, в [8, 9]. Ряд представительных примеров интерактивных программных приложений из коллекций [7], используемых в учебном процессе, предоставляемых студентам, адаптированных к изучаемым темам, отмечены ниже. Приёмы настройки и адаптации интерактивных программных модулей изложены в [4, 10].

Первая серия ‑ проекты, используемые при изучении темы «Расчеты напряженно-деформированного состояния конструкций и их элементов». В отобранных программных модулях также поясняются иллюстрациями основные конструкции мостов. Фрагменты копий экрана модулей этой серии даны на рисунках 1 и 2.

 

untitled1

Рис. 1. Интерфейс программного приложения и виды моделируемой конструкции для разных значений параметра развёртки

Fig. 1. The types of software applications and the simulated design interface for different values of the parameter sweep

На рисунках 1 и 2 показаны скриншоты одной панели управления, кадры с результатами работы нескольких программных модулей. Изменение значений параметров на панелях обеспечивает изменение вида конструкции, каждое действие управления можно выполнять, что иллюстрирует рисунок 1, задавая значение параметра в поле ввода или перемещением бегунка; также можно запускать просмотр с автоматическим изменением параметра, регулировать скорость и направления прокрутки видео. Во всех модулях визуализации в блокнотах системы формата NB, CDF документах кроме манипуляций с ползунками на панелях для изменения геометрических параметров, цветов, прозрачности пользователь может у выводимых объектов 3D графики менять масштаб объекта, поворачивать его в разных направлениях.

untitled2

Рис. 2. Пять моделей разных конструкций мостов

Fig. 2. Five different models of bridges

Т.к. в коллекциях [7] доступны исходные коды, студентам предоставляются включаемые в учебные материалы программные модули не в оригинальной версии, а доработанные. В частности: для опорных элементов конструкций предлагаются альтернативные геометрические примитивы; даются текстовые пояснения с использованием русскоязычной терминологии; оформление графики сделано, как в базовых учебниках и пособиях; комментарии в модулях переведены на русский язык, их объем значительно увеличен.

Заметим, что в ответ на запрос в поле поиска сайта [7] по ключевому слову bridge дается список 36 разных проектов. В том числе, упоминаются презентации с изложением и описаниями:

  • конкретных конструкций мостов и их моделей; в частности, проекты: Консольный мост /Cantilever Bridge/, Подвесные мосты с крепящими опорами разной формы /Bridges with Catenary Shaped Supports/, Разворачивающийся мост /Rolling Bridge/, Голландский разводной мост /Dutch Drawbridge/, Подъемный мост /Bascule (Seesaw) Bridge/, Гейтсхедский мост тысячелетия /Gateshead Millennium Bridge/;
  • общих вопросов методик расчёта; в частности, проекты: Модель прогона моста /Girder Bridge Model/, Анализ усилий в фермах /Analysis of Forces on a Truss/, Разновидности мостов /Bridge Varieties/, Нагрузки в фермах мостов /Stress Propagation in a Truss Bridge/, Анализ напряженно-деформированного состояния методом конечных элементов в фермах и узлах соединения /Stress-Strain Analysis by the Finite Element Method/.

На рисунке 2 приведены фрагменты окон программных приложений, иллюстрирующих несколько из упомянутых выше моделей мостов.

На рисунке 3 приведены фрагменты окон адаптированных программных приложений Girder Bridge Model и Stress-Strain Analysis by the Finite Element Method, которые иллюстрируют модели и варианты визуализации результатов расчетов напряженно-деформированного состояния конструкций и их элементов.

untitled3

Рис. 3. Примеры модулей с визуализацией нагрузки

Fig. 3. Examples of load-visualization modules

Вторая серия ‑ проекты, используемые при изучении темы «Простейшие модели гидродинамики». Следует заметить, что только в коллекции [7] таких моделей более 100. Студентам на практических занятиях предлагается освоить и запрограммировать с определенными дополнениями перечисленные ниже модели.

Основные модели этой серии, используемые при выполнении контролируемой самостоятельной работы студентов: Поток через открытый канал /Flow through an Open Channel/, Истечение жидкости из емкости через отверстие /Flow of Liquid through a Hole/, Безвихревое течение идеальной жидкости вблизи угла /Fluid Flow around a Corner/, Течение Куэтта /в вариантах Couette Flow и Double-Sided Couette Flow/, Ламинарный поток между двумя эксцентричными трубами /Laminar Flow between Two Eccentric Tubes/, Линии тока ламинарного потока вблизи вращающегося твердого цилиндра /Streamlines for Laminar Flow Past a Rotating Solid Cylinder/, Профиль скоростей потока несмешивающихся вязких жидкостей /Velocity Profile for Immiscible Viscous Fluids/, Обтекание крыла для разных условий набегающего потока /Potential Flow over an Airfoil Specified by Numerical Data File/, Запуск ракеты /Launching a Rocket/, Сопло Лаваля /De Laval Nozzle/.

Иллюстрации типичных программных приложений этой серии даны на рисунках 4, 5. Приведены результаты работы с адаптированными программными модулями «Ламинарный поток между двумя эксцентричными трубами» (показаны изолинии модуля безразмерной скорости), на рисунке 5 ‑ профиль скоростей потока несмешивающихся вязких жидкостей (слева) и линии тока ламинарного потока вблизи вращающегося твердого цилиндра (справа):

untitled5

Рис. 4. Примеры модулей с визуализацией, эффект изменения значения эксцентриситета

Fig. 4. Examples of modules with visualization, the effect of changing the value of eccentricity

untitled5

Рис. 5. Примеры модулей с визуализацией скорости потока и линий тока

Fig. 5. Examples of modules with visualization of velocity and streamlines

Базовые программные инструменты

О средствах настройки динамической интерактивности

Наиболее часто в блокнотах Mathematica динамическая интерактивность, диалоговые окна, управление параметрами входных данных для вычислений, построение и просмотр графиков реализуются с использованием функций Manipulate, Animate, Dynamic. В частности, модуль Manipulate позволяет создавать различные интерактивные средства по заданному выражению expr с аргументами (параметрами), причем, выражение expr трактуется в самом общем виде и может быть списком, включающим названия, математические выражения, графические функции и т.д. Особое внимание при пояснениях в представляемых студентам приложениях уделено вопросам программирования динамического вывода, использования инструментов интерактивности ‑ примерами иллюстрируются функции и опции динамических вычислений, включения и выключения индикаторов, организации флажков, кнопок, иерархических и выпадающих меню, локаторов. Поясняются: PopupMenu (выпадающее меню), ActionMenu (меню с действиями), ButtonBar (полоса кнопок), Delimiter (разделительная линия), CheckboxBar (полоса чекбоксов), RadioButtonBar (ряд радиокнопок), SetterBar (ряд установочных элементов), TogglerBar (ряд переключателей), ControlType (тип элемента управления), Locator (указатель, устройство ввода позиции), Slider (ползунок), Slider2D (2-мерный ползунок), ColorSlider (цветовой ползунок), ListPicker (элемент выбора со списка), AutorunSequencing (порядок автоматического использования элементов управления).

Опции динамической интерактивности в CDF документах

При подготовке блокнотов в Mathematica, если предполагается их сохранение, просмотр в CDF Player, следует выполнять инициализацию (Initialization:->) или сохранить параметры для анимации (SaveDefinitions). Это обязательно, т.к. CDF Player не может загружать пользовательские данные во время работы. Допустима работа только с теми списками, комплектами, наборами, которые включены в базу знаний, т.е. вся используемая функцией Manipulate информация должна была встроена в интерактивные элементы .cdf файла.

Оформление

В части оформления, настройки вида объектов сцены в упражнения включены пояснения правил задания толщины и типа линий (Thickness, Thick, Thin, AbsoluteThickness. Dashed, Dotted, DotDashed), цветов и прозрачности (Colors, Opacity). Включены подробные примеры использования функций и опций управления кадром вывода: PlotRegion (опция функций графики для определения выводимой на экран части изображения), PlotRange (отображаемый интервал координат графика), PlotRangeClipping (условия отсечения выходящего за диапазон), AspectRatio (отношение масштабов по осям), BoxRatios (соотношение показываемых длин сторон ограничивающего параллелепипеда 3D изображения), Translate (перемещение), Rotate (повороты), GeometricTransformation (геометрические преобразования), ViewPoint (точка обзора), ViewAngle (угол обзора).

Об основных сервисных функциях компьютерных моделей

Для визуализации моделей, когда есть аналитическое описание, могут использоваться следующие функции системы Mathematica:

  • Plot ‑ график аналитически заданной функции (или нескольких функций), обе шкалы линейные;
  • ParametricPlot ‑ график кривой (а также поверхности), заданной параметрически;
  • PolarPlot ‑ график функции в полярной системе координат, как положение конца радиус-вектора при изменении угла в заданном диапазоне (полярная диаграмма);
  • Graphics – генерирует примитивы 2D графики (отрезки, полигоны, разные треугольники, прямоугольники, параллелограммы, ромбы, окружности, дуги, сегменты, B-сплайны, Безье-кривые);
  • ContourPlot – контурный график; график, который показывает линии равного уровня (изолинии); контурные графики (или графики в горизонталях) используются для изображения изолиний набора скалярных данных, распределенных по поверхности;
  • DensityPlot – плотностный график (карта зон);
  • RegionPlot – визуализация геометрической фигуры на плоскости;
  • ParametricPlot – график параметрически заданной области на плоскости;
  • Plot3D – 3D визуализация функции двух переменных, заданной явно аналитически в декартовых координатах; с графиком можно работать интерактивно, обеспечиваются: изменение масштаба, повороты и перемещения;
  • ContourPlot3D – контурный график явно заданной в декартовых координатах функции в пространстве; трехмерный контурный график включает также расположенные в пространстве линии равного уровня, показывающие границы слоев трехмерной фигуры в секущих плоскостях, расположенных параллельно опорной плоскости фигуры;
  • RegionPlot3D – визуализация геометрической фигуры в пространстве;
  • DensityPlot3D – пространственный график, иллюстрирующий распределение в пространстве заданной функции от двух переменных на основе непрерывной или специально задаваемой цветовой схемы;
  • ParametricPlot3D – график параметрически заданной кривой или поверхности в пространстве;
  • SphericalPlot3D – график в сферических координатах.

В случаях, когда математическое описание моделей создается на основе аппроксимации по результатам наблюдений и замеров на регулярных или нерегулярных сеток (на рассеянном множестве точек), могут использоваться следующие функции:

  • ListPlot – диаграмма разброса данных; выводит график списка величин, координаты которых задаются значениями списка/списков;
  • ListLinePlot – линейный график по точкам списка данных (перечень значений или список пар координата - значение);
  • ListStepPlot – ступенчатый график по списку значений;
  • ListPolarPlot – диаграмма разброса данных в полярных координатах;
  • DateListPlot – график от календарного времени;
  • TimeSeries – временной ряд;
  • ListContourPlot – контурный график по массиву значений;
  • ListDensityPlot – плотностный график по массиву значений;
  • ListPlot3D – трехмерная диаграмма разброса данных, представление в пространстве поверхности по массиву значений высот в точках;
  • ListContourPlot3D – контурный 3D-график по массиву значений;
  • ListSurfacePlot3D – 3D-график поверхности, восстановленной по списку точек;
  • ListPointPlot3D – 3D-диаграмма разброса данных, в пространстве генерируются изображения точек с тремя заданными координатами;
  • ListDensityPlot3D – пространственный плотностный график по данным.

Инструменты и функции работы с векторными полями:

  • StreamPlot – линии тока на плоскости (диаграмма потоков);
  • StreamDensityPlot – линии тока на плоскости с фоном плотности функции (плотностная диаграмма потоков);
  • VectorPlot – векторные поля на плоскости (векторная диаграмма);
  • VectorDensityPlot – векторно-плотностная диаграмма;
  • ListVectorPlot – векторная диаграмма, формируемая по данным;
  • ListVectorDensityPlot – плотностно-векторная диаграмма по данным;
  • ListStreamPlot – диаграмма интенсивности потоков, формируемая по таблицам данных, т.е. выполняется аппроксимация, а затем построение линий тока на плоскости;
  • ListStreamDensityPlot – плотностная диаграмма интенсивности потоков по данным;
  • ArrayPlot – изображение массива; генерирует изображение, в котором значениям массива соответствуют раскрашенные квадраты;
  • VectorPlot3D – векторная диаграмма (векторные поля) в пространстве;
  • ListVectorPlot3D – векторная 3D-диаграмма по данным.

Заключение

Приведены представительные примеры использования при преподавании дисциплин по основам компьютерного моделирования в механике живого динамического контента, создаваемого и сопровождаемого на основе предложенной методики интеграции средств системы Mathematica, формата вычисляемых документов CDF, модулей коллекции свободно распространяемых интерактивных приложений. Определены и отмечены рекомендуемые для реализации методики базовые программные инструменты.

Список литературы

  1. Абламейко С.В., Казаченок В.В., Мандрик П.А. Современные информационные технологии в образовании // Информатизация образования – 2014: педагогические аспекты создания и функционирования виртуальной образовательной среды = Informatization of education – 2014: Pedagogical aspects of the development of virtual educational environment: материалы междунар. науч. конф., г. Минск, 22–25 окт. 2014 г. / Минск, 2014. – С. 7-13.
  2. Ломакин В.В., Асадуллаев Р.Г. Организация интеллектуального управления индивидуальными образовательными траекториями // Научные ведомости БелГУ. Сер. История. Политология. Экономика. Информатика. № 22 (165) выпуск 28/1. С. 167 – 173.
  3. Дмитренко Т.А., Деркач Т.Н., Дмитренко А.А. Технология разработки системы дистанционного обучения // Научные ведомости БелГУ. Сер. История. Политология. Экономика. Информатика. № 8 (179) выпуск 30/1, раздел системный анализ и управление, Белгород, 2014 г. С. 128 – 137.
  4. Таранчук В.Б. Возможности и средства Wolfram Mathematica для разработки интеллектуальных обучающих систем Научные ведомости БелГУ. Сер. История. Политология. Экономика. Информатика. № 1 (198) выпуск 33/1. С. 102 – 110.
  5. Wolfram Mathematica. Наиболее полная система для современных технических вычислений в мире [Электронный ресурс]. URL: http://www.wolfram.com/mathematica. (Дата обращения: 8.02.2016)
  6. CDF. Документы оживают благодаря возможностям вычислений [Электронный ресурс] URL: http://www.wolfram.com/cdf. (Дата обращения: 8.02.2016)
  7. Wolfram Demonstrations Project [Электронный ресурс]. URL: http://demonstrations.wolfram.com. (Дата обращения: 8.02.2016)
  8. Таранчук В.Б. Графический сервис вычислительного эксперимента: учеб.-метод. пособие.– Минск: БГУ, 2009. – 124 с.
  9. Босяков С.М., Журавков М.А. Решение задач механики в пакете Structural Mechanics компьютерной системы Mathematica: пособие для студентов мех.-мат.фак. – Минск: БГУ, 2011. – 295 с.
  10. Таранчук В.Б. Особенности функционального программирования интерактивных графических приложений // Вестник Самарского государственного университета. Естественнонаучная серия, раздел Математика № 6 (128), 2015 г. С. 178 – 189.