Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных исследований в электроэнергетике. Учебное пособие
.pdf
Таблица 2.2 – Оригиналы и изображения функций по Лапласу
e
te
t
tsin
e
e
t
t
tcos
0t
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
sint
cost
1/
s
1/
n!/
s
/
s/
2
s
1n
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
0x
...,2,1k
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 при
1k
h – приращение аргумента (
k
,
xyxf – значение правой части уравнения (2.7), вычисленное
11
kk
при
xx
1k
xyy .
1k
Задавая малое приращение аргумента
xx ;
1k
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
1k
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
На первой итерации (
20y ,
1
1
2
;
y
2
y ,
1
.4,06,16,04,2
yyy
12
, 0
x , 01,0
1k
2,10
y ) для первого уравнения системы имеем:
2
2,00
hh
1
k
, 01,001,00
x ,
1
44

yz ;
6
6
6
6
6
6
2k
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

Вектор начальных значений переменных:
0t
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
