N3, 2000

Использование среды разработчика конечных элементов при создании моделей в рамках программы FEM models.

Алексеев П.С. Шашкин К.Г.

Главная
страница
сайта
Титульная
страница
журнала
Содержание
номера

Основным отличием программы FEM models от аналогичных расчетных программ, использующих метод конечных элементов, является то, что она изначально проектировалась как система, приспособленная к введению в нее новых конечно-элементных моделей. Разработанная исследователем модель компилируется в отдельный файл - так называемую DLL библиотеку (Dinamic Load Library) и затем подключается к программе FEM models. Далее созданная модель наравне с другими может быть использована при построении расчетных схем. Взаимодействие программы и библиотек, содержащих конечно-элементные модели, в программе FEM models организовано на основе технологии COM (Component Object Model). Эта технология в настоящее время фактически является стандартом для разработки программ в операционной среде Windows. Применение этой технологии позволило, во-первых, использовать преимущества объектно-ориентированного программирования при создании конечно-элементных моделей и, во-вторых, избежать жесткой привязки к какому-либо определенному языку программирования, предоставляя пользователю возможность создавать модели на различных современных языках (C++, Delphi, Visual Basic).Хотя принципы технологии COM, используемые в программе FEM models, достаточно просты, их освоение, тем не менее, создает определенную преграду для исследователя, не слишком хорошо знакомого с современной техникой программирования. Поэтому в рамках программы была создана специальная среда разработчика конечно-элементных моделей, работа в которой не требует от исследователя глубоких знаний в области программирования а также детального знакомства с принципами реализации COM-объектов. Это позволяет разработчику сконцентрировать свое внимание на чисто физических и математических проблемах построения модели. Для организации взаимодействия программы FEM models и конечно-элементных моделей, созданных различными разработчиками, понадобилось создание некоторой системы стандартов описания моделей. С этой целью была создана так называемая структура универсального конечного элемента [1], которая представляет своего рода шаблон, заполняя который пользователь создает конкретную конечно-элементную модель. При создании такой структуры разработчики руководствовались двумя основными требованиями: максимальной простотой создания моделей и максимальной "гибкостью", то есть возможностью описывать в данной системе стандартов практически любой конечный элемент. Следует признать, что эти требования во многом являются взаимоисключающими. Для разрешения этого противоречия был выбран следующий принцип:

  • среда разработчика конечно-элементных моделей должна позволять достаточно легко и просто создавать программную реализацию большинства моделей в "полуавтоматическом" режиме;
  • структура универсального конечного элемента должна допускает создание любых нестандартных конечных элементов (для этого потребуются несколько большие знания в области программирования).

При работе в среде разработчика исследователю предоставляется возможность, пользуясь простым и наглядным интерфейсом (рис. 1), назначить параметры модели, количество узлов создаваемого конечного элемента, количество степеней свободы в каждом узле, способ изображения элемента на расчетной схеме и т.д.

Рис. 1. Рабочее окно среды разработчика конечно-элементных моделей.

Далее разработчик может задать матрицу элемента и результаты в различных точках элемента (например, перемещения, напряжения и т.д.), вычисляемые по полученному в процессе решения системы вектору. При этом возможна запись формул на языке матричной алгебры, а также использование матриц, полученных в системах символьной математики, например, в Maple V. Как было описано в [1] структура универсального конечного элемента состоит из ряда функций, которые необходимо определить для создания модели. При работе в среде разработчика после заполнения основной информации об элементе большинство функций генерируется в автоматическом режиме. В то же время разработчик может отказаться от автоматической генерации текста программы и написать свою оригинальную функцию, описывающую нестандартные свойства модели. Например, в среде разработчика предполагается, что конечный элемент имеет определенное фиксированное число узлов. Однако пользователь, отказавшись от автоматической генерации нескольких функций, может создать элемент, число узлов которого может меняться в процессе расчета. Применение среды разработчика конечно-элементных моделей отнюдь не исключает использования возможностей современных языков программирования. На самом деле среда разработчика представляет собой средство, облегчающее написание текста программы на языке программирования, а также придающее ему наглядность и математическую ясность. В настоящее время среда разработчика ориентирована на язык Object Pascal, однако в дальнейшем планируется создание версий, работающих и с другими языкам программирования. По мнению разработчиков программы FEM models одним из недостатков практически всех известных расчетных программ является отсутствие открытости исходных текстов моделей, что заставляет расчетчиков работать со сложными конечно-элементными моделями как со своего рода "черным ящиком". Это приводит к тому, что даже опытные расчетчики могут совершить грубые ошибки, не зная деталей реализации модели. Нам представляется, что наличие открытых исходных текстов, выставленных "на всеобщее рассмотрение" в сети Интернет позволит найти ошибки и неточности в разработанных моделях и, тем самым, снизить риск получения ошибочных результатов. Поэтому одним из основных принципов разработки моделей в рамках программы FEM models является полная открытость исходных текстов конечно-элементных моделей. Последнее отнюдь не означает утраты разработчиками моделей авторских прав на их программные реализации. Действительно, исходные тексты модели содержат только математическое описание модели, практически аналогичное тому, которое представляется в научных публикациях. Для того чтобы воспользоваться моделью без согласия автора необходимо будет создать программы построения конечно-элементных схем, программы решения систем линейных уравнений и т.д., то есть создать еще одну программу, аналогичную FEM models, что практически не выполнимо. При наличии открытых исходных текстов среда разработчика конечно-элементных моделей может применяться не только для создания новых моделей, но и для анализа уже разработанных, поскольку дает возможность увидеть текст программы в более наглядном виде. Таким образом, применение среды разработчика конечно-элементных моделей позволяет не только свести к минимуму время разработки программной реализации модели, но и облегчить анализ принципов ее работы. При использовании среды разработчика исследователь может одновременно решить свои научные проблемы и создать конкурентноспособный программный продукт для продажи на рынке программного обеспечения. Применяемый при распространении конечно-элементных моделей принцип открытости, как нам представляется, будет способствовать повышению общего уровня расчетов и сводить к минимуму риск получения ошибочных результатов.

Литература:

  1. Шашкин К.Г. Использование структуры универсального конечного элемента при разработке моделей в рамках программы FEM models.//Реконструкция городов и геотехническое строительство, 2000, №1.
  | Главная страница | Что надо знать участнику строительства | Аварии и их причины |
| Ответы специалистов | Новости геотехники | Интернет-журнал |
| Семинары и конференции | Компьютерные программы | Полезные ссылки |
Hosted by uCoz