Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Основы САПР. CAD CAM CAE

.pdf
Скачиваний:
13
Добавлен:
19.11.2023
Размер:
29.79 Mб
Скачать

Приложение К

Подход Пенга к вычислению

пересечения NURBS-noвepxнocтeй

В этом приложении дается пошаговое описание подхода Пенга.

К.1. Разбиение

Как объяснялось ранее, для каждой из пересекающихся поверхностей необходи­ мо создать непрерывное разбиение, которое затем нужно сохранить в виде квад­

рантного дерева. Поскольку рациональные (нерациональные) поверхности Безье1

разбивать проще, чем рациональные (нерациональные) поверхности В-сплайнов, мы преобразуем каждую NURВS-поверхность в множество рациональных лос­

кутоn Безье (рис. К.1).

v

Рис. К. 1. Преобраэование NURBS-noвepxнocти в рациональные лоскуты Беэье

После того как это будет проделано, пары рациональных лоскутов Безье, кото­

рые могут пересекаться, сохраняются в списке, называемом списком. соперников

(rivallist). Например, на рис. К.2 показано преобразование NURВS-поверхностей S1 и S2 (рис. К.2, а) в четыре рациональных лоскута Безье Р1, Р2, РЗ и Р4 и два рациональных лоскута Безье Q1 и Q2 соответственно. Эти рациональные лоску­

ты Безье сохраняются в квадрантных деревьях (рис. К.2, б). Обратите внимание,

что на рис. К.2, а пересечения могут возникать между лоскутами РЗ и Q1 и лос­

кутами Р4 и Q1. Поэтому данные пары записываются в список соперников

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

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

После этого проверяется, являются ли лоскуты, хранящиеся в списке соперни­

ков, достаточно плоскими для того, чтобы их можно было аппроксимировать

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

1 Рациональная nоверхность Безье nолучается из nоверхности Безье путем введения одно­

родных координат для контрольных точек.

K.l. Разбиение

523

ется достаточно плоским, он делится на четыре части. В этом случае квадрантное

дерево соответствующей поверхности обновляется с учетом этих новых лоску­

тов. Также модифицируется список соперников, так что пары, включавшие до

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

лоскутами.

51

51

.~.

011\02

б

РЗ-01 Р4-01

в

8

Рис. К.2. Представление рациональных лоскутов Беэье в виде квадрантного дерева

и его список соперников

На рис. К.З показано, как изменяется квадрантное дерево и список соперников,

когда лоскут делится на части, поскольку не прошел тест на плоскостность.

В данном примере на плоскостность проверяются лоскуты из пары P3-Q1, и лоскут Q1 делится на четыре новых лоскута: Q11, Q12, Q13 и Q14. Здесь мы

предполагаем, что лоскут РЗ прошел тест на плоскостность. Таким образом,

квадрантное дерево, изображенное на рис. К.2, б, обновляется в соответствии с

рис. К.З, б. После этого производится тест на пересечение между новыми лоску­

тами и РЗ для обновления пары P3-Q1 в исходном списке соперников. Если но­

вые лоскуты располагаются, как показано на рис. К.З, а, то пара P3-Q1 будет за­

менена на две пары P3-Q11 и P3-Q12 (рис. К.З, в).

 

 

51

 

51

А

 

~02

РЗ

~

 

Р1 Р2 РЗ Р4

011 012 013 014

б

РЗ- 011 РЗ-012 Р4- 01

в

а

Рис. К.З. Обновление квадрантного дерева и списка соперников после теста

на плоскостность

524

Приложение К. Подход Пенга к вычислению пересечения NURВS·поверхностей

 

 

 

 

К.2. Нахождение пересекающихся сегментов

Мы получили квадрантные деревья пересекающихся поверхностей и список со­

перников. Теперь можно приступить к поиску пересекающихся сегментов, начи­

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

нечные точки). Для вычисления этих конечных точек мы используем пересече­ ние двух плоскостей, поскольку все лоскуты в списке соперников уже прошли

тест на плоскостность. Обозначим эти точки как А1 и А2. Вспомните, что мы

всегда находим точные координаты соответствующих точек, когда получаем ко­

нечные точки по пересечению двух плоскостей. Конечная точка используется

как первоначальное грубое приближение для точного нахождения соответствую­ щей точки путем решения уравнения (7.50).

Теперь необходимо найти следующую пару лоскутов, которые дадут сегмент пе­

ресечения, соединенный с одним из концов текущего сегмента пересечения. До­ пустим, что мы ищем точки пересечения от А1 к А2. Соответственно, нам нужно найти пару, которая даст сегмент пересечения с точкой А2. Процедура нахожде­

ния следующей пары показана на рис. К.4. Следующая пара, Х1-У2, находится после получения текущей точки пересечения А2 из текущей пары, Х1-У1, сле­ дующим образом.

Лоскут У1

Лоскут Х1

Рис. К.4. Поиск следующей пары

ООпределяется местоположение текущей точки пересечения, в данном случае А2, по отношению к лоскутам текущей пары. Таким образом, А2 на"одится на

границе лоскута У1 и внутри лоскута Х1.

ОЛоскут, полностью содержащий в себе текущую точку пересечеюfя, то есть

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

ем один из лоскутов, соседствующих с У1, в качестве второго лоскута для

следующей пары. Выбор определяется местоположением текущей точки пе­ ресечения относительно У1. В данном случае мы выбираем правыit соседний

лоскут, поскольку текущая точка пересечения А2 находится на праnой грани­ це лоскута У1. Затем мы вычисляем точки пересечения для этой новой пары, и для поиска следующей пары роль текущей точки пересечения оозьмет на

себя другая точка, отличная от А2.

К.2. Нахождение пересекающихся сегментов

525

Эта процедура завершается, когда точка пересечения достигнет границы одной

из пересекающихся поверхностей (рис. К.5). После этого точки пересечения про­

ходятел в обратном порядке, начиная с исходного сегмента пересечения. Можно

считать, что текущая кривая пересечения получена полностью, если она превра­

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

полнив поиск точек пересечения от одной из пар в списке соперников, которая

не участвовала в вычислении уже полученных кривых пересечения. Так, если

мы не оставим в списке соперников ни одной пары, которая бы не участвовала

в вычислении какой-либо кривой, то мы тем самым найдем все кривые пересе­

чения.

Рис. К.5. Обратный поиск

Приложение Л

Формулировка системных уравнений

конечноэлементного анализа на базе основного дифференциального

уравнения

В разделе 8.2 мы рассматривали формулировку и решение системных уравнений

конечноэлементного анализа непосредственно на основе интегрального уравне­

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

инженеров знакомы с уравнениями равновесия, выраженными в виде дифферен­ циальных уравнений. Например, уравнения равновесия для задач, связанных с

распространением тепла, вибрацией и потоком жидкости, обычно выражены в

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

ноэлементного анализа на базе основного дифференциального уравнения1

Метод взвешетtых остатков (тethod of weighted residuals) -это численный метод

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

дифференциальному уравнению и его геометрическим граничным условиям.

Приближенное решение обычно дается в виде линейной комбинации известных

функций с неизвестными коэффициентами. Эти известные функции эквива­

лентны функциям формы, а неизвестные коэффициенты эквивалентны смеще­

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

Соответственно, решение исходного дифференциального уравнения эквивалент­ но устремлению этого остатка к нулювнекотором усредненном смысле во всей

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

интегральные уравнения решаются относительно неизвестных коэффициентов,

и таким образом получается приближенное решение.

Рассмотрим каждый шаг несколько более подробно. Прежде всего будем счи­

тать, что основное дифференциальное уравнение имеет вид

1 Вариационный метод основан на мюшмизации соответствующего функционала, эквива­

лентного дифференциальному уравнению равновесия, и может быть использован длS\ формулировки уравнений конечноэлементного анализа из основного дифференциально­

го уравнения. Однако метод взвешеш1ых остатков можно исnользовать даже в том слу­ чае, когда функционала, эквивалентного дифференциальному уравнению равновесия, н~

существует. Формулировка уравненш1 с nомощью вариационного метода представлещ в [ 166] и [145].

Формулировка системных уравнений конечноэлементного анализа

527

 

L{<p)- f =0

(Л.1)

в области континуума D. Допустим также, что граничные условия таковы:

= Ф на В.

Здесь <р - это зависимая переменная, относительно которой ищется решение,f- известная функция независимых переменных, L- линейный или дифференци­ альный оператор, аВ-граница области D.

Начнем с того, что зададимся приближенным решением <р0:

n

 

<р:;: <i>u =LC;g;,

(Л.2)

i·l

где С; - это неизвестные коэффициенты, относительно которых ищется реше­ ние, а g; - припятые нами известные функции независимых переменных. Под­

становка (Л.2) в (Л.1) дает неиулевое значение L{<p.. )- J, поскольку <р.. является

приближенным решением. Обозначим это иенулевое значение как остаток R, вы­

ражаемый формулой

(Л.З)

Чтобы минимизировать R во всей области решений, определим взвешенное

среднее значение, которое должно стремиться к нулю во всей области:

fRW;dD = J[L(<p.. )- f]W;dD =0,

(Л.4)

D

D

 

где W;- это весовые коэффициенты. Подставляя в уравнение (Л.4) n различных весовых коэффициентов, мы можем получить систему из n уравнений, из кото­ рой можно определить неизвестные С; (i = 1, 2, ..., n).

Эти весовые коэффициенты могут быть выбраны по различным критериям. В методе Галеркина, например, в качестве W; используются известные функции g; из уравнения (Л.2). В этом случае система уравнений для метода Галеркипа

принимает вид

fRg;dD= f[L<<i>a)-f]g;dD=O i=1,2, ... ,n.

(Л.S)

DD

Впримере Л.1 мы покажем, как использовать метод Галеркипа для формулировки уравнений конечноэлементного анализа в задаче распространения тепла. Приме­

неине метода Галеркипа к решению других типов задач описывается в [145].

ПримерЛ.1

Рассмотрим одномерную задачу распространения тепла, представленную на

рис. Л.1, а: температура стержня изменяется только в осевом направлении. Смо­

Делировав стержень в виде совокупности линейных элементов с двумя узлами

(рис. Л.1, б), вывести системные уравнения конечноэлементного анализа с ис­

пользованием метода Галеркина. Теплопроводность материала равна k, коэффи­

циент конвективного теплообмена равен h, окружающая температура равна т...

а интенсивность теплообразования в единице объема равна Q. Предположим,

что излучательным теплообменом можно пренебречь.

528

Приложение л. Формулировка системных уравнений конечноэлементного анализа

 

Граничная

 

 

 

 

 

 

 

 

конвекция

 

 

 

 

 

 

 

Потоктема

 

 

 

Потоктепла

 

 

 

через границы _,..

.,_ через границы

 

 

 

 

 

Граничная

 

 

 

 

 

конвекция

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

в

 

 

 

 

-

 

j

 

 

 

 

 

 

 

 

 

 

 

(m)

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в

 

 

 

 

 

 

 

 

 

 

 

 

Рис. Л.1. Пример одномерной задачи распространения тепла

Решение

Как можно узнать из большинства учебников по распространению тепла, основ­

ное уравнение для температуры Т в стержне имеет вид

d( dT)

(Л.6)

dx kA dx -hP(T-Ta)+QA =0.

 

Применяя метод взвешенных остатков, получаем

 

~Jv<т>w[; ~(kA :)-hP(T -Та)+QA]dv<т> =0 (i = 1, 2, ... , n),

(Л.7)

где n - это общее число узлов, а знак суммирования т обозначает суммирование

по всем элементам.

Для конкретного случая метода Галеркипа уравнение (Л.7) принимает вид

 

~Jv<т>N[~(kA :)-hP(T -Та)+QA]dv<•п> =0,

(Л.8)

где матрица-столбец N - это матрица функций формы. Таким образом, (Л.8) представляет собой систему из n уравнений, каждое из которых соответствует одному из элементов N. Матрица функций формы была определена, когда было

сделано предположение о распределении температуры в стержне:

 

Т = Nтt,

(Л.9)

где t - это матрица-столбец температур в узловых точках.

Временно проигнорируем символ суммы в уравнении (Л.8), поскольку мы легко сможем произвести суммирование, когда выведем общее выражение для элемен­ та т. Типичный элемент т соединяет узлы i иj с координатами Х; и Xj соответст­ венно (рис. Л.1, в). Исходя из этого, (Л.8) можно переписать так:

J:: AN[~(kA :)-hP(T-T0

)+ QA]dx =0.

(Л.1(})

 

 

Формулировка системных уравнений конечноэлементного анализа

529

Обратите внимание, что элемент объема dv заменяется на А dx, где А - это пло­

щадь поперечного сечения в точке Х.

Интегрируя первое слагаемое по частям и опустив постоянную площадь, полу­

чим

NkAdTixi

-J~1 dN kA dT dx -Jx1 NhPTdx + Jxi NhPTadx + Jxi NQAdx =0. (Л.11)

dx Х;

Х; dx

dx

Х;

Х;

Х;

Когда будет выполнено суммирование по всем элементам, первое слагаемое каж­

дого элемента в уравнении (Л.11), кроме первого и последнего, уничтожится, по­

скольку в следующий элемент входит такое же слагаемое с обратным знаком. Поэтому данное слагаемое достаточно выч~:~слить только для элементов с номе­ рами 1 и М, если считать, что элементы нумеруются последовательно, а М - это общее число элементов.

Чтобы вычислить это слагаемое для первого и последнего элемента, рассмотрим один из концов тела (рис. Л.2). Внешний поток тепла обозначен как q., поток тепла, обусловленный теплопроводностью, - qX1 а поток тепла за счет конвек­

ции- qcv.

~1

Рис. Л.2. Теnлообмен на границе в одномерной задаче расnространения теnла

Баланс энергии на этом конце тела дает

q:r

+ q. = qCIJ,

 

или

 

 

q~.

= qcv -q,.

(Л.12)

Мы знаем, что поток тепла, обусловленный теплопроводностью, согласно закону

теплопроводности Фурье может быть выражен в виде

qx

dT

(Л.13)

= -k dx'

Используя формулы (Л.12) и (Л.13), можно вывести следующее выражение для

NkA dT в уравнении (Л.11)1 прих= ~:

dx

(Л.14)

={-NhiAi(T-Tиi)+NAiqi}l ={-NhiAiT+NhiAiTai +NAiqi}l .

X~j

X~j

1Поток тепла за счет конвекции qcv равен hi(T- Tuj), где Taj- это окружающая температура при х =Xj. Более того, q,, в точке х =Xj заменяется на qi в узле j. Вспомните, что точка

х=Xj обозначает один из концов стержня.

530

Приложение Л. Формулировка системных уравнений конечноэлементного анализа

 

dT

 

Аналогичное выражение получается для NkA dx при х = ~:

 

 

-NkA:I . . = {-Nh;A;T+Nh;A;Tai +NA;q;}l

(Л.15)

 

•~i

xdi

Обратите внимание, что равенство (Л.14) выполняется только для последнего элемента, а равенство (Л.15) - только для первого элемента, как было сказано

ранее.

Подставляя уравнения (Л.9), (Л.14) и (Л.15) в уравнение (Л.11), получим:

(-NhjAjN,.T+NhjAJ:d +NAjqj)lx=xi+

+ (-Nh;A;N

,.~

 

1

 

(Л.16)

Т+ Nh;A;J:,;

+ NA;q;) _,·=х,-

 

- fxi dN kA dNт Tdx -fxi NhPNтtdx+ fxi NhPT dx + fxi NQAdx =0.

Xi rJx

rJx

Х1

х1

а

х1

Вынося t за пределы интегрирования в уравнении (Л.16), получаем следующее

уравнение для элемента m:

(Л.17)

где матрица жесткости элемента к<т> состоит из трех матриц жесткости, или

матриц проводимостей:

(Л.18)

а узловой вектор силы элемента f<т> состоит из четырех векторов силы:

f(m) = f(m)

+ f(m)

+ f(m)

+ f(m)

(Л.19)

"''

Q

cvB

qB

 

Матрицы в уравнениях (Л.18) и (Л.19) определяются следующим образом:

к<_т>

= fxi

dN kA dNт dx·

.t

х,

dx

dx

'

к<т> = fxj NhpNT dx·

 

 

c.:v

Х;

'

 

К~'1 = Nh;A;Nтlx=x, +NhjAjNтl_,·=xi;

f<m> = fxi NhPT dx·

cv Х; а '

flm)

= JX i NqAdx·

Q

х,

'

f~;> = Nq;A;I_,.=x, +NqjAJ,-=xi.

Имея все матрицы жесткости и узловые векторы силы элементов, мы суммируем нх, чтобы получить системную матрицу жесткости и узловой вектор силы в фор­

ме, данной в главе 8. Слагаемые с символом В в нижних индексах имеют иенуле­

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

Приложение М

Сравнение САD-систем на платформе

Windows1

1 Источиик: Computel· Gmpllics \Voгld. Vol. 20, No. 5, Мау 1997, PennWe\1 PuЬiishing

Сашраnу.

Соседние файлы в папке книги