Программное обеспечение расчета конструкций

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 02.04.2016
Размер файла 377,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://allbest.ru

1. СПЕЦИАЛЬНАЯ ЧАСТЬ

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

Конструкции современной радиоэлектронной аппаратуры (РЭА) часто эксплуатируются в условиях повышенных уровней внешних механических воздействий: вибраций, ударов, линейных ускорений и акустического давления. Для того чтобы определить механические режимы конструктивных и электронных элементов необходимо на этапе проектирования РЭА произвести расчет механических напряжений и перегрузок элементов конструкции РЭА. Для расчетов конструкций широко применяется метод конечных элементов.

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

Актуальность работы заключается в том, что мы непосредственно имеем код программы и можем использовать его для своих определенных задач: для расчета радиоэлектронных средств (РЭС) и для оптимизации конструкций РЭС.

Метод конечных элементов в расчетах конструкций

Описание основных возможностей МКЭ

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

МКЭ является численным методом решения дифференциальных уравнений, встречающихся в физике и технике. Возникновение метода связано с решением задач космических исследований (1950 г.). Впервые он был опубликован в работе Тернера, Мартина и Топпа. В последствие область применения МКЭ существенно расширилась, и он превратился в общий метод численного решения дифференциальных уравнений.

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

Основная идея МКЭ состоит в том, что любую непрерывную величину можно аппроксимировать дискретной моделью, которая строится на множестве кусочно-непрерывных функций, определенных на конечном числе подобластей.

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

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

При построении модели непрерывной функции выполняются следующие шаги:

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

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

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

Непрерывная величина аппроксимируется на каждом элементе полиномом, коэффициенты которого определяются с помощью значений этой величины в узловых точках. Для каждого элемента определяется свой полином, но полиномы подбираются таким образом, чтобы сохранялась непрерывность величины вдоль границ элемента. Основная концепция МКЭ может быть наглядно проиллюстрирована на примере заданного распределения температуры в стержне. Рассматривается непрерывная величина Т(х), область определения которой отрезок OL вдоль оси X. Фиксированы и пронумерованы пять точек на оси X. (Рис.1.) Эти узловые точки можно расставить на любом расстоянии друг от друга. Значение Т(х) в данном случае известно в каждой узловой точке. Эти фиксированные значения представлены графически на рисунке и обозначены в соответствии с номерами узловых точек через Т1, Т2, ТЗ, Т4, Т5. (Рис.2.)

Рис.1

Рис.2.

Разбиение области на элементы можно произвести двумя различными способами. Можно, ограничить каждый элемент двумя соседними узловыми точками, образовав четыре элемента или разбить область на два элемента, каждый из которых содержит три узла. Соответствующий элементу полином определяется по значениям Т(х) в узловых точках.

В случае разбиения области на четыре элемента на каждый элемент приходится по два узла, и функция элемента будет линейна по оси Х (две точки однозначно определяют прямую линию). Окончательная аппроксимация Т(х) будет состоять из четырех кусочно-линейных функций, каждая из которых определена на отдельном элементе. Разбиение области на элементы можно провести двумя способами.

Важными преимуществами МКЭ, благодаря которым он широко используется, является следующее:

Свойства материалов не должны быть обязательно одинаковыми. Это позволяет применить метод к телам, составленным из нескольких материалов (например, этажерочные конструкции РЭА, объемные конструкции РЭА и т. д.)

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

Размеры элементов могут быть переменными. Это позволяет укрупнить или уменьшить сетку разбиения области на элементы, если в этом есть необходимость

Указанные выше преимущества МКЭ могут быть использованы при составлении достаточно общей программы для решения частных задач определенного класса.[5]

Типы конечных элементов

Простейшим среди элементов является одномерный элемент. Схематически он обычно изображается в виде отрезка, хотя и имеет поперечное сечение. Площадь поперечного сечения может изменяться по длине, но во многих задачах она считается постоянной. Наиболее часто такой элемент используется в одномерных задачах распространения тепла, задачах расчета АЧХ этажерочных конструкций РЭА (одномерные стержневые элементы используются здесь для закрепления одного монтажного пространства над другим) и т.п.

Простейший одномерный элемент имеет два узла. Возможно применение элементов более высокого порядка, трехузловых (квадратичных), четырехузловых (кубических). Одномерный элемент может быть криволинейным при условии, что длина дуги входит в уравнения, определяющее элементы.[7]

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

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

Описанные выше конечные элементы являются наиболее распространенными. Тем не менее, возможны и другие виды конечных элементов, но они также должны удовлетворять требованиям, перечисленным выше.

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

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

Для расчета АЧХ реальных конструкций часто бывает недостаточно только двумерных и одномерных элементов. Это связано с тем, что в самолетной и ракетной аппаратуре используют конструкции, которые имеют определенную толщину, которой нельзя пренебречь. Простейшим трехмерным элементом является тетраэдр. (Рис.6.)

Рис. 6. Трехмерный симплекс-элемент.

Преимуществом такого элемента является относительная простота расчетов. С другой стороны существует ряд недостатков разбиения конструкции на тетраэдры. Во-первых, зачастую бывает недостаточной точность расчета. Во-вторых, разбиение конструкции на тетраэдры является более сложной задачей, чем разбиение на шестигранники. Это особенно важно в тех случаях, когда реальная конструкция имеет большие линейные размеры и неоднородность материалов [7].

Другим наиболее частым применяемым трехмерным конечным элементом является шестигранник.

Анализ существующих систем конечно-элементных расчетов

Существует множество систем конечно-элементных расчетов, таких как ANSYS, NASTRAN, ЛИРА.

ANSYS

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

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

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

Улучшения в ANSYS 14.0 можно разделить на 3 основные группы:

1) Повышение эффективности выполняемых инженерных расчетов.

2) Моделирование сложных систем.

3) Внедрение инновационных решений.

Повышение эффективности выполняемых инженерных расчетов.

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

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

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

В области прочностных расчетов, в новых приложениях для пластмасс, резины и пены -- в сочетании с требованиями отрасли промышленности -- часто возникают ситуации, в которых материал подвержен сильному изменению формы. [8]

Моделирование сложных систем

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

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

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

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

Внедрение инновационных решений

В ANSYS 14.0 предлагается полный набор решателей и инструментов для выполнения высокопроизводительных вычислений применительно ко всем областям физики. Улучшения в области управления решателем, такие как распределение, с учетом архитектуры, позволяют эффективно назначать задания всем доступным процессорам. Улучшения также коснулись инструментов использования графического ускорителя для повышения общего быстродействия аппаратной части. Работая в ANSYS Mechanical™ 14.0, пользователь может воспользоваться преимуществами новейших графических ускорителей и снизить объем данных ввода/вывода, необходимых для обработки результатов.

NASTRAN - это одна из лучших на рынке конечно-элементная система.

MSC Nastran вот уже более 40 лет доказывает свою точность и эффективность. Постоянно развиваясь, он аккумулирует в себе достоинства новейших технологий, методов, алгоритмов и поэтому остается ведущей системой конечно-элементного анализа в мире.

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

В MSC Nastran предусмотрена возможность передачи моделей упругих тел в Adams, которые будут использоваться в этом программном комплексе при построении расчётных моделей машин и механизмов. Nastran располагает эффективным аппаратом автоматической оптимизации параметров, формы и топологии конструкций. Широкие возможности оптимизации позволяют использовать MSC Nastran для автоматической идентификации компьютерной расчетной модели и планирования экспериментов.

В составе MSC Nastran имеются специальные возможности моделирования динамики роторных машин, что обуславливает незаменимость этого программного продукта в отраслях, связанных с разработкой турбомашин.

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

MSC Nastran широко используется для планирования экспериментов (определение мест расположения датчиков) и оценки полноты полученных экспериментальных данных. С помощью MSC Nastran решаются задачи моделирования систем управления, систем терморегулирования с учетом воздействия этих систем на конструкцию.

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

ЛИРА

Программный комплекс ЛИРА-САПР является современным инструментом для численного исследования прочности и устойчивости конструкций и их автоматизированного проектирования.

Программный комплекс ЛИРА-САПР включает в себя следующие основные функции:

1) развитую интуитивную графическую среду пользователя;

2) препроцессор "САПФИР-конструкции";

3) набор многофункциональных процессоров;

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

5) расчет на ветровые нагрузки с учетом пульсации и сейсмические воздействия по нормативам стран СНГ, Европы, Африки, Азии и США;

6) расчет на различные виды динамических воздействий (сейсмика, ветер с учетом пульсации, вибрационные нагрузки, импульс, удар, ответ-спектр);

7) конструирующие системы железобетонных и стальных элементов в соответствии с нормативами стран СНГ, Европы и США;

8) редактирование баз стальных сортаментов;

9) связь с другими графическими и документирующими системами (AutoCAD, ArchiCAD, MS Word и др.) на основе DXF и MDB файлов;

10) развитую систему помощи, удобную систему документирования;

11) возможность изменения языка (русский/английский) интерфейса и/или документирования на любом этапе работы;

12) различные системы единиц измерения и их комбинации.

ПК ЛИРА-САПР обладает рядом дополнительных уникальных возможностей:

* Быстродействующие алгоритмы составления и решения систем уравнений без ограничения на количество узлов и элементов;

* супер элементное моделирование с визуализацией на всех этапах расчета, позволяющее в ряде случаев ускорить решение задачи и снизить влияние плохой обусловленности больше размерной матрицы;

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

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

* Специализированный процессор МОНТАЖ-плюс, позволяющий отслеживать напряженное состояние сооружения в процессе его возведения. Этот процессор позволяет также проводить компьютерное моделирование возведения высотных зданий из монолитного железобетона с учетом изменений жесткости и прочности бетона, вызванных временным замораживанием уложенной смеси и другими факторами;

* специализированная система, позволяющая в автоматизированном режиме получать рабочие чертежи КМ (маркировочные схемы, узлы, спецификации);

* специализированная система ГРУНТ, позволяющая по данным инженерно-геологических изысканий строить трехмерную модель грунтового основания с последующим определением переменных по области фундаментной плиты коэффициентов пастели по различным методикам;

И многие другие возможности.

ПК ЛИРА-САПР является непрерывно развивающейся системой не реже 3-4 месяцев в рамках функционирующей версии выкладываются новые релизы, учитывающие отдельные пожелания пользователей, исключающие допущенные неточности, реализующие некоторые модернизации и усовершенствования.

Анализ алгоритмов построения сеток

Общая последовательность построения состоит в следующем. В начале с помощью CAD-системы создаётся геометрическая 2D-модель исследуемой конструкции. Для этого на данном этапе можно использовать "средние" системы типа AutoCAD, SolidWorks, КОМПАС-3D и др., оснащённые вполне развитым аппаратом двухмерного параметрического моделирования. В отдельных случаях исходную геометрическую модель необходимо перестроить в модель, удобную для построения конечно элементной сетки с учётом особенностей термомеханического нагружения. Затем, уже адаптированная геометрическая модель разбивается на конечные элементы.

В простейшем случае разбивку на четырёхузловые конечные элементы можно выполнить, поступив следующим образом. Исследуемая конструкция с помощью пакета AutoCAD "вручную" разбивается на достаточно крупные геометрические примитивы, которые в плане можно рассматривать как 8- и 6-узловые квадратичные конечные элементы, а затем эти геометрические примитивы уже в автоматическом режиме разбиваются на конечные элементы. После этого выполняется процедура автоматической сшивки конечно элементных моделей выделенных геометрических примитивов.

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

Начальной информацией является информация о контуре области. Контур области задаётся в виде линий, каждая из которых рассматривается как одномерный квадратичный конечный элемент (Рис.10а). Нумеруются начальный, конечный и некоторый средний узел каждой линии. В соответствии с конечно элементной технологией в пределах каждой контурной линии узлы имеют локальную нумерацию , а в пределах всего контура те же узлы имеют глобальную нумерацию (таблица 1, Рис.10б). Кроме того, каждому узлу в описании контура ставятся в соответствие координаты и размер шага сетки (таблица 2). Для контура, изображенного на Рис. 10б. .

а) б)

Рис. 10. Начальное описание контура и его разбивка

Таблица 1. Описание контурных линий (в соответствии с Рис. 11)

Номер

контурной линии

Локальные узлы

1

1

2

3

2

3

4

5

3

5

6

7

4

7

8

1

Таблица 2. Описание узлов контурных линий.

Номер узла

1

2

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

(Рис.10а).

Далее выполняется триангуляция области. Алгоритм триангуляции состоит в следующем. Рассматривается текущий контур, на котором размещены контурные узлы. На первом шаге текущий контур, естественно, совпадает с исходным контуром, который ограничивает триангулируемую область. На контуре определяются три последовательных узла, например, , и , имеющие минимальный угол между построенными на них векторами и (Рис.11). Далее, анализируется геометрическое расположение оставшихся контурных узлов относительно трех выделенных узлов. При этом устанавливается: попадает ли рассматриваемый контурный узел, например, в сектор анализа, характеризуемый величиной угла , и если да, то вычисляются расстояния между узлами , и : и . Если хотя бы одно из этих расстояний меньше максимальной длины векторов и , то проверяются две возможности построения треугольников, показанные на Рис.12. Выбирается та, которая обеспечивает минимум максимального угла в треугольниках. Кроме того, проверяется пересекаемость ребрами треугольников контура. Если построение проходит, то текущий контур разбивается на два подконтура, а затем каждый анализируется отдельно.

Рис.11. Поиск минимального угла.

Рис.12. Построение элементов: случай, когда на контуре найден узел.

В том случае, когда не находится узла, который попадал бы в сектор, характеризуемый величиной угла , или расстояния, соединяющие узлы, больше максимальной длины векторов и , то выполняется построение на основе выделенных узлов , и . В зависимости от величины угла возможны два варианта построения, если угол , то треугольник строится на выделенных узлах , , и узел из описания контура исключается (Рис.13а). В противном случае, когда определяется новый узел путем деления угла пополам и строятся два треугольника (Рис 13б), при этом проверяется пересекаемость ребрами треугольников контура. Если построение не проходит, то узел размещается на середине отрезка . Далее узел вводится в описание текущего контура, а узел во всех случаях из описания контура исключается.

Рис.13. Построение элементов.

После построения конечно элементной модели выполняется ее оптимизация. Оптимизация состоит в коррекции координат внутренних узлов, то есть тех узлов, которые были построены внутри триангулируемых подобластей. Координаты узлов, расположенных на исходном контуре, не изменяются. Оптимизация координат внутренних узлов выполняется следующим образом. Определяются номера конечных элементов, в состав узлов которых входит данный узел, и их число, то есть, фактически определяются все конечные элементы, которые окружают данный узел. Затем, вычисляются координаты центров тяжести всех найденных конечных элементов. В качестве новых координат узла принимаются координаты, вычисленные как среднее арифметическое координат центров тяжести конечных элементов, в состав узлов которых входит данный узел. Эта процедура выполняется несколько раз. Как показывают исследования, для оптимизации необходимо выполнить 5 - 7 итераций. Кроме того, при оптимизации необходимо оценивать соотношение длин сторон треугольников. Если максимальное отношение длин сторон треугольника превышает некоторую заданную величину(обычно ), то наибольшая по длине сторона треугольника делится пополам и соседние треугольники разбиваются на два.

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

Рис.14. Перестроение сетки.

После процедуры перестроения треугольной сетки в четырехугольную, состоящей в объединении выбранных пар треугольников, может остаться некоторое количество треугольников, которые не удалось объединить. Как показывают исследования, количество треугольных конечных элементов составляет не более 5 - 7 % от общего числа конечных элементов, формирующих конечно элементную модель, и не оказывает заметного влияния на результаты численных исследований.

Второй этап построения сетки также завершается итерационной процедурой коррекции координат внутренних узлов. Определяются номера всех конечных элементов, в состав узлов которых входит рассматриваемый узел, и их общее число. Затем, вычисляются координаты центров тяжести всех найденных конечных элементов. В качестве новых координат узла принимаются координаты, вычисленные как среднее арифметическое координат центров тяжести конечных элементов, содержащих данный узел. Эта процедура выполняется несколько раз. Как показывают исследования, для оптимизации необходимо выполнить 3 - 5 итераций.

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

Изложенный алгоритм был реализован в виде комплекса прикладных программ "SETKA-4N-2D". На рисунках 15 и 16 показаны увеличенные фрагменты конечно элементных моделей, построенных с помощью данного комплекса. В канонических областях сетки имеют выраженный структурированный характер, а в областях с криволинейной границей сетки отличаются некоторой нерегулярностью.

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

Рис.15. Сетка в канонической области.

Рис.16. Сетка в области с криволинейной границей.

Многие инженерные задачи и научные исследования требуют решения сложных дифференциальных уравнений с частными производными для трехмерных объектов. В таких случаях обычно используются численные методы математического моделирования, требующие дискретизации исследуемых объектов. Если объектов несколько и форма их сложная, чаще всего применяется метод конечных элементов (МКЭ). В данном методе трехмерные объекты делятся на малые выпуклые многоугольники с фиксированным числом граней, называемые конечными элементами. На практике генерация трехмерной конечно элементной сетки является фундаментальной геометрической проблемой в применении МКЭ [1].

С проблемой генерации сетки тесно связана и проблема ввода и хранения геометрической формы, исследуемых объектов, а во многих случаях еще и вывода результатов в графической форме. Естественным выбором сегодня является какая-либо САПР, которая могла бы взять на себя полное или частичное решение этих задач. Современный рынок программных продуктов предоставляет большое количество разнообразных по возможностям САПР [2]. Большинство из них, малые и средние САПР, обеспечивают только ввод-вывод и хранение геометрической и графической информации. В то же время предлагается и несколько «тяжелых» САПР (ANSYS™, и др.) и несколько специализированных САПР (NASTRAN™, ABAQUS™ и др.), обладающих большими возможностями. Они позволяют выполнить три перечисленные задачи и, кроме того, провести численное моделирование в определенных рамках с помощью того же МКЭ. Большие возможности этих программных пакетов имеют высокую стоимость, требуют мощную вычислительную технику и затраты на обучение. Проведенный анализ показывает, что большинство исследователей предпочитают разрабатывать собственные программы для решения своих задач.

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

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

В общем случае МКЭ позволяет решать задачи в двухмерной (2D) и трехмерной (3D) постановках. Использовать в нем можно прямолинейные и криволинейные конечные элементы. В двухмерных задачах применяются треугольники и четырехугольники, в трехмерных - тетраэдры, призмы и параллелепипеды. Кроме того, прямолинейные элементы всегда двухузловые, а криволинейные элементы могут быть трехузловыми и четырехузловыми (имеется в виду число узлов на каждом ребре). Несмотря на такое разнообразие элементов, чаще всего используются линейные треугольные элементы. Их легче генерировать и использовать, ими можно хорошо дискретизировать криволинейные объекты вместо использования криволинейных элементов. В МКЭ генерация сетки является задачей, не зависимой от остальных процессов, и требования к быстродействию не столь высоки. Более важными являются характеристики генерируемой сетки конечных элементов и требования к геометрической форме исследуемых объектов.

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

Прежде всего, генератор должен обслуживать исследуемые объекты, обладающие следующими характеристиками:

- объектов может быть несколько;

- они должны быть трехмерными и твердотельными, то есть физические характеристики объекта предполагаются неизменными в любой точке объекта;

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

- должно учитываться взаимное расположение объектов и их расположение относительно центра координат.

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

Сам алгоритм должен: использовать возможности САПР, в которой он будет работать, и обеспечивать хорошее быстродействие.

В основу алгоритма положена идея из [5], состоящая в том, чтобы разделить исследуемые объекты с помощью генерируемых кубов на множество компонентов, удовлетворяющих определенным требованиям, а затем эти компоненты разделить на тетраэдры (конечные элементы), которые и составят трехмерную треугольную сетку. Основной структурой данных алгоритма является восьмеричное дерево, состоящее из узлов.

С каждым узлом связывается выпуклый многоугольник, представляющий собой трехмерный куб, пересекающий один из исследуемых объектов. Все кубы строго ориентированы по осям общей системы координат. Каждый узел дерева может быть либо концевой вершиной, либо содержащим восемь узлов-потомков. Укладка из восьми потомков представляет собой восемь кубов, занимающих тот же объем. Логически эта укладка получается с помощью деления куба владельца пополам по каждому измерению. Любой из узлов-потомков также может быть либо концевой вершиной, либо укладкой из восьми своих потомков. Узел может содержать список узлов-дубликатов.

Рис.17. Простые компоненты.

Рис.18. Создание дубликата.

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

Для функционирования алгоритма важны еще две категории узлов.

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

Для начала необходимо указать объекты, которые будут исследоваться. Используя размеры и положение выбранных объектов, определяют размер и положение первого куба, который должен охватывать собой эти объекты. Первый куб является и первым узлом восьмеричного дерева. Начиная с этого узла, генерируется дерево.

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

В процессе генерации дерева каждый узел делится, если:

- размер куба больше заданного максимального размера;

- компонент пересечения не является простым компонентом;

- компонент простой, но его центр масс находится за пределами самого компонента;

- компонент простой, но узкий - центр масс куба не находится в пределах компонента;

- компонент простой, но его грани содержат внутренние контуры;

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

Цель деления узлов и генерации дерева - разделить исследуемые объекты на малые и простые компоненты, которые затем было бы просто разделить на тетраэдры.

Простыми компонентами называются компоненты пересечения какого-либо куба с исследуемыми объектами, удовлетворяющие следующим требованиям:

- компонент равен кубу (рис. 17a);

- внутри куба находится одна грань компонента (рис. 17b);

- внутри куба находится одно ребро компонента и две образующие ребро грани (рис. 17e,d);

- внутри куба находится одна вершина компонента и несколько образующих вершину граней (рис. 17f,g,h).

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

Первой проблемой (и на это указывают исследователи [3,4]) является наличие у объектов криволинейных поверхностей. У многих исследователей она вызывает большие трудности, но в основном из-за того, что они одновременно решают задачу ввода и обработки геометрической формы объектов. В нашем случае проблема решена довольно легко введением размера линеаризации, который по сути является шагом дискретизации кривых линий. Так как всю работу с геометрической формой объектов берет на себя САПР, и структура алгоритма генерации тетраэдров из простых компонентов такова, что новые узлы не создаются, а используются только существующие вершины компонентов, на фазе деления объектов происходит автоматическая линеаризация кривых и поверхностей.

Второй важной проблемой является коэффициент формы генерируемых тетраэдров. Тетраэдры не должны иметь очень острые углы и по форме должны быть как можно ближе к равносторонним тетраэдрам. Для МКЭ очень важно, чтобы сетка была сбалансированной. Качество конечных элементов и сбалансированность сетки очень сильно определяют качество дальнейших расчетов в МКЭ [1], особенно при необходимости добиться от метода высокой точности и сходимости. Сбалансированности генерируемой сетки можно достичь, если каждый узел в дереве будет удовлетворять условию баланса.

Условие баланса. Каждый соседний узел непременно делится, если он больше данного узла более чем в два раза. Это условие можно ввести еще на стадии деления узлов, а можно оформить отдельной операцией после фазы деления. В результате в сетке не образуются «дыры» - большой тетраэдр, окруженный маленькими тетраэдрами.

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

На практике в связи с коэффициентом формы выявилась такая проблема, которая не обсуждается в литературе. Дело в том, что в процессе деления узлов могут появиться компоненты с гранями, контур которых невыпуклый (рис. 2e,g). В этих случаях грани трудно триангулировать. Генерируемые тетраэдры получаются острыми и не образуют форму исходного компонента. Усиленное деление такого узла не только измельчает сетку и перегружает алгоритм, но и не имеет полного эффекта. Такой узел остается, и его приходится каким-то образом «линеаризовать». Для этого необходимо выявить подобные узлы и разделить компоненты на выпуклые элементы, например, их внутренними плоскостями.

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

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

Требований к треугольникам только два: они должны покрывать полностью всю грань и быть по форме близкими к равносторонним треугольникам. Если усиленно добиваться идеального коэффициента формы и для этого, проводя математические вычисления, добавлять новые вершины в компонент, то алгоритм станет сильно перегруженным. Быстродействие тоже является важной характеристикой алгоритма. Необходимо оптимальное решение. К тому же необходимо учесть, что в МКЭ не может быть независимой сетки для каждого исследуемого объекта, тем более если объекты соприкасаются и образуют границу раздела сред. Узлы, получаемые на такой границе, должны относиться к обоим объектам. При создании новых узлов их необходимо переносить и на компоненты соседних объектов.

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

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

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

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

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

· отсутствие ограничений на геометрическую форму исследуемых объектов;

· высокое качество генерируемой сетки элементов;

· простота реализации.

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

Разработка технического задания на программу

Назначение и область применения.

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

Описание объектов проектирования.

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

Требования к Программе.

Разработку и тестирование программы провести на ЭВМ класса Intel® Pentium® с использованием в среде программирования Qt Creator.Программа должна разбивать заданные фигуры на плоские элементы.

Этапы разработки.

Исследование объекта проектирования - 1 марта 2012г.;

Разработка математического обеспечения - 15 апреля 2012г.;

Разработка схемы алгоритма программы - 30 апреля 2012 г.;

Разработка структуры программы - 15 мая 2012г.;

Выбор языка программирования, составление и отладка программы - 20 мая 2012г.;

Оформление дипломного проекта - 30 мая 2012г.;

Разработка математического обеспечения

Разработка математического обеспечения для разбиения конструкций сеткой на плоские конечные элементы

Разбиение конструкций сеткой на плоские конечные элементы осуществляется в два этапа.

1) Подготовка данных.

На шаге подготовки находится корневой элемент древа разбиения. Он имеет максимальный размер. Его стороны имеют координаты (minX,minY)(minX,maxY)(maxX,minY)(maxX,maxY).

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

2) Рекурсивное разбиение.

Если квадрат необходимо разбить, то он разбивается на 4 одинаковых квадрата, с координатами:

1) (minX,minY)(minX,maxY/2)(maxX/2,minY)(maxX/2,maxY/2)

2) (maxX/2,minY)(maxX/2,maxY/2)(maxX,minY)(maxX,maxY/2)

3) (minX,maxY/2)(minX,maxY)(maxX/2,maxY/2)(maxX/2,maxY)

4) (maxX/2,maxY/2)(maxX/2,maxY)(maxX,maxY/2)(maxX,maxY)

Для разбиения используется две проверки:

1) Пересекает ли отрезок разбиваемой фигуры с отрезком квадрата разбиения

2) Лежит ли точка в фигуре

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

Отрезки пересекается, если выполняются следующие условия:

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

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

, где - вершина фигуры, O -- определяемая точка.

Если все z-компоненты векторов -положительны -- точка лежит внутри фигуры.

Если все z-компоненты векторов -неотрицательны -- точка лежит внутри фигуры или на её границе.

Разбиение конструкций сеткой на объемные конечные элементы осуществляется в два этапа.

1) Разбиение основания призмы на плоские конечные элементы.

2) Экструзия плоских элементов.

- определяется шаг разбиения

h=H/N,

где H -- высота конструкции,

N -- желаемое число элементов.

- циклическое создание объёмных элементов (N раз):

- копируются двумерные элементы и сдвигаются на шаг h.

- добавляются вертикальные рёбра.

- формируются трёхмерные элементы из 2х плоских и соответствующих вертикальных рёбер.

- добавляются трёхмерные элементы в трёхмерную сетку.

- повтор цикла.

Разработка алгоритмов программы

Разработка алгоритмов разбиение конструкций на плоские конечные элементы

Рис. 19. Алгоритм разбиения фигуры на плоские конечные элементы.

Рис. 20. Процедура деления на плоские конечные элементы.

Б. КОНСТРУКТИВНО-ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ

Технология отладки программы

Подготовка отладки

Отладка - это процесс поиска и исправления ошибок, приводящих к не правильной работе приложения. Отладка делится на два этапа: отладка синтаксиса и отладка семантики. Синтаксическая ошибка - это нарушение правил записи на данном языке программирования. Эти ошибки обычно диагностируются трансляторами, и их исправление трудностей не вызывает. Специальной подготовки программы для отладки синтаксиса не требуется. В среде Qt Creator при запуске программы на компиляцию выдается номер и пояснение очередной найденной ошибки, а курсор указывает на строчку, в которой эта ошибка находится. При этом от программиста требуется лишь исправить ее и снова запустить программу на компиляцию. Семантическая (смысловая) ошибка - это применение операторов, которые не дают нужного эффекта (разного рода описки: a+b вместо a-b). Эти ошибки ЭВМ самостоятельно найти, естественно, не может. Основа отладки - это отладка семантики. Из вышесказанного ясно, что основным инструментом отладки служат тесты и отладочные печати. Подготовка тестов и расстановка отладочных печатей - это такой же необходимый этап, как и само программирование.[9]


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.