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

Основы научных исследований в электроэнергетике. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Таблица 2.2 – Оригиналы и изображения функций по Лапласу
e
te
t
tsin
e
e
t
t
tcos

0t


dt
dt
dt
Ори-
гинал
tf
Изобра-
жение по
Лапласу
Оригинал
tf
Изображе-
ние по Лап-
ласу
sf
Оригинал
tf
Изображение
по Лапласу
sf
t
1
t
1
t
t 1/s
tn n!/s
1
1/s
n+1
/s
2
t
tn
sint
cost
1/
s
1/
n!/
s
/
s/
2
s
1n
22
s te
22
s te
tx
t
sin
t
cos
2s/
s /
/
s /
s
22
s
sx
s
2
s
s
2
t
Изображение по Лапласу для производной функции равно
0fssf
. При нулевых начальных условиях, когда при
функция и
все её производные равны нулю, изображение по Лапласу для производ­ной функции
третьей –
3
ssf , изображение для второй производной
sfs
.
2
sfs
, для
sf
2
22
2
22
2
s
2
При помощи преобразования Лапласа можно найти начальное и ко-
нечное значения функции без вычисления ее оригинала:
sff lim0 ;
s
lim
sff .
0
s
Рассмотрим порядок решения линейных ОДУ при помощи преобра-
зований Лапласа. Пусть дано линейное ОДУ с нулевыми начальными ус­ловиями
n
yd
a
n
a
n
n
1
yd
n
01
1
... .
n
1
dy
 
a
tRya
Применим к данному ОДУ прямое преобразование Лапласа: функ­ции времени y и
n
sn
В полученном уравнении
n
ns
tR заменим их изображениями по Лапласу
n
1
sn
01
1
n
n
01
1
... .
1
... .
ss
y можно вынести за скобки
s
sRyasyasyasya
sRasasasay
y и
s
sR
Из этого уравнения легко найти изображение по Лапласу искомой
функции
sR
y
s
n
n
1
n
1
n
... asasasa
.
01
Числитель и знаменатель полученного выражения представляют со-
бой полиномы относительно комплексной переменной s, обозначим
sR
 
sF
n
n
n
1
n
01
1
...
asasasa
41
С помощью алгебраических преобразований функцию






sF надо
представить в виде суммы табличных изображений по Лапласу (таблица
2.2)
21
...
sfsfsfsF
.
p
К функции
21
...
sfsfsfsF
применяется обратное пре-
p
образование Лапласа, а так как к обратному преобразованию Лапласа применим принцип суперпозиции, то следует применить обратные преоб­разования Лапласа к функциям
tf
(таблица 2.2). Решение линейного ОДУ имеет вид
j
...
21
tftftfy
.
p
sf
, которые заменяются на оригиналы
j
В программе Maple можно получить аналитические решения некото­рых дифференциальных уравнений. Для этого применяется команда dsolve(eq,var,options), где eq – дифференциальное уравнение, var – неиз­вестные функции, options – параметры. Параметры могут указывать метод решения задачи, например, по умолчанию ищется аналитическое решение: type=exact. При составлении дифференциальных уравнений для обозначе­ния производной применяется команда diff, например, дифференциальное
уравнение xyy
//
записывается в виде: diff(y(x),x$2)+y(x)=x.
Общее решение дифференциального уравнения зависит от произ­вольных постоянных, число которых равно порядку дифференциального уравнения. В программе Maple такие постоянные, как правило, обознача­ются как _С1, _С2, и т.д.
Общее решение неоднородного линейного дифференциального уравнения всегда выводится так, чтобы была четко видна структура этого решения. Как известно, общее решение неоднородного линейного диффе­ренциального уравнения равно сумме общего решения соответствующего однородного дифференциального уравнения и частного решения этого же неоднородного дифференциального уравнения, поэтому в строке вывода решение неоднородного линейного дифференциального уравнения всегда состоит из слагаемых, которые содержат произвольные постоянные (это общее решение соответствующего однородного дифференциального урав­нения), и слагаемых без произвольных постоянных (это частное решение этого же неоднородного дифференциального уравнения).
Команда dsolve выдает решение дифференциального уравнения в не­вычисляемом формате. Для того, чтобы с решением можно было бы рабо­тать далее (например, построить график решения) следует отделить пра­вую часть полученного решения командой rhs(%).
2.5.4. Численное решение ОДУ
Наиболее простым методом численного решения ОДУ является ме­тод Эйлера. Дано дифференциальное уравнение
42
dx
dy
0x


...,2,1k

6







yxf
, , (2.7)
где x – независимая переменная;
y – функция.
Для уравнения (2.7) известны начальные условия:
0;0 yyx
где
y – значение функции при
0
,
0
.
Значение функции y, удовлетворяющее уравнению (2.7), при (на k-ой итерации) равно
,
xyxfhxyxy , (2.8)
111
kkkkk
где
xy – значение функции y при
1k
h – приращение аргумента (
k
,
xyxf – значение правой части уравнения (2.7), вычисленное
11
kk
при
xx
1k
xyy .
1k
Задавая малое приращение аргумента
xx ;
1k
xxh );
1
kkk
h по формуле (2.8) можно
k
вычислить значения функции y для разных значений аргумента (
), которые являются численным решением уравнения (2.7).
xx
k
x
k
Метод Эйлера не обладает высокой точностью. Более точным мето­дом численного решения ОДУ является модифицированный метод Эйлера. Согласно указанному методу решение уравнения (2.7) ищется следующим образом. Вычисляют по формуле (2.8) прогноз функции y при
рый обозначается
где
xyxf , – значение правой части уравнения (2.7), вычисленное при
kk
xx
и
k
xy , затем рассчитывают коррекцию функции
k
xyxfxyxfhxyxy ,,5,0
, (2.9)
kkkkkkk
xyy .
k
111
xx
, кото-
k
Более точные численные решения ОДУ позволяет получить метод Рунге-Кутты. Согласно этому методу значение функции y, удовлетворяю­щее уравнению (2.7), при
xx
(на k-ой итерации) определяется по фор-
k
муле
h
где
z , 2z , 3z , 4z – некоторые числа, определяемые расчётом.
1
xyxy
kk
,
k
xyxfz ;
111
kk
22
kkk
5,0,5,0 zxyhxfz
zzzz
, (2.10)
43211
5,0,5,0 zxyhxfz
;
kkk
;
2113
1112
, zxyhxfz
kkk
.
3114
Уравнение (2.7) – ОДУ первого порядка. Рассмотренные методы численного решения ОДУ могут быть применены к ОДУ n-го порядка со
старшей производной
n
y , представленной в линейном виде. В этом слу-
чае ОДУ n-го порядка можно записать в виде
43
n
dx



dxdydxdydx
dx
dx
dx


5
dx
1k

yd
     
n
121
...,,,,,
nn
yyyyxfy
. (2.11)
Для уравнения (2.11) заданы начальные условия:
1
0
21
0
0
12
0...;;0;0;0;0
1
nn
yyyyyyyyx .
0
Уравнение (2.11) надо представить в виде системы ОДУ, в левых частях которых будут только первые производные, для чего вводятся обо­значения:
1
2
1
...;;;
2
1
n
yyyyyy .
1
n
С учётом принятых обозначений:
n121
dy
nn
;...;;;
n
n
.
dy
y
dy
y
21
1
y
Для уравнения (2.11) система имеет вид:
dy
;
y
dx
1
1
n
n
;
y
2
.........
2
1
;
y
1
n
(2.12)
....,,,,,
yyyyxf
121
n
dx dy
dx
dy
dy
Уравнения системы (2.12) содержат только первые производные, а следовательно для решения этих уравнений могут быть применены выше описанные методы.
Рассмотрим пример. Дано ОДУ ные условия следующие:
123
21
122835
yyyy . Началь-
2,00;2,10;20;0
yyyx . Запишем
заданное уравнение в виде
12
yyy
28312
 
3
y 4,06,16,04,2
.
   
12
yyy
Представим в виде системы
dy
;
y
dx dy
dx
dy
На первой итерации (
20y ,
1
1
2
;
y
2
y ,
1
.4,06,16,04,2
yyy
12
, 0
x , 01,0
1k
2,10
y ) для первого уравнения системы имеем:
2
2,00
hh
1
k
, 01,001,00
x ,
1
44
yz ;



6
6



6
6








6
6
2k
11
 
1
2,10
zyz ;
213
0
1
zyz ;
112
1,28,15,02,15,00
8,12,15,02,15,00
zyz .
314
01,0
23,31,228,122,1
020,23,12
hyxy .
3,31,22,10
Для второго уравнения:
yz ;
21
 
2,00
zyz ;
223
1
0
111
zyz ;
122
35,03,05,02,05,00
3,02,05,02,05,00
zyz .
324
01,0
2,155,035,023,022,0
hyxy .
55,035,02,00
203,105,2
Для третьего уравнения:
121
yyyz
2,024,02,16,12,06,04,204,006,106,04,2
;
zyyyz ;
1122
zyyyz ;
2123
zyyyz .
3124
 
212
1
0
55,035,02,004,006,106,04,2
01,0
2,055,035,023,022,0
hyxy .
3,02,05,02,05,004,006,106,04,2
35,03,05,02,05,004,006,106,04,2
197,005,2
На второй итерации (
xy ,
k
203,1
11
hh
и находим значения
2
xy ) задаём значение приращения аргумента
12
197,0
xy ,
2
, 01,0
x ,
xy ,
21
2.5.5. Особенности численного решения ОДУ в программе Mathcad
В Mathcad для численного решения ОДУ используются следующие
функции:
- rkfixed – решение задачи на отрезке методом Рунге-Кутты с посто-
янным шагом;
- Rkadapt – решение задачи на отрезке методом Рунге-Кутты с авто-
матическим выбором шага;
- rkadapt – решение задачи в заданной точке методом Рунге-Кутты с
автоматическим выбором шага;
- Bulstoer – решение задачи на отрезке методом Булирша-Штера;
- bulstoer(y, x1, x2, acc, npoints, D, kmax, save) – решение задачи в за-
данной точке методом Булирша-Штера;
- Stiffr(y, x1, x2, acc, D, J) – решение задачи для жестких систем на
hxx
,
1
xy .
22
212
xy ,
1
020,2
отрезке с использованием алгоритма Розенброка;
- stiffr – решение задач для жестких систем на отрезке с использова-
нием алгоритма Розенброка;
- Stiffb – решение задачи для жестких систем на отрезке с использо-
ванием алгоритма Булирша-Штера;
45
- stiffb – решение задач для жестких систем в заданной точке с ис-

пользованием алгоритма Булирша-Штера.
Для численного решения дифференциальных уравнений и их систем в программе Mathcad необходимо выполнить следующую последовательность действий:
- представить дифференциальное уравнение в виде системы дифференциальных уравнений, в левых частях которых будут только первые производные;
- определить все коэффициенты, использующиеся при расчёте правой части системы дифференциальных уравнений, записанных в канонической форме;
- определить начальные значения всех переменных системы уравнений;
- определить начальное и конечное значения независимой переменной интегрирования, а также количество её точек, по которым необходимо выдавать результаты интегрирования;
- выбрать метод численного интегрирования, например, метод Рунге­Кутты с фиксированным шагом – функция rkfixed(X,
t , et , N, D) или метод
0
Рунге-Кутты с переменным шагом интегрирования (при быстром изменении значения интегрируемой переменной используется меньший шаг и наоборот) –функция rkadapt(X,
t , et , N, D).
0
Во всех функциях, используемых в Mathcad для численного решения
ОДУ, аргументами являются: X – вектор начальных значений переменных;
t , et – начальное и конечное значения независимой переменной
0
интегрирования t; N – количество точек вывода результата; D – вектор правых частей системы уравнений, то есть выражений для вычисления производных соответствующих переменных. Результатом выполнения всех функций является матрица размера (N+1)(n+1), где n – порядок системы. Первый (нулевой) столбец этой матрицы содержит значения независимой переменной интегрирования с шагом
ttt
/N,
0
e
следующий столбец с номером один содержит значения первой переменной, соответствующие значениям переменной из нулевого столбца, второй столбец – вторая переменная и т.д.
Вектор правых частей системы (2.12) выглядит следующим образом:
   
D .
y
y
....
1
2
y
1
 
n
...,,,,,
      
yyyyxf
121
n
46
Вектор начальных значений переменных:
0t
dtdydtyddt

dt
5000
:N
:
Z
:Zt
y
0
 
1
y
0
 
....
1
n
y
0
– начальные условия – значения функции и производной i-го
.
X ,
где
y ,
0
порядка при
  
 
i
y
0
Рассмотрим пример решения в программе Mathcad линейного неод­нородного ОДУ третьего порядка с постоянными коэффициентами и по­стоянным свободным членом в интервале изменения независимой пере­менной t от 0 до 5 с. Уравнение имеет вид
3
yd
3
2
20,412,156,268,024,1
2
y
.
Начальные условия:
1
00
2
0
0;0;24,2
yyy .
Представим данное уравнение в виде системы:
dy
;
y
dt
dy
dt
dy
1
1
2
;
y
2
12
.90,006,255,039,3
yyy
Программа численного решения рассматриваемого уравнения мето­дом Рунге-Кутты с фиксированным шагом в Mathcad выглядит следую­щим образом.
0:
t ; 5:
0
t ;
e
24,2
00
:X ;
rkfixed(X,
 
D
:
 
t , et , N, D);
0
;
y
1
y
2
12
0
;
: Zy ;
 
;
 
yyy
90,006,255,039,3
1
1
2
: Zy ;
: Zy .
2
3
2.5.6. Численное решение ДУЧП
Особенность численного решения ДУЧП заключается в необходимо­сти решать системы линейных уравнений с очень большим числом пере­менных, но при этом соответствующие матрицы имеют большое количест­во нулевых элементов (являются разреженными). Практически любой рас­чёт станет невозможным, если хранить все эти нулевые элементы в памяти компьютера. Соответственно, очень важна способность программного обеспечения эффективно работать с разреженными матрицами (хранить в
47
памяти только ненулевые элементы). В большинстве языков программиро­вания это достигается использованием специальных библиотек:
- Fortran (UMFPACK, SuperLU, PETSc, SPARSKIT2);
- C (UMFPACK, SuperLU, PETSc, TAUCS);
- C++ (TNT, FLENS, uBLAS, GMM++, Blitz++, Seldon, SparseLib++);
- Python (PySparse, petsc2py).
Метод конечных разностей основан на замене производных разностными схемами, он является сеточным методом. Для решения эл­липтической задачи методом конечных разностей на расчётной области строится сетка, затем выбирается разностная схема и для каждого узла сет­ки записывается разностное уравнение (аналог исходного уравнения, но с использованием разностной схемы), затем производится учёт краевых ус­ловий (для краевых условий второго и третьего рода также строится неко­торая разностная схема). Получается система линейных алгебраических уравнений, решая которую в ответе получают приближенные значения решения в узлах. Главной проблемой метода конечных разностей является построение правильной разностной схемы, которая будет сходится к реше­нию. Построение схемы выполняется исходя из свойств исходного диффе­ренциального оператора.
Решение задач методом конечных разностей, когда процесс изменя­ется во времени представляет собой итерационный процесс – на каждой итерации находится решение на новом временном слое. Для решения та­ких задач используются явные, неявные схемы и предиктор-корректор (па­ра из специально подобранных явной и неявной схемы). Явные схемы и схемы предиктор-корректор просто пересчитывают значение, используя информацию с предыдущих временных слоёв, использование неявной схемы приводит к решению уравнения (или системы уравнений).
Для параболических и гиперболических уравнений часто прибегают к смешиванию методов – производные по времени аппроксимируют с по­мощью разностной схемы, а оператор по пространству аппроксимируется с помощью конечно элементной постановки.
Реализация метода конечных разностей возможна следующими про­граммными продуктами: Python с PySparse; C++ с GMM++; Overture.
Метод конечных элементов (МКЭ) широко используется для ре­шения задач механики деформируемого твёрдого тела, теплообмена, гидродинамики и электродинамики. МКЭ сложнее метода конечных раз­ностей в реализации, но у него есть ряд преимуществ, проявляющихся на реальных задачах: произвольная форма обрабатываемой области; сетку можно сделать более редкой в тех местах, где особая точность не нужна.
Долгое время широкому распространению МКЭ мешало отсутствие алгоритмов автоматического разбиения области на «почти равносторон­ние» треугольники (погрешность, в зависимости от вариации метода, об­ратно пропорциональна синусу или самого острого, или самого тупого уг-
48
ла в разбиении). Данная проблема успешно решена (алгоритмы основаны на триангуляции Делоне), что дало возможность создать конечно элемент­ные системы автоматизированного проектирования (САПР).
Программные продукты для реализации МКЭ: Elmer; FreeFEM++; FreeFEM3D; GetDP; Impact; Code_Aster; Deal.II; FETK; Dolfin/FEniCS; GetFEM++; LibMesh; LifeV; Ofeli; Rheolef.
Метод конечных объёмов заключается в следующем. Выбирается некоторая замкнутая область течения жидкости или газа, для которой про­изводится поиск полей макроскопических величин (например, скорости, давления), описывающих состояние среды во времени и удовлетворяющих определённым законам, сформулированным математически. Наиболее ис­пользуемыми являются законы сохранения в Эйлеровых переменных. Для любой величины в каждой точке пространства, окруженной некото­рым замкнутым конечным объемом, в момент времени t существует сле­дующая зависимость: общее количество величины объеме может изме­няться за счет следующих факторов:
- транспорт количества этой величины через поверхность, ограничи-
вающую контрольный объём – поток;
- генерация (уничтожение) некоторого количества величины внутри
контрольного объема – источники (стоки).
Другими словами, при формулировке метода конечных объё­мов используется физическая интерпретация исследуемой величины, на­пример, при решении задач переноса тепла используется закон сохранения тепла в каждом контрольном объеме.
Программные продукты для реализации метода конечных объёмов: FiPy; Gerris; OpenFOAM; Overture.
2.6. Оптимизация
2.6.1. Сущность и виды оптимизации
Математическая модель объекта исследования позволяет найти наи­лучшие значения факторов по определённым критериям.
Оптимизация (в математике) – задача нахождения экстремума (ми­нимума или максимума) функции в некоторой области конечномерного векторного пространства.
Оптимизация (в технике и технологии) – поиск наилучших парамет­ров технических средств и систем, режимов рабочих и технологических процессов, средств и способов выполнения операций технологических процессов, структуры технических систем, технологических линий и про­изводственных комплексов, обеспечивающих наибольшие или наимень­шие значения принятых критериев эффективности. Объекты, для которых определяются наилучшие параметры, режимы, показатели, называют объ­ектами оптимизации. Критериями эффективности могут выступать: произ-
49
водительность, энергозатраты, материалоёмкость, себестоимость продук-
f
x

ции и другие.
Аналитическая зависимость критерия эффективности от факторов (устанавливаемых параметров, режимов, способов, показателей структуры) называется целевой функцией. Целевая функция имеет вид
maxmin xfy , (2.13)
где y – критерий эффективности;
– оператор преобразования;
– набор факторов,
.
xxxx ...,,,
21
n
Постановка задачи оптимизации: найти такие значения факторов
21
xxxx ...,,,
в пределах их допустимых значений, при которых крите-
n
рий эффективности y будет минимальным (min) или максимальным (max). Значения факторов
21
xxxx ...,,,
называют оптимальными.
n
Для выполнения оптимизации разработано множество специальных математических методов – методов оптимизации.
Если наилучшие значения факторов определяются по одному крите­рию эффективности, то оптимизация называется однокритериальной. Оп­тимизация, при которой наилучшие значения факторов ищут одновремен­но по нескольким критериям эффективности, называется многокритери­альной.
В зависимости от количества факторов оптимизация бывает: одно­мерной (один фактор x), двухмерной (два фактора
ной или n-мерной (n факторов
).
xxxx ...,,,
21
n
, xxx ), многомер-
21
На факторы и целевую функцию могут быть наложены ограничения, которые представляются, как правило, в виде неравенств. Если ограниче­ния есть, то оптимизация называется условной, а если таких ограничений не существует, то оптимизация называется безусловной.
Локальная оптимизация сводится к нахождению одного локального экстремума целевой функции. Глобальная оптимизация имеет дело с мно­гоэкстремальными целевыми функциями, её основной задачей является выявление тенденций глобального поведения целевой функции.
2.6.2. Многокритериальная оптимизация
Многокритериальную оптимизацию можно реализовать следующи­ми методами.
1. Если оптимизация одномерная или двухмерная, то выполняется
оптимизация по каждому критерию эффективности, то есть находятся зна­чения
yxyx
, , где
jj
21
y – j-ый критерий эффективности. Далее сравни-
j
вают полученные результаты, это удобно выполнить графически: постро­ить графики зависимостей
xfy
в интервалах:
jj
j
hyx
,
hyx
,
j
50
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]