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.