А
Б В
Г Д
Е Ж
З И
К Л
М Н
О П
Р С
Т У
Ф Х
Ц Ч
Ш Э
Ю Я
Реферат: Разработка алгоритмов и диалоговых программ автоматизированного формирования
Разработка алгоритмов и диалоговых программ автоматизированного формирования
Содержание Введение ...................................................................................................... Постановка задачи ...................................................................................... 1. Конечно-элементная дискретизация поверхностей с помощью сплайн-интерполяции ................................................................................... 1.1. Методы триангуляции конечно-элементных моделей ................... 1.2. Алгоритмы дискретизации поверхностей с помощью сплайнов .. 1.2.1. Сплайны с постоянным и переменным шагом ...................... 1.2.2. Дискретизация оболочковых конструкций ........................... 1.2.3. Дискретизация объемных конструкций ................................. 1.3. Алгоритм дискретизации изменяемой поверхности ...................... 2. Алгоритмы анализа напряженно-деформированных состояний конечно-элементных моделей пространственных конструкций ................. 2.1. Оценка прочности и жесткости оболочковых конструкций по результатам анализа МКЭ ................................................................. 2.2. Оценка прочности и жесткости объемных конструкций ................ 3. Программа реализации синтеза и анализа конечно-элементных моделей пространственных конструкций .................................................... 4. Пример расчета оболочковой конструкции ............................................. 5. Экономическая часть ................................................................................ 5.1. Определение трудозатрат на разработку программных модулей .................................................................................................... 5.2. Расчет единовременных и текущих затрат на разработку программных модулей ........................................................................ 5.3. Определение цены реализации программного модуля .................... 6. Безопасность жизнедеятельности ............................................................ 6.1. Создание экспертной системы для анализа опасностей ................. 6.2. Структура программы анализа опасности ...................................... Заключение .................................................................................................. Список используемой литературы .............................................................. Приложение 1. Листинг программы Sintankem .......................................... Приложение 2. Исходные данные для расчета по “Лире” ........................... Приложение 3. Результаты расчетов (перемещения, усилия и напряжения) ................................................................................................. Приложение 4. Таблицы узлов с недопустимой жесткостью и элементов без запаса прочности ................................................................. Приложение 5. Листинг программы экспертной системы для анализа опасностей ................................................................................................... Введение Создание прочных и надежных в эксплуатации машин с высоким ресурсом работы, обладающих высокой экономичностью и минимальными размерами - это вопрос большой важности. Его решение затрагивает множество проблем, среди которых важное место занимает проблема совершенствования методов расчета конструкций на прочность. Для расчета распределения напряжений в сложной реальной конструкции в настоящее время становится наиболее предпочтительным применение какого-либо подходящего численного метода, реализуемого на современных ПЭВМ. Одним из универсальных численных методов является метод конечных элементов (МКЭ). Применение МКЭ способствует повышению точности и надежности расчетов, а также автоматизации инженерного труда. Это дает большой экономический эффект, поскольку влечет за собой сокращение сроков проектирования и “доводки” изделий, а в отдельных случаях позволяет даже отказаться от проведения некоторых видов дорогостоящих прочностных испытаний изделий. При расчете МКЭ конструкция разбивается на отдельные элементы простой формы, напряженно-деформированное состояние которых считается известным в зависимости от усилий или перемещений узлов, соединения элементов между собой. МКЭ полностью ориентирован на использование ЭВМ. Это обусловлено необходимостью выполнения большого количества однотипных операций. Однако есть два важных этапа расчета, плохо поддающихся автоматизации и требующих больших затрат ручного труда - это, во-первых, подготовка и ввод исходной информации и, во-вторых, обработка и анализ результатов расчета. В настоящее время разработано много программных комплексов для расчета на прочность по МКЭ. Однако, методика подготовки исходных данных сложных конструкций, часто, не совсем удобна для пользователя. Изучение правил ввода исходных данных таких пакетов требует значительных сил и затрат времени пользователей. Диагностика ошибок выполняется после ввода всех массивов исходных данных, это в значительной мере затрудняет исправление ошибок. Поэтому важной задачей является изыскание возможностей для максимального сокращения исходных данных и автоматизации обработки обширной информации, получаемой в результате анализа сложных конструкций по МКЭ. Большие возможности по улучшению интерфейса пользователя открываются при использовании современной операционной системы Windows и языка C++. Постановка задачи Целью дипломной работы является : - разработка алгоритмов и диалоговых программ автоматизированного формирования конечно-элементных моделей оболочковых и объемных конструкций, ограниченных поверхностями произвольной формы, при минимальном объеме исходных данных; - разработка технологии создания постпроцессоров программ реализации конечно-элементного анализа пространственных конструкций; - конструирование и расчет оболочковых конструкций на прочность и жесткость. 1. Конечно-элементная дискретизация поверхностей с помощью сплайн-интерполяции 1.1. Методы триангуляции конечно-элементных моделей Метод конечных элементов находит все более широкое применение для численного решения самых разных задач. Первый этап решения задачи этим методом состоит в дискретизации рассматриваемой области на треугольники, четырехугольники, четырехгранники и т. Д. Такое разбиение несет геометрическую информацию о покрытии области элементами, с каждым из которых связано определенное число численных значений, необходимых для последующих вычислений (построение матриц, блокирование некоторых степеней свободы, решение систем, визуальное представление и т.д.). Эту информацию удобно определять как структуру данных, содержащую в сжатой и доступной форме все величины ( геометрические и числовые). Многочисленные методы построения разбиений для дву- и трехмерных областей с геометрической точки зрения подразделяются на три основных класса : 1 - построение разбиения, осуществляемого преобразованием отображения разбиения области с геометрически простой формой; 2 - построение разбиения, осуществляемое преобразованием уже существующего разбиения; 3 - прямое, элемент за элементом, построение разбиения, начиная с задания распределения точек в области или на ее границе. Из-за ряда ограничений разделить область на элементы, пользуясь только каким-то одним способом, можно только в исключительных случаях, поскольку метод построения разбиения должен : а) давать возможность обрабатывать сложные геометрические конфигурации; б) минимизировать выполняемую работу и ограничивать максимальное число требуемых данных; в) обеспечивать надежность результатов; г) наилучшим образом использовать возможности применяемых алгоритмов, которые в разной степени приспособлены к рассматриваемым геометрическим условиям ; д) давать результат, пригодный для дальнейшего использования и содержащий всю необходимую информацию в форме, обеспечивающей быстрый и удобный доступ к ней. Для построения разбиения чаще всего применяются следующие методы [ 1 ] : - построение разбиения “вручную” с представлением всей необходи- мой информации в виде структуры данных; - построение покрытия области делением нескольких крупных эле- ментов на более мелкие; - построение покрытия области элементами, начиная с задания расре- деления точек на ее границе; - построение покрытия области на основе облака точек, расределен- ных внутри области; - построение разбиения с помощью геометрического (симметрия, ло- кальное или глобальное деление, т.д.) и/или топологического преоб- разования уже существующего разбиения; - построение трехмерного разбиения с помощью такой обработки двухмерного разбиения, которая позволяет получать трехмерные элементы из двухмерных. Качество получаемого разбиения оценивается визуально или определением площадей элементов (площадь вычисляется как векторное произведение): если хотя бы одна из площадей отрицательна, то разбиение выполнено неправильно. Визуальный осмотр полезен и в тех случаях, когда отрицательных площадей нет. В большинстве случаев с помощью тел, называемых аналитическими, нельзя описать реальные механические объекты. На протяжении долгого времени выход из этого положения состоял в представлении объекта с помощью произвольно проведенных линий, взаимное сопряжение которых осуществлялось специалистами очень высокой квалификации : модельщиками, литейщиками, изготовителями штампов. Для классификации подобных зависимостей трудно было подобрать подходящие определения. Использовались такие выражения, как поверхности двойной кривизны, поверхности переменной кривизны, искривленные поверхности. На самом деле единственным общим свойством всех этих зависимостей является полное отсутствие какого бы то ни было предварительного математического определения, даже частичного, в результате чего решение задачи начиналось с выполнения последовательных шагов аппроксимации и заканчивалось вручную, каждый шаг подгонки основывался на результатах экспериментов или просто на указаниях дизайнера. Из-за недостатка информации такие зависимости иногда назывались “ экспериментальными ”. Для обработки информации на ЭВМ должна быть сформирована математическая модель поверхности изделия. Это сравнительно нетрудно сделать, когда сложная поверхность может быть разбита на элементы, каждый из которых представляет конус, сферу или участок плоскости, ограниченный отрезками прямых или дугами конических сечений. В тех случаях, когда поверхности не образуются простейшими элементами, как, например, в авиастроении, приходится искать иное решение. 1.2. Алгоритмы дискретизации поверхностей с помощью сплайнов 1.2.1. Сплайны с постоянным и переменным шагом Впервые идею математического описания поверхностей агрегатов самолета, высказал и применил на практике в 30-х годах известный советский авиаконструктор А. Бартини. Специалистам хорошо знакомы кривые Бартини [ 2 ]. В последующие десятилетия для этих целей использовались главным образом определенного вида аналитические кривые и поверхности, например кривые и поверхности второго порядка, выбором параметров которых удается описать требуемую форму деталей и агрегатов. Многообразие способов (а их известно несколько десятков) говорит о том, что все они носят узко предметный характер и непригодны в качестве основы даже для отраслевых систем обработки геометрической информации с помощью ЭВМ. Математический аппарат для инженерно-геометрических расчетов самого широкого назначения дала теория сплайн-функций. Наиболее употребительными в вычислительных методах являются полиномиальные сплайны. По сравнению с другими математическими конструкциями, используемыми для описания сложных геометрических форм, сплайны обладают тремя важными преимуществами : во-первых, лучшими аппроксимативными свойствами, что при равных информационных затратах дает большую точность или равную точность при менее информативных исходных данных; во-вторых, простотой реализации полученных на их основе алгоритмов на ЭВМ и, наконец, в-третьих, - универсальностью, позволяющей использовать одни и те же аппроксимирующие конструкции для различных геометрических объектов. Пусть отрезок [a,b] разбит на N равных частичных отрезков [xi, xi+1], где xi=a+hi, i=0 , 1, ..., N-1, xN=b, (рис. 1.). f(x) f2 f1 fi fN f0 x0=a x1 x2 xi xN=b x рис. 1. Сплайном - называется функция, которая вместе с несколькими производными непрерывна на всем заданном отрезке [a,b], а на каждом частичном отрезке [xi, xi+1] в отдельности является некоторым многочленом n-й степени : , xi Максимальная по всем частичным отрезкам степень многочленов называется степенью сплайна, разность между степенью сплайна и порядком наивысшей непрерывной на [a,b] производной - дефектом сплайна. На практике наиболее широкое применение получили кубические сплайны S3(x), имеющие на [a,b] непрерывную, по крайней мере, первую производную. Величина mi = называется наклоном сплайна в точке (узле) xi . Кубический сплайн S3(x), принимающий в узлах xi, xi+1 соответственно значения fi, fi+1, имеет на частичном отрезке [xi, xi+1] следующее выражение [ 3 ] : (1.1) Видно в (1) , что S3(xi)=fi , S3(xi+1)=fi+1 , а . Обозначим через значение в узле xi справа, найденное непосредственно из выражения (1.1), а через - значение в узле xi слева, т. е. найденное из соответствующего выражения S3(x) на частичном отрезке [xi-1, xi], которое получается из (1.1) заменой i на i-1. Имеем
Требуем непрерывность в в узлах : =, i= 1 , 2, ..., N-1, и приходим к следующей системе линейных алгебраических уравнений относительно наклонов mi : , i= 1, 2, ..., N-1 (1.2) и два краевых условия (они обычно связаны с “крайними” значениями m0 и mN). В программе использовались три варианта краевых условий : 1. Если известны , то задаем (1.3) 2. Производные аппроксимируем формулами численного дифференцирования третьего порядка точности (применение интерполяционного полинома Лагранжа [ 3 ]) и, отбрасывая остаточные члены, полагаем : (1.4) 3. В некоторых случаях бывают известны значения на концах отрезка [a,b], т. е. величины . Тогда требования приводят к краевым условиям : (1.5) Краевые условия (1.3) - (1.5) можно комбинировать, т. е. В левом и правом крайних узлах выбирать их независимо. Система (1.2) при всех рассмотренных краевых условиях имеет единственное решение [ 4 ], для нахождения которого могут быть применены методы прогонки и итераций. Решив систему (1.2) при выбранных краевых условиях, находим наклоны mi, i= 0, 1,..., N, во всех узлах. Затем по формуле (1.1) задаем сплайн на каждом частичном отрезке [xi-1, xi], i= 0, 1, ...., N-1. Построенный данным способом сплайн S3(x) имеет дефект не больше единицы, так как он обладает на отрезке [a,b] непрерывной второй производной . Если рассмотреть кубический сплайн с переменными шагами, тогда на отрезке [xj-1, xj] он имеет следующее выражение [ 4 ] : (1.1.a) взяв от которого две производные получим : Отсюда находим и
Из требований непрерывности второй производной в точках получим систему линейных алгебраических уравнений относительно наклонов mj следующего вида : (1.2.a) Краевые условия представлены в следующем виде : а) Если известны , то задаем (1.3.а) б) Производные аппроксимируем формулами численного дифференцирования третьего порядка точности (применение интерполяционного полинома Лагранжа [ 3 ] ) и, отбрасывая остаточные члены, полагаем : (1.4.a) где
в) В некоторых случаях бывают известны значения на концах отрезка [a,b], т. е. величины . Тогда требования приводят к краевым условиям : (1.5.а) Как видно (1.1) и (1.1.a) похожи, а (1.2) следует из (1.2.a) при hj = hj-1, т. е. случай с переменным шагом более общий, он и был положен в основу программы. Так как используется случай построения сплайна по трем точкам то краевые условия (1.4) и (1.4.a) выглядят следующим образом : () () где 1.2.2. Дискретизация оболочковых конструкций Процедуру дискретизации оболочковых конструкций рассмотрим на примере построения оболочки в основании которой лежит прямоугольная рама, и высотой в середине конструкции. Задано : координаты опорных точек и высота в середине конструкции : Т1= (x1, y1, z1); Т2= (x2, y2, z2); Т3= (x3, y3, z3); Т4= (x4, y4, z4); Т5= (x5, y5, z5). Задаемся граничными условиями по контуру основания, которые задают форму оболочки в местах прилегания к основанию и вводим желаемую степень дискретизации. Построение сетки узлов конечно-элементной модели (КЭМ) с помощью сплайн-интерполяции начинаем с построения кривой К0 по 3 точкам : опорной точки Т5 и 2 точкам на середине ребер основания, параллельных оси 0X. Задаемся числом участков по оси 0X и 0Y. Вычислив координаты границ участков и координаты точек на полученной кривой К0, строим с помощью сплайн-интерполяции семейство кривых К1, К2, ..., КN. Аналогично строим систему кривых К11, К12, ..., К1N, ортогональных к ранее построенным (рис. 2). В результате получаем сетку с пронумерованными узлами (рис. 3), которую “зашиваем” плоскими треугольными конечными элементами. Затем формируем файлы координат узлов и список конечных элементов (КЭ). Z T5 КN КN-1 T3 T4 X К1N Кi T1 T2 К2 Y К12 К0 К1N-1 К1 К1N рис. 2. Z 21 25 11 20 X 6 15 1 10 Y 2 3 4 5 рис. 3. 1.2.3. Дискретизация объемных конструкций Процедуру дискретизации объемных конструкций рассмотрим на примере массива, ограниченного двумя криволинейными поверхностями и 4 плоскостями. Задано : координаты опорных точек и высота каждой поверхности по отношению к своему основанию : T11= (x1, y1, z1); T21= (x1, y1, z1); T12= (x2, y2, z2); Т22= (x2, y2, z2); T13= (x3, y3, z3); Т23= (x3, y3, z3); T14= (x4, y4, z4); Т24= (x4, y4, z4); T15= (x5, y5, z5). Т25= (x5, y5, z5). Задаемся граничными условиями по контурам оснований, которые определяют форму поверхностей в местах прилегания к основаниям, и вводим желаемую степень дискретизации. Далее каждую из поверхностей разбиваем как и в пункте 1.2.2. Так как в условии вводится одна степень дискретизации для обеих поверхностей, то разбиение на конечные элементы не представляет большого труда. Каждому узлу на одной поверхности ставится в соответствие узел на другой (рис. 4) они соединены штриховыми линиями. Таким образом получаем семейство шестигранников, которые и разбиваем на конечные элементы - тетраэдры (рис. 5, 6). В результате мы получаем файлы с координатами узлов и список конечных элементов, которые составляют основу исходных данных для расчета по программам, реализующим МКЭ. Z T15 T13 T14 X T11 T12 Y T25 T23 T24 T21 T22 рис. 4. 7 8 3 4 5 6 1 2 4 a. 6 1 2 рис. 5. b. 3 4 6 1 c. 8 3 4 d. 6 7 8 3 e. 7 6 5 6 1 d. 7 3 6 1 рис. 6. 1.3. Алгоритм дискретизации изменяемой поверхности Процедуру дискретизации изменяемой поверхности рассмотрим на примере оболочки, в основании которой лежит прямоугольная рама, высотой в середине конструкции и номера узла, координата которого меняется. Задано : координаты опорных точек и высота в середине конструкции : Т1= (x1, y1, z1); Т2= (x2, y2, z2); Т3= (x3, y3, z3); Т4= (x4, y4, z4); Т5= (x5, y5, z5). Задаемся граничными условиями по контуру основания, которые задают форму оболочки в местах прилегания к основанию и вводим желаемую степень дискретизации. Далее действуя, как и в пункте 1.2.2. разбиваем поверхность и получаем сетку узлов и, введя номер изменяемого узла, его новые координаты и степень дискретизации, проводим сплайн через три точки : измененную, и ближайшие точки пересечения кривой Кi с кривыми К1 и К3. И далее с учетом дополнительно введенной степени дискретизации разбиваем на конечные элементы пространство между Кi-1 и Кi+1, а также между К1 и К3. Перенумерация узлов проводится с учетом нового условия. На рисунке 7 кружком выделен узел, координата которого была изменена. Пунктирными линиями показаны сплайны, которые были построены дополнительно. Z X К3 Y К1 Кi-1 Кi Кi+1 рис. 7. 2. Алгоритмы анализа напряженно-деформированных состояний конечно-элементных моделей пространственных конструкций 2.1. Оценка прочности и жесткости оболочковых конструкций по результатам анализа МКЭ После расчета МКЭ проводится анализ обширных массивов полученных результатов. A. Пользователю предлагается ввести допустимые перемещения относительно оси 0X [X], оси 0Y [Y], оси OZ [Z] (в миллиметрах); допустимую угловую деформацию относительно оси 0X [Ux], относительно оси 0Y[Uy], относительно оси 0Z [Uz] (в ).Из файла результатов считываются перемещения узлов X, Y, Z, Ux, Uy, Uz. Вычисляем “запас” жесткости для каждого узла : (2.1) и выводит в файл узлы с недопустимой жесткостью, со всеми числовыми значениями. B. Далее вводится допустимое напряжение [?] (в т/м2). Из файла результатов считываются напряжения в каждом конечном элементе Nx, Ny, Txy. (2.2) где . Выводим КЭ с недостаточной прочностью. 2.2. Оценка прочности и жесткости объемных конструкций После обработки данных методом конечных элементов следует провести обработку результатов расчетов, систематизировать их. A. Пользователю предлагается ввести допустимые перемещения относительно оси 0X [X], оси 0Y [Y], оси OZ [Z] (в миллиметрах). Из файла результатов считываются перемещения узлов X, Y, Z. Вычисляем “запас” жесткости для каждого узла : (2.3) и выводит в файл узлы с недопустимой жесткостью, со всеми числовыми значениями. B. Далее вводится допустимое напряжение [?] (в т/м2). Из файла результатов считываются напряжения в каждом конечном элементе Nx, Ny, Txy. где . Выводим КЭ с недостаточной прочностью. 3. Программа реализации синтеза и анализа конечно-элементных моделей пространственных конструкций Программа Sintankem состоит из 8 модулей : 1. Obolochca( ) - этот модуль считывая из файла с расширением “dat” исходную информацию о размерности модели, количестве опорных точек, количестве исследуемых поверхностей и степени дискретизации производит их обработку. Если необходимо произвести дискретизацию поверхности с особенностью то продолжается ввод из файла данных номера точки, ее координаты и дополнительную степень дискретизации, т. е. выполнение пунктов 1.2.1 - 1.2.3. В результате мы получаем файлы с координатами узлов и список конечных элементов, которые составляют основу исходных данных для расчета по программам, реализующим МКЭ. 2. Spline( ) - этот модуль составляет систему линейных алгебраических наклонов относительно наклонов сплайна mi по формулам 1.2, 1.2.а, с учетом краевых условий 1.3, 1.5, 1.3.а, 1.5.а и 1.4, 1.4.а или , . 3. Metodgauss ( ) - реализует метод Гаусса. 4. SS3( ) - реализует формулу 1.1, 1.2. 5. Rez( ) - формирует файл результатов. 6. AnalizPeremNapraj( ) - оценка прочности и жесткости оболочковых и объемных конструкций по результатам анализа МКЭ. 7. Podgotovka_grafici( ) - проводит считывание файлов данных и переводит их к плоской задаче. 8. Grafici( ) - вывод графиков на экран. Листинги программы смотри в приложении 1. На рис. 8 представлена структура программы Sintankem. 1 2 3 Есть да изменение поверхности нет рис. 8. 4. Пример расчета оболочковой конструкции На рисунке 9 приведена КЭМ конструкции, на которую действует сосредоточенная сила P=0.5 т и размерами L=0.8 м; B=0.4 м; H= 0.1 м. В результате синтеза по программе Sintankem получен файл исходных данных для расчета с помощью промышленной программы “ЛИРА”, реализующей МКЭ в перемещениях. Эти данные, а также фрагменты результатов расчета по программе “ЛИРА” приведены в приложениях 2 и 3. Затем с помощью программы Sintankem был выполнен анализ результатов расчета по “ЛИРА” с оценкой жесткости и прочности. Результаты анализа приведены в приложении 4.
|