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

Козин Математическое моделирование Учебное пособие 2008

.pdf
Скачиваний:
184
Добавлен:
16.08.2013
Размер:
1.75 Mб
Скачать

Рис. 21 Вид поверхности ранее оптимизированного поля T (x, y) для семи источников после увеличения числа слагаемых в разложении

Рис.22. Показано оптимальное положение семи источников

7.9. Результаты исследования модели

Исследования, проведенные с помощью построенной модели и ее программной реализации, показали:

оптимизация температурного поля в предложенной постановке возможна (сравните рис. 13 и рис. 17);

методы оптимизации МНС и МДМ более трудоемкие по сравнению с МПС, а в качестве оптимизации не дают ни каких выгод;

чем больше слагаемых используется в разложении для аппроксимации поля, тем выше значения градиентных составляющих в функционале качества оптимизации и более четко обозначаются на поверхности поля местоположение источников (см. рис. 17 и 19 – четыре источника; рис. 19 и 20 – семь источников; в обоих случаях первоначально было 10*5 слагаемых, а затем - 20*10);

увеличение числа источников позволяет улучшить качество оптимизированного температурного поля (функционал для случая четырех источников (рис. 19) равен 0,3744, для семи (рис. 21) – 0,211);

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

если при первоначальном задании параметров источников руководствоваться рекомендациями параграфа 7.4, то итерационный процесс оптимизации сходиться достаточно быстро (за 6 итераций). Рассчитанное оптимальное положение четырех и семи источников показано, соответственно, на рис. 18 и рис. 22.

7

8. Построение оптимального температурного поля для плоской усеченной прямоугольной области.

8.1. Формулировка задачи.

 

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

усеченной

прямоугольной области (рис. 1).

 

Рис.1. Форма усеченной прямоугольной области

8.2.Математическая постановка задачи.

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

а. Уравнение теплопроводности (применяется только для внутренних узлов сетки)

Ti+ 1 j 2Tij + Ti1 j

+

Tij+ 1 2Tij + Tij1

= − qij (1)

2

2

hx

 

hy

 

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

«размазывается» вокруг узла по прямоугольной области размера s = hx hy )

 

 

 

qijнепр =

ò qijнепрδ (x xi )δ ( y

y j )dxdy = ò qijдискр dxdy = qijдискр hx hy

 

 

 

 

 

 

s

s

где hx =

lx

, hy

=

1

 

- шаги сетки по соответствующим осям.

N x

N y

 

 

 

 

 

б. Граничные условия

7

 

Границы теплоизолированные (

T

 

=

 

n

 

 

 

·

на левой стороне области: T0 j = T1 j

 

·

на нижней стороне области: Ti0

= Ti1

0, n - внешняя нормаль):

j= 1..N y i = 1..N x

Границы с теплопотерями ( Tn = - hT ):

·на нижней части правой стороны области:

 

TN X j TN X − 1 j

 

= - hT

 

Þ

T

 

 

 

=

T

 

 

 

 

 

1

 

 

 

,

 

j = 1..M

 

- 1

 

hx

 

N X j

N X

j

N X

1 j (1+ hhx )

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TN X MY - TN X − 1MY − 1

=

- hT

NX MY

Þ

 

 

T

N X MY

 

= T

N X − 1MY

− 1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hx2 + hy2

 

 

 

 

 

(1+ h hx2 + hy2 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

· на левой части верхней стороны области:

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TiNY

= TiNY − 1

 

 

 

 

 

,

i = 1..M x - 1

 

 

 

 

 

 

 

(1+

hhy )

 

 

 

 

 

 

 

TM X NY = TM X − 1N y − 1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1+ h

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

hx2 + hy2

 

 

 

 

 

 

 

 

· на правой части верхней стороны области:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TiMY =

TiMY − 1

 

 

1

 

 

 

,

 

i =

M x + 1..N x

- 1

 

 

 

 

 

 

(1+

hhy )

 

 

 

 

 

 

 

TM X MY = TM X − 1M y − 1

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1+ h

 

 

 

 

 

)

 

 

 

 

 

 

 

 

 

 

 

hx2 + hy2

 

 

 

 

 

 

 

 

· на верхней части правой стороны области:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TM X j =

TM X − 1 j

 

1

 

 

 

, j = M y + 1..N y - 1

 

 

 

 

 

(1+ hhx )

 

 

 

в. Критерий оптимальности температурного поля

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

 

 

 

 

 

 

 

 

 

 

 

 

grad(T )

 

= (

Ti+ 1 j - Ti− 1 j

)2

+ (

Tij + 1 - Tij − 1

)2

 

 

 

 

 

 

 

 

ij

 

 

 

 

2hx

 

 

2hy

 

 

 

 

 

 

 

 

г. Ограничения на параметры источников: qij > 0; i, j

- внутренние узлы сетки и в узле

может размещаться только один источник.

 

 

 

 

 

 

 

8.3. Решение температурной задачи

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

7

слоем, снизу – вверх; при этом учитывается возможное вырождение усеченной области в чисто прямоугольную, когда M x = N x , M y = N y .

Впределах одной итерации выполняются следующие действия:

1.Пересчет температуры во внутренних точках

T11 = g1T21 + g2T12 + g3q11

 

 

 

 

 

 

for i = 2, N x - 2

{ Ti1

= b1 (Ti+ 11 + Ti− 11 ) + b2Ti2 + b3qi1 }

 

 

 

 

TN X − 11 = d1TN X − 2 1 + d2TN X − 1 2 + d3qN X − 11

 

 

 

 

 

for j = 2, M y - 2

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

T1 j = c1T2 j + c2 (T1 j+ 1 + T1 j− 1 ) + c3q1 j

 

 

 

 

 

for i =

2, N x - 2

{ Tij = a1 (Ti+ 1 j + Ti− 1 j ) + a2 (Ti j+ 1 +

Ti

j− 1 ) +

a3qij }

TN X − 1 j = e1TN X − 2 j + e2 (TN X − 1 j+ 1 + TN X − 1 j− 1 ) + e3qN X − 1 j

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

if M x ¹ N x then

 

 

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

T1MY − 1 = c1T2 MY − 1 + c2 (T1 MY + T1 MY − 2 ) + c3q1 MY − 1

 

 

 

 

 

for i =

2, M x - 1

{ Ti MY − 1 =

a1 (Ti+ 1 MY − 1 + Ti− 1 MY − 1 ) +

a2 (Ti MY

+ Ti MY − 2 ) + a3qi MY − 1 }

for i =

M x , N x -

2

{ Ti MY − 1

= k1 (Ti+ 1 MY − 1 + Ti− 1 MY − 1 ) +

k2Ti MY − 2

+ k3qi MY − 1 }

TN X − 1 MY − 1 = z1TN X − 2 MY − 1 + z2TNX − 1 MY − 2 + z3qN X − 1 MY − 1

 

 

 

 

 

for j =

M y , N y

-

2

 

 

 

 

 

 

 

{

 

 

 

 

 

 

 

 

 

 

T1 j = c1T2 j + c2 (T1 j+ 1 + T1 j− 1 ) + c3q1 j

 

 

 

 

 

for i = 2, M x

-

2

{ Tij = a1 (Ti+ 1 j + Ti− 1 j ) + a2 (Ti j+ 1 + Ti

j− 1 ) +

a3qij }

TM X − 1 j = e1TM X − 2 j + e2 (TM X − 1 j+ 1 + TM X − 1 j− 1 ) + e3qM X − 1 j

 

 

 

}

 

 

 

 

 

 

 

 

 

 

}

 

 

 

 

 

 

 

 

 

 

T1 NY − 1 = u1T2 NY − 1 + u2T1 NY − 2 + u3q1 NY − 1

 

 

 

 

 

for i = 2, M x - 2

{ Ti NY − 1 = k1 (Ti+ 1 NY − 1 + Ti− 1 NY − 1 ) + k2Ti NY − 2

+

k3qi NY − 1 }

TM X − 1 NY − 1 = z1TM X − 2 NY − 1 + z2TM X − 1 NY − 2 + z3qM X − 1 NY − 1

Здесь

7

a1 =

b1 =

c1 =

d3 =

e3 =

g1 =

z3 =

u3 =

k3 =

h2

,

a2

=

Y

 

 

 

2(hx2 + hy2 )

 

 

 

h2

,

b2

=

Y

 

 

 

(hx2 + 2hy2 )

 

 

 

 

h2

,

c2

=

Y

 

 

 

(2hx2 + hy2 )

 

h2

 

 

 

a

 

 

a h

2

 

x

 

 

,

3

=

 

 

 

 

 

 

2(hx2 + hy2 )

 

 

 

 

1 x

 

 

 

 

 

 

 

 

 

h2

 

 

 

b

 

 

b h2

 

 

x

 

 

,

 

=

 

 

 

 

 

 

 

(hx2 + 2hy2 )

 

 

3

 

1 x

 

 

 

 

 

 

 

 

 

h2

 

 

 

c

 

 

 

c h2

 

 

x

 

 

,

3

=

 

 

 

 

 

 

(2hx2 +

hy2 )

 

 

 

1 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

, d1

=

 

d3

 

, d2 =

 

d3

2

 

+

1

 

1

 

 

 

 

hx2

 

 

hy2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

hx2

 

 

hy2

 

 

hx2 (1+ hx h)

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

, e =

e3

 

, e

2

=

e3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

+

2

 

 

1

 

 

 

 

 

1

 

hx2

 

 

 

hy2

 

 

 

 

 

 

 

 

 

 

 

 

(

hx2

hy2

 

hx2 (1+ hx h)

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

,

 

 

g2 =

h2

 

,

g3 = g1hx2

 

 

 

 

 

 

 

 

 

Y

 

 

 

 

 

 

x

 

 

 

 

 

 

(hx2 + hy2 )

 

 

(hx2 + hy2 )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

(

2

+

2

 

1

hx2

hy2

 

hx2 (1+ hx h)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

(

1

 

 

+

2

 

1

)

hx2

 

 

hy2

 

 

hy2 (1+ hy h)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

(

2

 

+

2

 

1

)

hx2

 

hy2

 

 

hy2 (1+ hy h)

 

 

 

 

 

 

 

 

 

 

1

 

 

 

)

 

hy2 (1+

hy h)

,

u

=

u3

,

 

 

 

 

 

1

 

hx2

 

 

 

 

 

 

 

,

k1

=

k3

 

,

 

hx2

 

 

 

 

 

 

, z1 =

z3

,

z2 =

z3

hx2

hy2

 

 

 

u2 = u3 hy2

k2 = k3 hy2

2. Пересчет температуры в граничных точках через значения температуры во внутренних узлах сетки по формулам, приведенным в предыдущем параграфе 8.2.

Критерии выхода из итерационного процесса:

max

T k

T k − 1

< eps

i, j

i j

i j

 

 

 

 

 

it > it _ max

где eps - требуемая точность (0.00001); it, it _ max - номер текущей итерации и заданное максимальное число итераций (1000).

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

При программной реализации для температуры и параметров источников (мощность, координаты) использовались следующие массивы: T (N x , N y ), q(kq ), ij(kq ,2) . Это приводит к «перерасходу» памяти, но существенно упрощает логику программы.

8.4. Решение задачи оптимизации.

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

7

возможен выбор между МПС и МНС. Спуск осуществляется в соответствии с алгоритмом, описанным параграфе (6) предыдущего раздела (с отступлением и дроблением шага при переходе через минимум функционала или при нарушении наложенных на параметры ограничений). В реализованной программе допускается альтернативный выбор начального шага спуска как для дискретных (2 или 4 узла), так и непрерывных (5 или 10) параметров. Таким образом, имеется возможность исследовать влияние на скорость оптимизации следующих факторов: большой шаг – быстрый спуск, но при этом увеличивается число итераций при расчете температуры методом Зейделя и выполняется большее число шагов отступления.

8.5. Графическое представление результатов.

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

где

a = Tij , b = Ti+ 1

i = int( x ), j = hx

T (x, y) = a + bδ x + cδ y + dδ xδ y

j Tij , c = Ti j+ 1 Tij , d = Ti+ 1 j+ 1 Ti+ 1 j Ti j+ 1 Tij

int(

y

), δ x =

x mod h

x

, δ y =

y mod hy

hy

hx

 

hy

 

 

 

 

8.6. Программная реализация задачи оптимизации температурного поля.

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

M x = 10, N x = 20, M y = 5, N y = 10 . Первоначально берется пять источников с суммарной

безразмерной мощностью, равной

3

 

= 300

(рис. 2). Источники равномерно

0,1*

0,1

 

 

 

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

T (x, y) = 0 , представляющий собой плоскость, изображается треугольной сеткой). Затем,

для данных начальных параметров источников решается задача оптимизации (рис. 5). При этом значение функционала качества температурного поля уменьшается с 0,591 до 0.2482. Трехмерный график температурного поля для оптимальных значений параметров источников приведен на рис. 6.

7

Рис. 2. Ввод исходных параметров источников

Рис. 3. Распределение температурного поля для исходных параметров источников

7

Рис. 4. Линии уровня температурного поля для исходных параметров источников

Рис. 5. Состояние панели по окончанию оптимизации

7

Рис. 6. Распределение температурного поля после оптимизации параметров источников

9. Задача оптимизации температурного поля для произвольной области и при наличии нелинейности.

9.1. Формулировка задачи.

Требуется оптимизировать характеристики точечных источников энергии, обеспечивающих равномерное стационарное температурное поле величины Tf в

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

температуры следующим образом k = k0 (1+ k1T + k2T 2 ) . Это усложненный вариант задачи, описанной в разделе 7.

9.2. Математическая постановка задачи.

а. Уравнение стационарной теплопроводности

 

Iq − 1

 

 

 

Ñ (k(T )Ñ T ) = - å

qiδ (x - xi

(y - yi ) º - Q(x, y),

(x, y) Î S

(1)

 

i= 0

 

 

 

 

б. Граничные условия

 

 

 

 

T = 0, (x, y) Γ 1

 

 

 

 

T

=

- h(x, y)T,

(x, y) Î G 2

(2)

 

 

 

 

 

 

n

 

 

 

 

Здесь

7

x

º

x

 

, y º

y

, T

º

 

 

T - T

, qi º

qi ly2

 

, h º

hly

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

- безразмерные величины,

ly

 

ly

 

Tf

- T0

k0 (Tf - T0 )

k0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l

y - характерный размер области S вдоль оси

y

,

T

- температура окружающей среды,

 

 

0

n

 

-

 

внешняя

 

нормаль

к

границе

 

области,

Iq - общее число

источников,

Ñ u =

 

= i

u

+

 

 

 

u

 

 

h(x, y) -

 

 

grad(u)

,

кусочно-непрерывная функция,

принимающая

 

j

x

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

постоянные значения на фиксированных участках границы G 2

 

h(x, y) = hi (³

0),

 

xнi

, yнi £

 

x, y £

xкi , yкi ,

(x, y) Î

G 2

- для i - го участка границы.

в. Функционал качества оптимизации температурного поля имеет вид 4 из раздела 7.

г. Ограничения на параметры оптимизации: координаты источников энергии (xi , yi ) Î S , а их мощности qi > 0 .

9.3. Решение температурной задачи методом конечного элемента (МКЭ).

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

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

Рис. 1. Пример задания треугольных элементов над заданной областью

Над каждым треугольным элементом e заменим искомую функцию T (x, y)

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

T e (x, y) = å2 Tne (i)uie (x, y)

(3)

i= 0

 

где i - локальный номер вершины элемента, ne (i) - номер i - ой вершины e - го элемента в общей нумерации глобальной треугольной сетке узлов, а uie (x, y) - многочлены вида

uie (x, y) = Aie + Bie x + Cie y

(4)

Многочлены определены только над плоскостью треугольника (вне треугольника uie (x, y) º 0) и удовлетворяют условиям (i, j =0,1,2)

8

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]