Расчёт динамики разгона (торможения) судна

Общая задача, описания динамики разгона (торможения) судна. Математическая модель неустановившегося движения. Точное эталонное решение системы дифференциальных уравнений. Модельные задачи и алгоритмы разгона (торможения) судна "Волга" в Visual Studio.

Рубрика Транспорт
Вид курсовая работа
Язык русский
Дата добавления 02.09.2015
Размер файла 2,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Курсовая работа на тему

Расчёт динамики разгона (торможения) судна

Содержание

Содержание

1. Постановка задачи и её математическая модель

1.1 Общая задача, описания динамики разгона (торможения)судна

1.2 Математическая модель неустановившегося движения

2. Методы и алгоритмы решения задачи

2.1 Формирование функций R(V) и T(V

2.2 Точное эталонное решение аналитическое решение системы(3) дифференциальных уравнений

3. Исходные данные

4. Модельные задачи в Excel

5. Модельные задачи в Visual Studio

5.1 Модельная задача 1

5.2 Модельная задача 2

5.3 Модельная задача 3

Вывод

1. Постановка задачи и ее математическая модель

visual studio торможение судно

1.1 Общая задача, описания динамики разгона (торможения) судна

Из курса теоретической механики известно, что в соответствии принципам Даламбера неустановившееся движение тела описывается вторым законом Ньютона. Поскольку в данной задаче рассчитывается движение лишь в направлении одной из осей координат (в данном случае оси “X”), то достаточно записать уравнения движения в проекции на ось “X” и решать его относительно скорости “V” в направлении оси “X” и пройденного по этой координате пути “S”.

1.2 Математическая модель неустановившегося движения судна

Основным уравнением задачи в этом случае является уравнение второго закона Ньютона в проекции на ось координат “X”.

m*a = F (1)

Здесь:

m - масса тела;

а = dV/dt

- ускорение тела;

F - сумма всех сил, действующих на судно, в проекции на ось “X”.

Равнодействующая сила F складывается из двух сил:

R - сопротивление движению судна;

Т - тяга движения (как правило, гребного винта).

Из физических соображений понятно, что сопротивление R зависит от скорости движения (чем больше скорость “V”, тем больше сопротивление R) и направлена против скорости “V”, т.е. в отрицательном направлении оси “X”. Тяга, создаваемая гребным винтом, также зависит от скорости судна, но действует в противоположном направлении силе сопротивления R, т.е. направлена в положительном направлении оси “X”.

С учетом сказанного, уравнение (1) можно записать в виде:

(2)

Таким образом, получено обыкновенное дифференциальное уравнение 1-го порядка относительно скорости движения судна “V”.

Для определения пройденного за время “разгона” пути “S” к этому уравнению (2) необходимо добавить уравнение dS/dt=V, являющееся определением понятия - “скорость”. Таким образом, математической моделью задачи считается система из двух дифференциальных уравнений 1-го порядка, записанных в каноническом виде:

(3)

Здесь функции R(V) и T(V) являются заданными и находятся по испытаниям моделей судна и гребного винта. Как правило, эти функции задаются либо графически, либо таблично.

Для решения системы уравнений (3) необходимо задать начальные условия. Обычно они задаются в виде t=0 или V=Vn.

2. Методы и алгоритмы решения задачи

2.1 Формирование функций R(V) и T(V)

В курсовой работе исходными данными являются функции R(V) и T(V), которые представлены в графическом виде. Решением данной задачи является снятие контрольных точек с графиков (R(V) - 16-20 точек и T(V) - 8-10 точек) включая первую и последнюю и заполнение таблиц исходных данных (необходимо помнить, что расчеты производятся в системе СИ).

Аппроксимация исходных данных

По сформированным таблицам этих функций необходимо:

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

2) определить коэффициенты аппроксимации;

3) рассчитать и вывести на дисплей графики аппроксимирующих функций.

2.2 Точное эталонное аналитическое решение системы (3) дифференциальных уравнений

Для отладки программы решения общей (при произвольных R(V) и T(V)) системы (3) целесообразно задать эти функции в виде полиномов 1-й степени.

(4)

здесь коэффициенты аппроксимации.

Обозначим (5)

Тогда уравнение (2) примет вид:

(6)

Это простейшее дифференциальное уравнение с разделяющимися переменными. Разделим переменные и проинтегрируем:

(7)

Здесь начальные условия входят в пределы интегрирования. Вычисляя интегралы, получаем:

(8)

Потенцируя, получаем:

(9)

Это и есть точное решение уравнения (6). При t=0 имеем V=VH, т.е. начальное условие выполнено автоматически. При разгоне коэффициент и при получаем:

(10)

(11)

При торможении судна конечная скорость V равна нулю. Учитывая это, подставляем формулу (8) в формулу (11) и получаем значение пройденного пути при торможении:

При отладке программы в общем случае получаемое численное решение с линейными аппроксимациями T(V) и R(V) сравнивается с точным для проверки правильности алгоритма и программы и выбора тела интегрирования.

3. Исходные данные

Судно «Волга»

Масса судна: 12000 кг

Таблица 1 значений функций R(V) и T(V)

Исходные данные:

Т - сила тяги движителя

R - сила сопротивления воде

V, км/ч

V, м/c

T(V)

V, км/ч

V, м/c

R(V)

1

0

0

273

0

0

0

2

2

0,555556

272

2

0,555556

2

3

4

1,111111

271

4

1,111111

4

4

6

1,666667

270

6

1,666667

6

5

8

2,222222

269

8

2,222222

10

6

10

2,777778

268

10

2,777778

18

7

12

3,333333

267

12

3,333333

22

8

14

3,888889

266

14

3,888889

30

9

16

4,444444

264

16

4,444444

40

10

18

5

262

18

5

54

11

20

5,555556

261

20

5,555556

70

12

22

6,111111

260

22

6,111111

90

13

24

6,666667

260

24

6,666667

110

14

26

7,222222

257

26

7,222222

130

15

28

7,777778

255

28

7,777778

160

16

30

8,333333

250

30

8,333333

180

17

32

8,888889

245

32

8,888889

200

18

34

9,444444

240

34

9,444444

210

19

36

10

234

36

10

220

20

38

10,55556

228

38

10,55556

226

21

40

11,11111

220

40

11,11111

220

22

42

11,66667

208

42

11,66667

208

4. Модельные задачи в EXCEL

Исходный график

Модельная задача 1:

Модельная задача 2

Модельная задача 3:

Комментарий: Время торможения больше времени разгона

Гравфик для 2 модельной задачи:

Размещено на http://www.allbest.ru/

Комментарий: время разгона меньше времени торможения

Расчет путей обгона

Комментарий : З н а ч е н и е Vct=11.662, п о л у ч е н н о е м е т о д о м н ь ю т о н а , о т л и ч а е т с я о т Vct=10,351 , э т о о б ъ я с н я е т с я т е м , ч т о м е т о д Э й л е р а в е с ь м а г р у б.

5) В ы ч и с л е н и е к и н е т и ч е с к о й э н е р г и и , з а т р а ч е н н о й н а р а з г о н м е т о д о м т р а п е ц и й

6) О п р е д е л е н и е в р е м е н и т о р м о ж е н и я с у д н а о т Vct д о м е т о д о м т р а п е ц и й

Промежуточный вывод: время разгона равно времени торможения.

7) Р а с ч ё т п у т и т о р м о ж е н и я м е т о д о м Э й л е р а

5. Модельные задачи в Visual studio

5.1 Модельная задача 1

Расчет пути разгона методом Эйлера:

Листинг:

#include "stdafx.h"

#include <math.h>

#include <iostream>

#include <conio.h>

using namespace std;

double m=12000;

double R(double v){

return (17.828566334695335*v-2.8421709430404007e-14);

}

double T(double v){

return (-5.5714269795922888*V+273);

}

double fv(double v){

return 1.0/m*(T(v)-R(v));

}

double fs(double v){

return v;

}

void main()

{setlocale(LC_ALL,"Russian");

cout<<"Расчет пути разгона методом Эйлера"<<endl;

double eps=0.001, a=0, b=1500, h;

int i, n=10;

h=(b-a)/(double)n;

double t=0, v=0, s=0, w=0;

for(i=0; i<n; i++){

s=s+h*fs(v);

v=v+h*fv(v);

t=t+h;

if(fabs(v-w)<eps){

cout<<"время разгона t="<<t<<endl;

cout<<"скорость разгона v="<<v<<endl;

cout<<"путь разгона s="<<s<<endl;

break;

}

w=v;

}

getch();

}

Результат работы программы:

Расчет времени разгона методом трапеций:

Листинг:

#include "stdafx.h"

#include <math.h>

#include <iostream>

#include <conio.h>

using namespace std;

double f(double v){

return 6.23*pow(10.0, 3.0)-(229.091+207.771)*v;

}

void main(){

setlocale(LC_ALL,"Russian");

double h, Vct=11.667, vc, Integral=0, tp, m=12000;

int n=10, i;

h=(Vct-0)/(double)n;

for(i=1; i<=n-1; i++){

vc=0+(i-0.5)*h;

Integral=Integral+h*(1.0/f(vc));

}

cout<<"Интеграл="<<Integral<<endl;

tp=m*Integral;

cout<<"Время разгона="<<tp<<endl;

char st;

cin>>st;

}

Результат работы программы:

5.2 Модельная задача 2

Расчет пути разгона методом Эйлера:

Листинг:

#include "stdafx.h"

#include <math.h>

#include <iostream>

#include <conio.h>

using namespace std;

double m=12000;

double T(double v){

if(v<3.887)return -1.8000001028570978*v+273.0000003;

if(v<7.222) return -2.3785713110200959*v+274.64285652754916;

if(v<8.333)return -6.299999819997538*v+302.999997899984;

if(v<8.889) return 7.1999942400070722*v+190.00005040000542;

if(v<9.444)return -25.200025200028904*v+478.00022680027178;

if(v<10) return -10.799991360010608*v+341.99991360009881;

if(v<10.556)return -10.79991360069107*v+341.99913600686705;

else return -18.000028799555366*v+418.667026661773;

}

double R(double v){

if(v<1.667)return 3.5999997119995566*v-3.5999958036825319e-7;

if(v<4.444) return 12.034287941289449*v-15.771434707590629;

if(v<6.667)return 31.679991244799112*v-103.19995276799546;

if(v<8.889) return 41.400004463995856*v-166.0000356399687;

if(v<10.556)return 15.839958038441182*v+60.000391679634049;

else return -16.20003239961261*v+398.00039599575393;

}

double fv(double v){

return 1/m*(T(v)-R(v));

}

double fs(double v){

return v;

}

void main(){

setlocale(LC_ALL,"Russian");

cout<<"Расчет пути разгона методом Эйлера"<<endl;

double eps=0.001, a=0, b=1700, h;

int i, n=10;

h=(b-a)/(double)n;

double t=0, v=0, s=0, w=0;

for(i=0; i<n; i++){

s=s+h*fs(v);

v=v+h*fv(v);

t=t+h;

if(fabs(v-w)<eps){

cout<<"время разгона t="<<t<<endl;

cout<<"скорость разгона v="<<v<<endl;

cout<<"путь разгона s="<<s<<endl;

break;

}

w=v;

}

getch();

}

Результат работы программы:

:

Расчет времени разгона методом трапеций:

Листинг:

#include "stdafx.h"

#include <math.h>

#include <iostream>

#include <conio.h>

using namespace std;

double T(double v){

if(v<3.887)return -1.8000001028570978*v+273.0000003;

if(v<7.222) return -2.3785713110200959*v+274.64285652754916;

if(v<8.333)return -6.299999819997538*v+302.999997899984;

if(v<8.889) return 7.1999942400070722*v+190.00005040000542;

if(v<9.444)return -25.200025200028904*v+478.00022680027178;

if(v<10) return -10.799991360010608*v+341.99991360009881;

if(v<10.556)return -10.79991360069107*v+341.99913600686705;

else return -18.000028799555366*v+418.667026661773;

}

double R(double v){

if(v<1.667)return 3.5999997119995566*v-3.5999958036825319e-7;

if(v<4.444) return 12.034287941289449*v-15.771434707590629;

if(v<6.667)return 31.679991244799112*v-103.19995276799546;

if(v<8.889) return 41.400004463995856*v-166.0000356399687;

if(v<10.556)return 15.839958038441182*v+60.000391679634049;

else return -16.20003239961261*v+398.00039599575393;

}

double f(double v){

return T(v)-R(v);

}

void main(){

setlocale(LC_ALL,"Russian");

double h, Vct=14.481, vc, Integral=0, tp, m=12000;

int n=7, i;

h=(Vct-0)/(double)n;

for(i=1; i<=n-1; i++){

vc=0+(i-0.5)*h;

Integral=Integral+h*(1.0/f(vc));

}

cout<<"Интеграл ="<<Integral<<endl;

tp=m*Integral;

cout<<"Время разгона="<<tp<<endl;

char st;

cin>>st;

}

Результат работы программы:

5.3 Модельная задача 3

Расчет пути разгона методом Эйлера: Листинг:

#include "stdafx.h"

#include <math.h>

#include <iostream>

#include <conio.h>

using namespace std;

double m=12000;

double T(double V){

if(V<=4.444) return 10.200148979609367*V-6.4801649155560881*V*V+1.9440740662103053*V*V*V-0.000011547319445526227*V*V*V*V-2.0000455999106634;

if(V<=8.333) return 2948.3571472167969*V-445.490460395813*V*V+30.514248728752136*V*V*V-0.79525564704090357*V*V*V*V-7276.0445098876953;

else return 11501.049768447876*V-1730.6917943954468*V*V+115.16670861840248*V*V*V+-2.8629673100076616*V*V*V*V-28245.348960876465

}

double R(double v){

if(V<=2.222) return 10.200148979609367*V-6.4801649155560881*V*V+1.9440740662103053*V*V*V-0.000011547319445526227*V*V*V*V-2.0000455999106634;

if(V<=5) return 288.83378288522363*V-116.68522626068443*V*V+20.7900481747929*V*V*V-1.3122036733693676*V*V*V*V-251.72253890521824;

if(V<=8.333) return 1193.1464406251907*V-277.95146390795708*V*V+29.042054252699018*V*V*V-1.1133770294254646*V*V*V*V-1897.6967189311981;

else return 2948.3571472167969*V-445.490460395813*V*V+30.514248728752136*V*V*V-0.79525564704090357*V*V*V*V-7276.0445098876953;

}

double fv(double v){

return 1.0/m*(T(v)-R(v));

}

double fs(double v){

return v;

}

void main(){setlocale(LC_ALL,"Russian");

cout<<"Расчет пути разгона методом Эйлера"<<endl;

double eps=0.001, a=0, b=1000, h;

int i, n=200;

h=(b-a)/(double)n;

double t=0, v=0, s=0, w=0;

for(i=0; i<n; i++){

s=s+h*fs(v);

v=v+h*fv(v);

t=t+h;

if(fabs(v-w)<eps){

cout<<"время разгона t="<<t<<endl;

cout<<"скорость разгона v="<<v<<endl;

cout<<"путь разгона s="<<s<<endl;

break;

}

w=v;

}

getch();

}

Результат работы программы:

Расчет времени разгона методом трапеций:

Листинг:#include "stdafx.h"

#include <math.h>

#include <iostream>

#include <conio.h>

using namespace std;

double T(double v){

if(V<=4.444) return 10.200148979609367*V-6.4801649155560881*V*V+1.9440740662103053*V*V*V-0.000011547319445526227*V*V*V*V-2.0000455999106634;

if(V<=8.333) return 2948.3571472167969*V-445.490460395813*V*V+30.514248728752136*V*V*V-0.79525564704090357*V*V*V*V-7276.0445098876953;

else return 11501.049768447876*V-1730.6917943954468*V*V+115.16670861840248*V*V*V+-2.8629673100076616*V*V*V*V-28245.348960876465;

}

double R(double v){

if(V<=2.222) return 10.200148979609367*V-6.4801649155560881*V*V+1.9440740662103053*V*V*V-0.000011547319445526227*V*V*V*V-2.0000455999106634;

if(V<=5) return 288.83378288522363*V-116.68522626068443*V*V+20.7900481747929*V*V*V-1.3122036733693676*V*V*V*V-251.72253890521824;

if(V<=8.333) return 1193.1464406251907*V-277.95146390795708*V*V+29.042054252699018*V*V*V-1.1133770294254646*V*V*V*V-1897.6967189311981;

else return 2948.3571472167969*V-445.490460395813*V*V+30.514248728752136*V*V*V-0.79525564704090357*V*V*V*V-7276.0445098876953;

}

double f(double v){

return T(v)-R(v);

}

void main(){setlocale(LC_ALL,"Russian");

double h, Vct=14.0131, vc, Integral=0, tp, m=12000;

int n=200, i;

h=(Vct-0)/(double)n;

cout<<"h\t ="<<h<<endl;

for(i=1; i<=n-1; i++){

vc=0+(i-0.5)*h;

Integral=Integral+h*(1.0/f(vc));

}

cout<<"Интеграл ="<<Integral<<endl;

tp=m*Integral;

cout<<"Время разгона="<<tp<<endl;

char st;

cin>>st;

}

Результат работы программы:

Вывод

Mathcad

Модельные задачи

1

2

3

стационарная скорость

11,667

11,481

11,662

время разгона

1431

1622

1652

путь разгона

11160

13280

13570

время торможения

1904

1287

1652

путь торможения

7298

7061

1663

C++

Время разгона

1403

1592

1599

путь разгона

11104

12900

13542

Расхождение результатов в Mathcad и на С++ объясняется тем, что расчеты в Mathcad и на С++ велись с разной точностью, поскольку на С++ расчет велся с заданным шагом, а не итерационным циклом по точности.

Самое точное значение получилось в ходе выполнения 2 модельной задачи (кусочно-линейная интерполяция), в ходе трассировки графика X-Y, было получено значение скорости, самое близкое к исходным данным.

Линейная интерполяция была самым грубым методом расчёта, как следствие, результаты 1 модельной задачи оказались самыми грубыми.

Аппроксимация полиномом 4 степени была самым точным методом, однако результаты 3-й модельной задачи оказались далекими от истины.

Размещено на Allbest.ru

...

Подобные документы

  • Математическая модель неустановившегося движения судна. Буксировочные кривые сопротивления и тяги. Точное эталонное аналитическое решение системы дифференциальных уравнений. Таблица значений функций и перевод в систему СИ. Паскаль (разгон, торможение).

    курсовая работа [420,1 K], добавлен 15.08.2012

  • Определение элементов циркуляции судна расчетным способом. Расчет инерционных характеристик судна - пассивного и активного торможения, разгона судна при различных режимах движения. Расчет увеличения осадки судна при плавании на мелководье и в каналах.

    методичка [124,3 K], добавлен 19.09.2014

  • Время падения скорости судна после команды стоп и пройденное за это время расстояние. Инерционная характеристика судна и определение скорости в конце периодов, когда останавливается винт, а также время активного торможения и тормозной путь корабля.

    контрольная работа [204,4 K], добавлен 16.08.2009

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

    реферат [44,0 K], добавлен 02.03.2016

  • Скорость судна через час с после команды "стоп" и пройденное за это время расстояния. Расчет тормозящей силы винта, работающего в режиме гидротурбины. Вычисление времени падения скорости после команды "стоп", времени свободного торможения и выбега судна.

    лабораторная работа [22,9 K], добавлен 19.03.2015

  • Определение безопасных параметров движения судна, безопасной скорости и траверсного расстояния при расхождении судов, безопасной скорости судна при заходе в камеру шлюза, элементов уклонения судна в зоне гидроузла. Расчёт инерционных характеристик судна.

    дипломная работа [1,5 M], добавлен 17.07.2016

  • Начало движения - момент, когда транспортное средство трогается с места; движение в жилой зоне. Перестроение. Выполнение поворотов. Разворот запрещается. Полосы торможения и разгона. Движение задним ходом. Пересечение траекторий транспортных средств.

    реферат [22,6 K], добавлен 06.02.2008

  • Технические параметры автомобиля ВАЗ–2107. Понятие тяговой характеристики. Расчет внешней скоростной характеристики двигателя, вычисление скорости движения. Определение времени и пути разгона и торможения. Сравнение автомобиля с аналоговыми моделями.

    курсовая работа [171,7 K], добавлен 28.06.2009

  • Основы расчета процесса разгона автомобиля с применением методов численного интегрирования дифференциальных уравнений. Расчет тяговой силы. Структура программы расчета на персональном компьютере. Ввод параметров для расчета. Обработка результатов расчета.

    методичка [225,0 K], добавлен 10.05.2012

  • Анализ навигационных и эксплуатационных требований, предъявляемых к качествам судна. Плоскости судна и его очертания. Плавучесть и запас плавучести. Грузоподъемность и грузовместимость судна. Способы определения центра величины и центра тяжести судна.

    контрольная работа [1,4 M], добавлен 21.10.2013

  • Основные характеристики транспортного судна. Затраты судоходной компании на оплату труда экипажа судна. Расчет стоимости содержания судна. Анализ экономических показателей по перевозкам грузов. Расчёт эффективности инвестиций в транспортный флот.

    курсовая работа [89,3 K], добавлен 06.12.2012

  • Шипы полезны и нужны зимой. Они могут спасти жизни, технику, деньги. Альтернативы шипованной резине пока нет. Лучшие модели нешипуемой зимней резины уступают шипованной в ряде характеристик: тяговое усилие, динамика разгона и торможения, устойчивость.

    творческая работа [207,1 K], добавлен 01.03.2009

  • Характеристики строительного использования размеров судна и отдельных его частей. Вооруженность, оснащенность и обеспеченность судна. Расчет экономических показателей. Определение провозоспособности и производительности тоннажа исследуемого судна за год.

    курсовая работа [162,2 K], добавлен 02.12.2010

  • Определение полного веса автомобиля и подбор шин. Методика построения динамического паспорта автомобиля. Анализ компоновочных схем. Построение графика ускорений автомобиля, времени, пути разгона и торможения. Расчет топливной экономичности автомобиля.

    курсовая работа [3,6 M], добавлен 25.09.2013

  • Обоснование технико-эксплуатационных и экономических характеристик для отбора судна. Анализ внешних условий эксплуатации судов на заданном направлении. Основные требования к типу судна. Строительная стоимость судна, суточная себестоимость содержания.

    курсовая работа [766,7 K], добавлен 11.12.2011

  • Основные характеристики судна, оценка посадки и остойчивости при буксировке. Гидрометеорологическая обстановка в районах перегона. Расчет буксировочных сопротивлений судна в речной и морской воде при заданных скоростях движения. Графики движения буксиров.

    дипломная работа [2,7 M], добавлен 11.07.2014

  • Построение внешней скоростной характеристики двигателя, график силового баланса, тяговая и динамическая характеристики. Определение ускорения автомобиля, времени и пути его разгона, торможения и остановки. Топливная экономичность (путевой расход топлива).

    курсовая работа [298,4 K], добавлен 26.05.2015

  • Понятие об общем устройстве судна. Положения судна на волне. Сжатие корпуса от гидростатического давления. Поперечный изгиб корпуса судна. Увеличение поперечной прочности судна. Специальное крепление бортов. Обеспечение незаливаемости палубы в носу.

    контрольная работа [418,4 K], добавлен 21.10.2013

  • Устройство судна "Азов": корпус, грузовые помещения, спасательные средства. Системы связи и навигации судна. Обязанности вахтенного матроса-рулевого и вахтенного помощника капитана на ходовой вахте. Техническая эксплуатация палубного оборудования.

    курсовая работа [435,3 K], добавлен 28.04.2014

  • Характеристика грузовых трюмов. Определение удельной грузовместимости транспортного судна (УГС). Транспортные характеристики груза. Коэффициент использования грузоподъёмности судна. Оптимальная загрузка судна в условиях ограничения глубины судового хода.

    задача [28,2 K], добавлен 15.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.