Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численное моделирование динамических систем, описываемых обыкновенными дифференциальными уравнениями. Учебное пособие
.pdf
7. Метод Адамса–Башфорта (А–Б) 4-го порядка
Рис. 17. График разности ()
yyt для трех сеток
ii
Результаты численного интегрирования
Таблица 8
t
Точное
решение
0.2h
0.1h
0.05h
0.8 –2.2217459 –2.1550191 –2.2101028 –2.2208256
1.6 4.9192771 5.8817863 4.9606546 4.9205868
2.4 –10.854388 –10.430840 –10.785575 –10.849069
3.2 23.866044 28.375598 24.045982 23.870857
4.0 –52.286436 –49.597797 –51.889783 –52.256418
Max | ( |–)
yyt
ii
4.61 0.40 0.03
51

8. Метод Адамса–Моултона (А–М) 4-го порядка
Рис. 18. График разности ()
yyt для трех сеток
ii
Результаты численного интегрирования
Таблица 9
t
0.8 –2.2217459 –2.2395589 –2.2230871 –2.2218299
1.6 4.9192771 4.8614867 4.9171637 4.9192175
2.4 –10.854388 –10.955801 –10.861947 –10.854862
3.2 23.866044 23.609349 23.857594 23.865875
4.0 –52.286436 –52.854786 –52.328302 –52.289059
Max | ( |–)
Точное
решение
yyt
ii
0.2h
–0.57 –0.042 –0.0026
0.1h
0.05h
52

9. Прогноз (А–Б 4-го порядка) – коррекция (А–М 4-го порядка)
Рис. 19. График разности ()
yyt для трех сеток
ii
Таблица 10
Результаты численного интегрирования
t
Точное
решение
0.2h
0.1h
0.05h
0.8 –2.2217459 –2.2302694 –2.2229291 –2.2218273
1.6 4.9192771 4.9381636 4.9180418 4.9192075
2.4 –10.854388 –10.901825 –10.860729 –10.854834
3.2 23.866044 23.969519 23.860969 23.865792
4.0 –52.286436 –52.541906 –52.320097 –52.288847
Max | ( |–)
yyt
ii
–0.26 –0.034 –0.0024
53

10. Решим систему дифференциальных уравнений методом Рунге–
Кутты 4-го порядка. Система имеет вид
() () (),
xt yt xt
() cos() (),
yt t xt
() 1 ( () ()) ,
zt e tyt xt
Ее решение имеет вид
()
xt
() sin(),
xt t
( ) sin( ) cos( ),
yt t t
zt te
sin( )
() .
t
x
(0) 0,
y
z
(0) 0;
(0) 1,
0, t
.
Выберем шаг интегрирования
/4h
.
Результаты интегрирования приведены в табл. 11.
Таблица 11
Результаты численного интегрирования
t Точное решение
π/4 0.70710678 0.70792854 8.22e–4
π/2 1.0 1.00392938 3.93e–3
3π/4 070710678 0.71322859 6.12e–3
π 0.0 0.0049171713 4.92e–3
π/4 1.41421356 1.41770435 3.49e–3
π/2 1.0 1.00618091 6.18e–3
3π/4 0.0 0.0048474884 4.85e–3
π –1.0 –1.00032000 –3.20e–4
π/4 1.59287778 1.58276150 –1.01e–2
π/2 4.26986711 4.29067178 2.08e–2
3π/4 4.77863335 4.81149424 3.29e–2
π 3.14159265 3.14979071 8.20e–3
Рунге–Кутты 4-го порядка Погрешность
x(t)
y(t)
z(t)
54

ПРИЛОЖЕНИЕ
1. ТЕКСТ ПРОГРАММЫ
Программа на C++ для 9-го тестового примера.
#include<math.h>
#include<iostream>
#include<iomanip>
#include<fstream>
using namespace std;
const int Neq=3;
const double PI=3.1415926535897932;
void Y(double t,double *r)
{
r[0]=sin(t);
r[1]=sin(t)+cos(t);
r[2]=t*exp(sin(t));
}
void F(double t,double *y,double *r)
{
r[0]=y[1]-y[0];
r[1]=cos(t)-y[0];
r[2]=exp(y[0])*(1.0+t*(y[1]-y[0]));
}
void runge4(double t_1,double *y_1,double dt,double *y)
{
int i;
double k1[Neq],k2[Neq],k3[Neq],k4[Neq],ytmp[Neq];
F(t_1,y_1,k1);
55

for(i=0;i<Neq;i++){ytmp[i]=y_1[i]+0.5*dt*k1[i];}
F(t_1+0.5*dt,ytmp,k2);
for(i=0;i<Neq;i++){ytmp[i]=y_1[i]+0.5*dt*k2[i];}
F(t_1+0.5*dt,ytmp,k3);
for(i=0;i<Neq;i++){ytmp[i]=y_1[i]+dt*k3[i];}
F(t_1+dt,ytmp,k4);
for(i=0;i<Neq;i++){y[i]=y_1[i]+dt*(k1[i]+2.0*k2[i]+2.0*k3[i]+k4[i])/6.0;}
}
int main()
{
double t0,tmax,dt,t,y[Neq],y_1[Neq],t_1,yt[Neq];
int i,j,N;
ofstream ofpn,ofpt,ofpe;
t0=0.0;
tmax=PI;
N=4;
dt=(tmax-t0)/N;
ofpn.open("ynum.txt"); ofpn<<scientific<<setprecision(14);
ofpe.open("yerr.txt"); ofpe<<scientific<<setprecision(14);
ofpt.open("ytru.txt"); ofpt<<scientific<<setprecision(14);
t_1=t0;
Y(t0,y_1);
ofpn<<t_1; for(j=0;j<Neq;j++){ofpn<<'\t'<<y_1[j];}
ofpn<<'\n';
ofpe<<t_1; for(j=0;j<Neq;j++){ofpe<<'\t'<<0.0;} ofpe<<'\n';
for(i=0;i<N;i++)
{
t=t0+(i+1)*dt;
56

Y(t,yt);
p
p
runge4(t_1,y_1,dt,y);
ofpn<<t; for(j=0;j<Neq;j++){ofpn<<'\t'<<y[j];} ofpn<<'\n';
ofpt<<t; for(j=0;j<Neq;j++){ofpt<<'\t'<<yt[j];} ofpt<<'\n';
ofpe<<t; for(j=0;j<Neq;j++){ofpe<<'\t'<<y[j]-yt[j];} ofpe<<'\n';
for(j=0;j<Neq;j++){y_1[j]=y[j];}
t_1=t;
}
ofpn.close(); ofpn.clear();
ofpe.close(); ofpe.clear();
ofpt.close(); ofpt.clear();
return 0;
}
2. ОСНОВНЫЕ ЭЛЕМЕНТЫ
ГИДРАВЛИЧЕСКОЙ ЦЕПИ
Течение жидкости в цепях гидравлических устройств принято опи-
сывать с помощью двух функций: расход ()qt и давление ()
моделировании течения жидкости в гидравлических цепях чаще всего
реальные участки цепи представляются как простые элементы (или
наборы простых элементов) со сосредоточенными параметрами. Ниже
приведены дифференциальные уравнения для некоторых простых гидравлических элементов.
t . При
Трубопровод
Здесь
– давление внутри трубопровода;
k
жидкости и трубы;
dp
и
qq
ij
1
k
dt c
()
qq
k
.
ii
c
– приведенная емкость
k
– значения расходов соответственно на
входе и выходе трубопровода.
57

Местное сопротивление
p
p
p
и
q
Здесь
– значения соответственно давления и расхода в мест-
ii
ном сопротивлении;
2
prq q
iii i
sign ( )
r
– гидравлическое сопротивление;
i
,
r
i
.
м
2
S
2
– коэф-
м
фициент местного сопротивления; S – площадь поперечного сечения;
– плотность жидкости.
Гидравлический поршень с двумя камерами
x
,
v
t
SpS
v
tm
pqvS
aa
tc
bb aa
,
,
pqvS
bb
tc
.
Здесь
p
ab
– давления соответственно в камерах A и B;
и
SS
ab
–
и
активные площади поршня со стороны камер A и B соответственно;
m – масса поршня; x – координата поршня; v – скорость поршня.
За положительное направление движения поршня выбрано направление от камеры B к камере A. При этом часто вместо одной из камер с
жидкостью на поршень может действовать пружина. В этом случае из
системы уходит уравнение
и слагаемые, связанные с давлением в соответствующей камере, а силовое воздействие пружины описывается добавкой вида kz (вместо pS), где k – жесткость пружины, z – сжатие
пружины.
58

Насос
j
p
p
Насос присутствует в любой гидравлической цепи, так как именно
он создает давление в цепи. Однако на практике редко возникает необходимость описывать его работу дифференциальными уравнениями и
потом их интегрировать, так как насосы имеют рабочие характеристики, остающиеся постоянными в широком диапазоне условий. В зависимости от конструкции насосы могут выдавать либо постоянный расход
const,q
либо поддерживать постоянное давление
const.p
Этой информации достаточно, чтобы моделировать течение жидкости
в гидравлической цепи без включения в математическую модель уравнений, описывающих работу насоса.
Переливной (предохранительный) клапан
Переливной клапан присутствует в любой гидравлической цепи
для защиты элементов цепи от аварийного роста давления. Существует
множество конструкций переливных клапанов. В простейшем случае
он может быть представлен как гидравлический поршень и местное
сопротивление с площадью поперечного сечения, зависящей от координаты поршня. Гидравлический поршень в этом случае имеет только
одну камеру, связанную с системой. На другую площадь поршня давит
пружина, предварительный натяг которой выбирается в соответствии с
критическим значением давления.
Тройник
Тройник является основным элементом, реализующим ветвление
гидравлической цепи. Тройник представляет собой три местных сопротивления, связанных дополнительным условием (условием
Кирхгофа):
prq q
2
sign ( ),
iii i
2
rq q
sign ( ),
jj j
2
rq q
sign ( ),
kkk k
qq q
ijk
0.
59

Однако на практике эта система нелинейных алгебраических урав-
B
p
B
нений решается редко (только для стационарных режимов). Для нестационарных режимов выполняется линеаризация нелинейных уравнений (аналогично для простого местного сопротивления), что существенно ускоряет счет, но при этом не приводит к существенному изменению решения. После выполнения линеаризации уравнения
q
2
*** *
где
sign ( )prq q
– коэффициент расхода; – удельный все жидкости;
заменяются, на
ность давлений на входе и выходе местного сопротивления;
*
tp
sign ( )
Sp q
2
g
*
– раз-
– боль-
шой параметр, учитывающий индукционные свойства элемента [3].
,
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
