Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны

Jiyoun Munn 04/05/2015
Share this on Facebook Share this on Twitter Share this on Google+ Share this on LinkedIn

Что если бы вы могли предоставить неспециалистам возможность самостоятельно выполнять мультифизические исследования на ваших моделях? Это позволило бы вам сэкономить время, а им — с легкостью воспользоваться вашим опытом. Современные технологии позволяют преобразовывать модели в приложения с настраиваемыми и удобными интерфейсами. В этом материале я расскажу, зачем стоит создавать приложения и с чего лучше начать. В качестве примера мы рассмотрим новое демонстрационное приложение — Corrugated Circular Horn Antenna Simulator (Модель гофрированной конической рупорной антенны).

Вам больше не придется несколько раз менять один и тот же параметр по просьбе коллеги

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

Но я подозреваю, что ваша работа по моделированию не всегда сводится только к решению, визуализации и переключению на новый проект. Если вы создали модель для кого-нибудь другого — например, для инженера, проектирующего антенны, или для другого специалиста на производстве — вероятнее всего, он к вам еще вернется. Обычно он не будет просить внести какие-нибудь существенные изменения. Часто это простые, но повторяющиеся запросы на изменение одних и тех же параметров. Например: «Пожалуйста, повторите моделирование для волноводов с меньшим радиусом». Или «что если увеличить угол раствора на несколько градусов?»

Сколько раз вы готовы выполнять почти одну и ту же задачу — вносить в модель мелкие изменения по просьбе коллеги-инженера? Хотели бы вы предоставить ему возможность выполнять такие действия самостоятельно? Пора воспользоваться плодами революции в средствах моделирования.

С развитием технологий важность изучения мультифизических элементов неуклонно растет. Повышается и сложность инструментов для комплексного анализа. Среда разработки приложений, входящая в состав программного пакета COMSOL Multiphysics®, открывает возможности моделирования для людей без специальной подготовки. Среда разработки приложений позволит вам преобразовать ваши модели в приложения, которыми сможет воспользоваться даже неспециалист, а вам не потребуется повторять исследования на различных этапах разработки устройства.

 

Я покажу вам, как создавать приложения для моделирования, но вначале мы рассмотрим компоненты, из которых в решениях COMSOL® создаются такие приложения.

Что такое приложение для моделирования?

Приложение — это удобная форма представления модели. Создавая приложение, вы можете предоставить пользователю доступ только к тем параметрам, которые важны для разработки или производства системы или процесса, а также добавить соответствующие поля ввода и вывода для изменения этих параметров.

Пользовательский интерфейс конечного приложения содержит компоненты, которые мы называем объектами формы. Вы можете изменять пользовательский интерфейс путем добавления и модификации этих объектов форм с помощью Редактора форм, совершенствуя при этом их функциональность посредством Редактора методов. Редактор методов — это среда программирования с поддержкой API Java®. С его помощью вы можете расширить возможности модели и повысить уровень интеграции рабочего процесса. Можно сказать, что объекты формы, добавленные с помощью Редактора форм — это главные ингредиенты вашего блюда, а Редактор методов — это набор специй, позволяющих придать ему нужный вкус.

Создав подходящий и удобный интерфейс, вы можете передать ваше приложение другим сотрудникам, участвующим в разработке и в производстве. Так пользователи любого уровня подготовки смогут проводить исследования, изменять параметры моделей и оптимизировать характеристики для достижения конкретных целей и показателей, а вы — перейти к разработке новой модели.

Среда разработки приложений позволяет превратить в приложение любую модель, что открывает неограниченные возможности. В новом выпуске COMSOL Multiphysics 5.1 мы представили 20 демонстрационных приложений, которые помогут вам создавать собственные приложения и передавать их пользователям. На примере одного из этих приложений, Corrugated Circular Horn Antenna Simulator (Модель гофрированной конической рупорной антенны), удобно изучать процесс создания приложения.

Совет. В этом видео, знакомящем зрителя со Средой разработки приложений, вы сможете увидеть в работе и другие демонстрационные приложения.

От модели к приложению: модель гофрированной конической рупорной антенны

Демонстрационное приложение Corrugated Circular Horn Antenna Simulator (Модель гофрированной конической рупорной антенны) основано на учебном примере из Галереи приложений — о нем мы уже писали в блоге. В этом примере моделирование применяется для расчета электромагнитных полей (с учетом симметрии структуры для ускорения решения), визуализации осесимметричной 3D-геометрии в виде 3D-геометрии, а также для оценки и отображения результатов в 3D-области.

Для неспециалиста этот простой пример может выглядеть весьма сложным. Передавать такую модель нашему инженеру, проектирующему антенны, пожалуй, не стоит: он может нарушить геометрию модели, а некорректный выбор геометрических параметров часто влечет за собой ошибки в настройках моделирования — например, в граничных условиях и сетке. Только вы можете знать, при каких значениях параметров модель будет работать корректно и выдавать верные результаты.

Чтобы избежать описанных проблем, вы можете создать приложение для моделирования со следующими особенностями и возможностями:

  • Интуитивно понятный пользовательский интерфейс
  • Удобные возможности визуализации результатов
  • Возможность быстрой проверки результатов моделирования на соответствие указанному пользователем условию
  • Документация приложения
  • Отчет о результатах моделирования, который можно открыть одним щелчком мыши

Мы покажем вам, что это за компоненты и как добавить их в приложение, на примере нашего демонстрационного приложения Corrugated Horn Antenna.

Настройка пользовательского интерфейса

Как мы уже говорили, объекты форм позволяют изменять пользовательский интерфейс приложения и расширить его функциональность. На следующем снимке экрана показаны объекты, которые вы можете добавить в пользовательский интерфейс приложения:

Form objects for UI customization Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Объекты форм позволяют создавать приложения с удобными в работе интерфейсами.

Возможно, вам интересно, как объекты форм были добавлены в демонстрационное приложение и как они работают. Взглянем на пользовательский интерфейс демонстрационного приложения Corrugated Circular Horn Antenna Simulator.
UI of Corrugated Circular Horn Antenna demo app Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
В приложении показано излучение в дальней зоне гофрированной конической рупорной антенны. Для оптимизации рабочих показателей антенны можно изменять ее геометрические параметры и рабочие частоты.

Интерфейс приложения состоит из нескольких частей. Здесь есть области для управления параметрами изделия, для анализа результатов и для отображения сведений о приложении. Также приложение содержит панель управления с десятью кнопками и Графическое окно. На панели управления в верхней части интерфейса находится множество кнопок, реализованных в виде дочерних форм. Объект «кнопка» позволяет запустить действие одним щелчком мыши. Изначально он выглядит так:

Button 1 Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны

Чтобы создать такую панель управления, как показано на снимке окна, необходимо выполнить следующие действия:

  • Создать кнопку на форме
  • Ввести имя кнопки, выбрать размер (large — большой) и картинку, которая будет на ней отображаться
  • Добавить фоновое изображение формы
  • Добавить соответствующий метод, выполняющий операцию

Command section buttons in COMSOL Multiphysicss Application Builder Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Панель управления была создана с помощью формы и объектов кнопок.

Область параметров устройства содержит следующие объекты: Image (Изображение), Text Label (Текстовая метка), Input Field (Поле ввода), Unit (Единица измерения), Data Display (Информационная панель) и Spacer (Разделитель). В этой области пользователь приложения может задать параметры геометрии и изменить доступные параметры моделирования. Во всех объектах типа Input Field (Поле ввода) реализована функция Events (События): если после обновления представления геометрии или моделирования входные параметры были изменены, то эта функция обновляет текущее состояние приложения.

Design Parameter Form Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Форма параметров устройства реализована в виде панели ввода данных.

В разделах анализа результатов и сведений о приложении следует обратить внимание на объект формы Information Card Stack (Стопка информационных карточек), который был добавлен с помощью дочерней формы. Объект Information Card Stack отображает текстовые сообщения со значками, зависящие от состояния выбранной исходной переменной. «Карточка» из «стопки» выбирается в зависимости от состояния исследования. Для состояния по умолчанию предлагаются три варианта:

  1. Решение отсутствует
  2. Входные данные были изменены по сравнению с предыдущим запуском модели
  3. Время последнего вычисления

Information Card Stack Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Состояние объекта Information Card Stack по умолчанию.

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

  • Доступность решения, любые изменения во входных параметрах, изменяемых пользователем, и время последнего вычисления
  • Состояние отображения геометрии
  • Соответствие/несоответствие результата моделирования и заданного пользователем целевого критерия

Графическое окно состоит из объектов форм, которые называются Graphics (Графика). Объект Графика служит для представления геометрии антенны в графическом виде, для отображения информации о различных результатах в двумерной и трехмерной форме, а также для вывода данных об устройстве антенны. Каждый объект Graphics добавлен с помощью объекта формы Card Stack, что позволяет отображать несколько различных представлений одной и той же области на нескольких вкладках. Текущий объект Graphics устанавливается в соответствии со значением выбранной исходной переменной для стопки карточек.

Некоторые объекты форм отображаются не при первом запуске приложения, а позже, при выполнении определенных операций. Если нажать кнопку Compute (Рассчитать), откроется диалоговое окно с индикатором хода решения. Если щелкнуть кнопку Simulation Report (Отчет о моделировании), откроется диалогове окно с переключателем, позволяющим выбрать формат отчета.

Progress Message Form Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Choosing a report format Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны

Добавленный на форму индикатор хода выполнения и переключатель.

Существуют и другие полезные объекты форм, которые в этом приложении не используются — например, Check Box (Флажок) и Slider (Полоса прокрутки). Объект Check Box подходит для включения и отключения определенного параметра отображения; например, с его помощью можно убрать график поля для раствора антенны. Объект Slider подходит для изменения цветового диапазона визуализации или для варьирования какого-либо параметра без необходимости вводить числа вручную.

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

Application Builder slider Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Application Builder check box Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны

Объекты форм Slider (Ползунок) и Check Box (Флажок) позволяют расширить функциональность пользовательского интерфейса.

Создание приложения для моделирования гофрированной конической рупорной антенны

Мы рассмотрели инновационные компоненты, которые называются объектами форм — ресурсы для модификации вашего пользовательского интерфейса. Но Среда разработки приложений содержит и другие средства модификации интерфейса: Редактор форм и Редактор методов. Как мы уже говорили, эти редакторы позволят вам разрабатывать специализированные инструменты моделирования, которыми вы сможете поделиться с сотрудниками вашей компании, занятыми в разработке и производстве.

Рассмотрим процесс создания демонстрационного приложения Corrugated Circular Horn Antenna Simulator (Моделирование гофрированной конической рупорной антенны), которое основано на этой готовой учебной модели. Модель можно рассматривать как зерно, из которого с помощью Редактора форм и Редактора методов вы выращиваете динамическое приложение. Исходная геометрия модели была полностью параметризована (т. е. параметры, основанные на координатах, представляют собой геометрические размеры, а не целые числа), чтобы изменения во входных переменных приложения, описывающие геометрию модели, позволяли получить рабочую геометрию даже после внесения изменений. Чтобы приложение стало более информативным, мы добавили графики результатов из исходной модели и изменили их настройки.

Чтобы начать преобразование модели в приложение, щелкните кнопку Application Builder (Среда разработки приложений) на вкладке Home (Главная) на ленте.

Accessing the Application Builder in the ribbon Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Нажмите кнопку Application Builder на вкладке Home, чтобы открыть Среду разработки приложений.

Изначально экран Среды разработки приложений выглядит так:
Application Builder upon opening Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Так выглядит окно Среды разработки приложений при начале работы над приложением.

Кнопка New Form (Создать форму) на ленте — очень удобный способ создать базовую структуру приложения и разработать приложение всего несколькими щелчками мыши.

Creating a new form with the Application Builder Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Кнопка New Form (Создать форму) упрощает процесс разработки приложения.

При нажатии на кнопку New Form откроется мастер, который поможет вам пройти этапы создания приложения.
Вы сможете добавить:

  • Поля ввода данных пользователем с текстовыми метками, сформированными на основе описания параметров
  • Графическое окно для просмотра геометрии и анализа результатов
  • Кнопки для выполнения действий, например, для запуска моделирования, построения графиков результатов и выполнения команд, модифицированных с помощью Редактора методов

Building an app with the new Form wizard Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Мастер New Form (Создать форму) позволяет с легкостью разработать приложение.

Готовая главная форма с несколькими добавленными объектами формы будет выглядеть так:
Finalized main form of an app Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Готовая главная форма приложения содержит формы, стопки карточек, текстовые метки, поля ввода, единицы измерения, изображения и другие элементы.

Готово ли наше приложение? Пока нет. Теперь нам нужно обсудить методы, которые в нем используются. Приложение содержит несколько методов; здесь мы рассмотрим только один. Объект формы Button — это элемент, с помощью которого можно добавлять команды. Вы можете добавить как готовую команду, предложенную Средой разработки приложений, так и переработанную самостоятельно с помощью Редактора методов.

Здесь кнопка Compute (Рассчитать) содержит измененный метод для запуска моделирования.

Compute Button Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Объект формы Button (кнопка) со встроенным методом и значком.

Обратите внимание на маленький значок в правом нижнем углу на картинке выше. Он показывает, что объект формы содержит встроенный метод. Метод этой кнопки запускается при щелчке по кнопке. Его можно добавить в разделе Choose Commands to Run (Выберите команды для выполнения) окна настроек.

The choose commands to run window Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
С помощью раздела Choose Commands to Run (Выберите команды для выполнения) вы можете добавить готовые или разработанные вами методы.

Этот метод был создан до встраивания в кнопку. Чтобы создать метод, нажмите кнопку New Method (Создать метод) на ленте.

Creating a New Method in Application Builder Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
An empty method in Application Builder Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
При нажатии на кнопку New Method (Создать метод) будет добавлен пустой метод.

Если вы знакомы с API Java®, то работа с этим инструментом не составит для вас сложности. Если вы не очень знакомы с этой программой — ничего страшного. На ленте находится кнопка запуска полезного инструмента — Record Code (Записать код). Он регистрирует действия, которые вы выполняете в Построителе моделей, и преобразует их в программный код, который размещается в Редакторе методов.

Существует множество демонстрационных приложений, показывающих способы создания и применения методов. Еще один ценный учебный ресурс, содержащий информацию об этих редакторах, о проектировании и разработке приложений, — руководство Introduction to Application Builder (Введение в среду разработки приложений; PDF, англ.).

Метод fRunAll, встроенный в кнопку Compute, выполняет следующие действия:

  • Открыть окно с индикатором выполнения
  • Обновить представление геометрии
  • Запустить моделирование
  • Обновить все графики результатов
  • Обновить текстовые метки
  • Рассчитать коэффициент перекрестной поляризации
  • Обновить состояние всех объектов Information Card Stack (Стопка информационных карточек)
  • Закрыть окно с индикатором выполнения

Наконец, мы добавим в приложение еще несколько сочетаний форм и методов. В итоге получится инструмент моделирования антенн, который сам подскажет пользователям допустимые диапазоны значений входных параметров. Приложение выводит информацию о частоте среза и длине волны, а также позволяет пользователю сбросить входные параметры до значений по умолчанию, визуализировать двумерную осесимметричную геометрию в виде трехмерной модели и построить двумерную диаграмму коэффициента направленности антенны и трехмерную диаграмму излучения в дальней зоне. Кроме того, в окне приложения отображается поляризация электрического поля, что позволяет анализировать коэффициент перекрестной поляризации на входном волноводном облучателе и выходном растворе антенны. Также приложение выводит информацию об устройстве антенны, что поможет пользователю понять смысл того или иного входного параметра. Закончив работу, приложение формирует отчет о моделировании. Чтобы получить дополнительную информацию, пользователь может обратиться к документации, встроенной в приложение. Вы можете даже добавить метод, отправляющий отчет коллегам по электронной почте непосредственно из приложения.

Автор приложения или человек, не являющийся специалистом в области моделирования антенн, может с легкостью изменить геометрические параметры модели так, чтобы результаты соответствовали спецификации. Углубляться в настройки модели и физические уравнения, на которых она основана, при этом не потребуется.

Application Builder input error message 1 Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Application Builder input error message 2 Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны

Приложение устроено так, чтобы пользователь не мог ввести значения параметров вне допустимого диапазона.

Возможности действий, запускаемых через пользовательский интерфейс приложения одним щелчком.

One click actions in the UI Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Настраиваемый отчет поможет вам составить общее представление о результатах моделирования.

Corrugated Curcular Horn Antenna Report Как создать приложение для моделирования: демонстрационное приложение для моделирования рупорной антенны
Удобный доступ к документации приложения.

Последовательность действий при разработке приложения для моделирования

В завершение рассмотрим последовательность действий при создании приложения.

Процесс разработки приложения можно разбить на следующие базовые этапы:

  1. Создание модели
  2. Добавление форм
  3. Добавление объектов форм
  4. Добавление методов (при необходимости)

Приложение Corrugated Circular Horn Antenna Simulator (Моделирование гофрированной конической рупорной антенны) может показаться сложным, когда вы открываете его в первый раз, но по сути это лишь набор форм и методов. Разрабатывая более понятные интерфейсы, вы можете создавать приложения с более широкими и мощными возможностями моделирования. Если вы разработали интересную модель, то можете превратить ее в приложение уже сегодня.

Что дальше?

Oracle и Java являются зарегистрированными торговыми марками корпорации Oracle и/или аффилированных с ней компаний.


Загрузка комментариев...

Темы публикаций


Теги