• Выбор средств разработки.
  • Язык программирования C
  • Платформа .NET
  • Tao Framework
  • Описание системы
  • Описание основных модулей системы Ядро
  • Графический интерфейс пользователя
  • Модуль построения геометрической модели пластины



  • страница1/32
    Дата11.07.2018
    Размер4.51 Mb.

    Описание препроцессора


      1   2   3   4   5   6   7   8   9   ...   32

    Панфилов А.А. 2013г.

    ОПИСАНИЕ ПРЕПРОЦЕССОРА


      1. Постановка задачи, решаемой препроцессором.

    Процедура задания исходных данных для расчета в учебной CAE системы Sigma характеризуется следующими существенными недостатками:

    • отсутствием полноценного графического редактора формы пластины. Наиболее удобным способом подготовки геометрической модели является импорт её из CAD-систем;

    • сложностью создания зон нестандартной геометрической формы;

    • программным заданием граничных условий, внешних воздействий и свойств конечных элементов;

    • применением для генерации сетки только одного метода – метода изопараметрических координат. Использование других методов требует работы с дополнительным программным обеспечением.

    Для решения этих и некоторых других задач разработана модульная система подготовки исходных данных для Sigma на основе графического интерфейса - препроцессор. Основные требования к препроцессору следующие:

    • построение и редактирование общей геометрии пластины на основе примитивов: прямая линия, дуга, окружность;

    • использование концепции 4-х узловых зон для работы методов построения сетки КЭ;

    • возможность сохранения общей геометрии пластины и импорт её в Sigma для дальнейшего построения сетки КЭ, задания граничных условий и внешних воздействий, используя встроенные в Sigma средства. В этом случае препроцессор должен использоваться для построения сложной конфигурации зон пластины как альтернатива менее гибкому редактору зон в Sigma.

    • построение сетки КЭ альтернативными методами:

    метод изопараметрических координат;

    фронтальный метод;

    триангуляция по Делоне.


    • внедрение графического режима (в том числе демонстрационного) в процесс генерации сетки конечных элементов.

    • автоматизированные процедуры реализации внешних воздействий и граничных условий;

    • автоматизированные процедуры назначения свойств материала отдельным зонам или конечным элементам геометрической модели пластины.




      1. Выбор средств разработки.

    Для разработки сложного программного комплекса, призванного облегчить задачу формирования начальных данных для CAE-системы, средства разработки необходимо выбирать, ориентируясь на следующие требования:

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

    2. Возможность создания иерархической структуры данных, основанной на объектах.

    3. Наличие библиотеки стандартных методов и алгоритмов, необходимых для решения поставленной задачи.

    4. Высокое быстродействие всех графических элементов, низкая величина времени отклика программы на действия пользователя.

    5. Обеспечение высокой скорости разработки без уменьшения читаемости кода: дальнейшее развитие системы предполагает доработку её исходных кодов.

    Удобными для автора работы и удовлетворяющими все требования приведенного списка оказались следующие инструменты:

    1. Язык C# с использованием платформы .NET (разработка велась в IDE Microsoft Visual Studio 2010 Ultimate).

    2. Библиотека Tao Framework.

    Язык программирования C#

    C# (произносится си шарп) — объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.

    C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

    Переняв многое от своих предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

    Платформа .NET

    Платформа .NET Framework — это интегрированный компонент Windows, который поддерживает создание и выполнение нового поколения приложений и веб-служб XML. При разработке платформы .NET Framework учитывались следующие цели.

    Обеспечение согласованной объектно-ориентированной среды программирования для локального сохранения и выполнения объектного кода, для локального выполнения кода, распределенного в Интернете, либо для удаленного выполнения.

    Обеспечение среды выполнения кода, минимизирующей конфликты при развертывании программного обеспечения и управлении версиями.

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

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

    Обеспечение единых принципов работы разработчиков для разных типов приложений, таких как приложения Windows и веб-приложения.

    Разработка взаимодействия на основе промышленных стандартов, которое обеспечит интеграцию кода платформы .NET Framework с любым другим кодом.

    Двумя основными компонентами платформы .NET Framework являются общеязыковая среда выполнения (CLR) и библиотека классов .NET Framework. 

    Основой платформы .NET Framework является среда CLR. Среду выполнения можно считать агентом, который управляет кодом во время выполнения и предоставляет основные службы, такие как управление памятью, управление потоками и удаленное взаимодействие. При этом накладываются условия строгой типизации и другие виды проверки точности кода, обеспечивающие безопасность и надежность. Фактически основной задачей среды выполнения является управление кодом. Код, который обращается к среде выполнения, называют управляемым кодом, а код, который не обращается к среде выполнения, называют неуправляемым кодом. 

    Другой основной компонент платформы .NET Framework - библиотека классов, представляет собой полную объектно-ориентированную коллекцию типов, которые применяются для разработки приложений, начиная от обычных, запускаемых из командной строки или с графическим интерфейсом пользователя, и заканчивая приложениями, использующими последние технологические возможности ASP.NET, такие как Web Forms и веб-службы XML.

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

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

    Обозреватель Internet Explorer может служить примером неуправляемого приложения, размещающего среду выполнения (в виде расширений типов MIME).Размещение среды выполнения в обозревателе Internet Explorer позволяет внедрять управляемые компоненты или элементы управления Windows Forms в HTML-документы. Такое размещение среды делает возможным выполнение управляемого мобильного кода (аналогичного элементам управления Microsoft® ActiveX®), но с существенными преимуществами управляемого кода, такими как выполнение в условиях неполного доверия и изолированное хранение файлов.

    Tao Framework

    Tao Framework — это библиотека, предоставляющая разработчикам .NET и Mono доступ к возможностям популярных библиотек вроде OpenGL и SDL. Она изначально была создана программистом на C# и OpenGL Randy Ridge, и с тех пор значительно расширена другими разработчиками.



    Описание технологии OpenGL выходит за рамки данной работы.

      1. Описание системы

    Preprocessor - система подготовки исходных данных для CAE-системы «Sigma» является модульной системой. Ниже приведена схема взаимодействия её основных модулей.





      1. Описание основных модулей системы

    Ядро

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

    Основные функции, возлагаемые на ядро:


    • обмен данными между модулями, предназначенными для работы с отдельными элементами пластины, и модулем хранения данных;

    • организация взаимодействия между графическим интерфейсом пользователя и модулем хранения данных;

    • хранение данных модели;

    • организация ввода/вывода данных пластины с использованием её графического отображения.

    • обеспечение необходимых функций для работы с проектом: создание, удаление, сохранение, отмена/повтор внесенных изменений и т.п.

    Основным классом, используемым в ядре, является класс FullModel.

    Графический интерфейс пользователя



    Графический интерфейс в системе реализован с использованием стандартной библиотеки WinForms. В разработанной системе используется технология MDI (Multi Document Interface), что позволяет одновременно работать с несколькими проектами. Ниже приведен основной вид панели инструментов системы и пример внешнего вида системы при работе с несколькими проектами.



    Внешний вид панели инструментов препроцессора



    Пример рабочего пространства препроцессора при открытии нескольких окон.

    Модуль построения геометрической модели пластины

    Одним из двух способов получения геометрической модели пластины в препроцессоре является её построение с использование предлагаемых системой средств.

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

    Добавление, редактирование и удаление осуществляются с помощью управляющих элементов системы.

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


      1   2   3   4   5   6   7   8   9   ...   32

    Коьрта
    Контакты

        Главная страница


    Описание препроцессора