Моделирование движения глубинной бомбы-торпеды

Федеральное агентство по образованию

Пермский государственный технический  университет

Лысьвенский филиал

 

Кафедра ЕН

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Курсовая работа

по дисциплине   «Моделирование систем»

                               тема: Моделирование движения

                                     глубинной бомбы-торпеды

 

 

 

 

 

 

 

 

 

Выполнила:                                                                             

Студентка гр. БИВТ-03

Ушакова А.Н.

 

Проверил преподаватель:                                                                       

Шестаков А.П.

 

 

 

 

 

 

 

 

 

 

 

 

Лысьва, 2005 г.

 

 

 

Реферат

Объём отчета 21страница. В отчете содержатся 2 части и 5 рисунков.

Перечень ключевых слов: физическая модель, глубинная бомба – торпеда, разгонный двигатель, глубина, расстояние, формы корпуса (шарообразная, полусферическая, каплевидная и форма диска).

Целью курсовой работы является создание физической модели с помощью компьютера. Данная модель анализирует связь  между временем достижения заданной глубины, пройденным расстоянием по горизонтали и формой корпуса бомбы - торпеды.

 

 

 

 

 

 

 

 

 

 

 

 

 

       

 

 

 

Содержание.

 

Задание............................................................................................................................................4

Введение.........................................................................................................................................5

1. Моделирование..........................................................................................................................6

   1.1. Составление системы  …………………………………………………………………….6

   1.2. Разработка модели ………………………………………………………………………..9

       1.2.1. Метод интегрирования…………………………………………………………….....9

       1.2.2. Проектирование  интерфейса…………………………..…………………………....10

2. Реализация модели...................................................................................................................11

Заключение...................................................................................................................................15

Список литературы......................................................................................................................16

Приложение А…………………………………………………………………………………..17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задание.

 

      Глубинная бомба-торпеда, снабженная разгонным двигателем, установлена на взрыв, на заданной глубине, сбрасывается с движущегося противоподлодочного корабля.             Исследовать связь между временем достижения заданной глубины, пройденным расстоянием по горизонтали и формой корпуса (шарообразной, полусферической, каплевидной и формой диска).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

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

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

Физика – наука, в которой  математическое моделирование является чрезвычайно важным методом исследования.

Благодаря развитию современных средств вычислительной техники методы решения дифференциальных уравнений с использованием компьютеров, в том числе персональных, получили широкое распространение.

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

Основная идея решения дифференциальных уравнений численными методами на ЭВМ  заключается, как правило, в сведении исходной задачи к решению систем алгебраических (линейных или нелинейных) уравнений. При этом естественно возникает вопрос о разрешимости этой получаемой системы и об оценке погрешности получаемых численных решений исходной дифференциальной задачи.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Моделирование

 

1.1. Составление системы

          В рассматриваемой задаче фундаментальную роль играет второй закон Ньютона. Он гласит, что ускорение, с которым движется тело, прямо пропорционально действующей на него силе и обратно пропорционально его массе:

                                                                      

                                                                    

 

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

                                                                       ,

где k1 определяется свойствами среды и формой тела. Например, для шарика - так называемая формула Стокса, где µ - динамическая вязкость среды, r- радиус шарика.

При более высоких скоростях  сила сопротивления становится пропорциональной квадрату скорости:

                                                                ,

 

где  величина   пропорциональна площади сечения тела S,поперечного по отношению к потоку, плотности среды rсреды и зависит от формы тела,

где c-безразмерный коэффициент лобового сопротивления.

 

Но в данной задаче мы рассматриваем среднюю скорость и поэтому используем оба слагаемых:       

                                                                 

 

 

        Наш случай это частный случай полета тела брошенного под углом к горизонту, поэтому сначала вычислим систему для тела, брошенного под углом к горизонту.

          Таким образом, проецируя уравнение на оси x и y, получаем:

                                              

                                                     ;

                                              ;

Поскольку в каждой точке траектории сила сопротивления направлена по касательной  к траектории в сторону, противоположную  движению, то

                        ,

                         ,

где α – угол между текущим  направлением скорости и осью x.

Подставляя это уравнение и  учитывая, что  , получаем уравнения движения в переменных и :

   

           

Поскольку представляет несомненный  интерес и траектория движения, дополним нашу систему ещё двумя уравнениями:

                                          , ,

 

   Тогда  система будет выглядеть следующим образом: 

 

                                                 

 

 

 

После чего, изменим полученную систему так, чтобы она подходила к нашей задаче.

Поскольку бомба снабжена разгонным двигателем, а разгонный двигатель, то есть маршевый, это основной двигатель ракетного летательного аппарата, который обеспечивает достижение необходимой скорости (разгон – отсюда название), то следовательно двигатель будет поддерживать ей постоянную скорость по оси Y. Внесем это изменение в уравнение:

                                    .

Будем считать, что при движении бомбы ее масса не уменьшается.

Заметим, что бомба, сброшенная с корабля, имеет еще скорость по оси X, а так как у бомбы форма тела не обязательно шар, то коэффициенты лобового сопротивления и площадь сечения тела по отношению к поперечного потоку будут отличаться от тех, что будут по оси Y.

Перепишем систему с определенными  данными:

 

 

          

 

 

 

 

 

 

 

 

 

 

 

 

 

1.2. Разработка модели

 

В задании нам даны следующие формы корпуса бомбы: шарообразная, сферическая, полусферическая,  каплевидная.

         Как известно для шарика (формула Стокса)  будем использовать её для всех форм.

Величина  . Значения коэффициента лобового сопротивления будут равны: для диска:  с=1,11; полусферы: с= 0,55; шара: с=0,4; каплевидного тела: с=0,045.

Но эти значения для того случая, когда высчитываем падения тела вдоль оси Y, но как известно, тело одновременно смещается и вдоль оси X, и поэтому значения бокового сопротивления будут равны: для диска: с=0,001, полусферы: с= 0,2, шара: с=0,4, каплевидного тела: с=0,6.

        Площадь поперечного сечения, высчитывается по формуле соответственно:

для диска: , где 0,1 - ширина диска; полусферы: ; шара: ; каплевидного тела .

 

1.2.1 Метод интегрирования

 Для реализации данной модели используем метод Рунге-Кутта четвертого порядка аппроксимации. Он является более эффективным, позволяет получить более точное решение.

Метод Рунге-Кутта четвертого порядка:

 

 

 

 

 

1.2.2. Проектирование  интерфейса

 

          Разрабатывая  необходимую программу, проектируем пользовательский интерфейс программы моделирования. В интерфейсе имеются кнопки для управления процессом; платформа для изображения графика движения глубинной бомбы – торпеды; начальные данные, которые можно изменять; панель для выбора нужной формы бомбы – торпеды, вывод результата. Для работы программы, и для нахождения данных используется таймер.

Кнопки, необходимые для реализации процесса:

    1. При нажатии кнопки  “метод 4-го порядка” происходит начало процесса. Бомба начинает двигаться до указанной глубины, с заданными параметрами. Внизу, в многострочном редактируемом поле, отображающем текст, выводится результат времени достижения глубины, расстояния, пройденного по горизонтали.
    2. Нажатие кнопки “стоп” приостанавливает процесс работы программы.
    3. При нажатии кнопки “очистить” с панели удаляется график.
    4. Нажатие кнопки “О задаче” показывает окно с текстом задания. 

На рисунке 1 показан вид программы.

 

 

 

Рисунок 1 – Вид программы.

 

 

 

 

 

 

 

2. Реализация  модели

 

Наша задача исследовать связь между временем достижением заданной глубины, пройденным расстоянием по горизонтали и формой корпуса  глубинной бомбы-торпеды.

Вот так будет это выглядеть  при выполнении программы. Масса = 1 кг; радиус=0,5 м; вязкость среды=1,002 ; скорость корабля=80 м/с; скорость бомбы (которую дает двигатель)=30 м/с; глубина=5 метров; шаг=0,01 с.

1). Форма шара (рисунок 2):

 

Рисунок 2 – Форма шара.

В результате получили, что бомба  достигла заданной глубины за время = 0,9 с; и прошла расстояние по горизонтали = 5,21 м.

 

 

 

 

 

2). Форма диска (рисунок 3):

Рисунок 3 – Форма диска.

Время достижения заданной глубины=1,34 с; расстояние = 8,47 м.

 

3). Форма полусферы (рисунок 4).

Рисунок 4 – Форма полусферы.

Время достижения заданной глубины=1,05 с; расстояние = 7,27 м.

 

 

4).  Форма каплевидного  тела (рисунок 5):

Рисунок 5 – Каплевидная форма.

Время достижения заданной глубины=0,59 с; расстояние = 3,42 м.

 

В итоге получили, что самое большее расстояние = 8,47 м по горизонтали с потраченным временем = 1,34 с, пройдет бомба – торпеда с формой диска; за ней следует бомба с формой полусферы (расстояние = 7,27 м; время достижения =1,05 с), бомба шарообразной формы пройдет расстояние =5,21 м  за время = 0,9 с; а самое меньшее расстояние = 3,42 м  за время =0,59с, пройдет бомба с каплевидной формой.

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

 

 

 

 

 

 

 

 

 

Заключение

 

В результате выполнения курсовой работы получили модель движения глубинной бомбы – торпеды, снабженной разгонным двигателем, установленной на взрыв, на заданной глубине, которая сбрасывается с движущегося противоподлодочного корабля. Для моделирования был применен метод интегрирования систем дифференциальных уравнений – метод Рунге-Кутта четвертого порядка. По результатам, полученным в ходе работы данной программы, исследовали связь между временем достижения заданной глубины, пройденным расстоянием по горизонтали и формой корпуса бомбы.

Таким образом, все поставленные задачи курсовой работы были выполнены.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список использованной литературы

 

1. Могилев А.В., Пак Н.И., Хеннер Е.К. Практикум по информатике, М: - Академия, 2001.

 

2. Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика, М: - Академия, 1999.

 

3. Фаронов В.В. Delphi 6. Учебный курс. Москва, 2003.

 

4. Хеннер Е.К., Шестаков А.П. Математическое  моделирование: Пособие для учителя.  Пермь, 1995.

 

5. Советов Б.Я., Яковлев С.А. Моделирование систем: Учебник для вузов – 3-е изд., перераб. и доп. – М.: Высш. шк., 2001.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ А

 

Текст программы:

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls, Buttons;

type

  TForm1 = class(TForm)

    memo1: TMemo;

    PaintBox1: TPaintBox;

    Label1: TLabel;

    Edit1: TEdit;

    Button2: TButton;

    Button4: TButton;

    BitBtn1: TBitBtn;

    Label10: TLabel;

    Edit10: TEdit;

    Bevel3: TBevel;

    Timer1: TTimer;

    Button5: TButton;

    Label3: TLabel;

    Edit3: TEdit;

    Label5: TLabel;

    Edit5: TEdit;

    Label7: TLabel;

    Edit7: TEdit;

    Label8: TLabel;

    Edit8: TEdit;

    Label9: TLabel;

    Edit9: TEdit;

    Edit11: TEdit;

    Label11: TLabel;

    RadioButton1: TRadioButton;

    RadioButton2: TRadioButton;

    RadioButton3: TRadioButton;

    RadioButton4: TRadioButton;

    GroupBox1: TGroupBox;

    procedure Button2Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

  t,h,y1,y2,y3,y4,n:real;

  k11, k21, k31, k41, k12, k22, k32, k42,

    k13, k23, k33, k43, k14, k24, k34, k44: real;

    m,k1,k2,k1x,k2x,nu,p,r,c,cx,sx,vb:real;

  xc,yc,kom:integer;

implementation

 

uses Unit2;

{$R *.dfm}

function f(t,y1,y2,y3,y4,k1,k2:real;n:byte):real; //x=t;y1=vx;y2=vy;;y3=x;y4=y

begin

case n of

1:f:=-(k1x+k2x*sqrt(y1*y1+y2*y2))*y1/m;

2:f:=vb-9.81-(k1+k2*sqrt(y1*y1+y2*y2))*y2/m;

3:f:=y1;

4:f:=y2;

end;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

paintbox1.Canvas.FloodFill(xc,yc,clred,fsborder);

end;

 

 

 

procedure TForm1.Button4Click(Sender: TObject);

begin

memo1.Lines.Clear;

button5.Caption:='стоп';

h:=strtofloat(edit10.Text); //шаг

nu:=1.002; //вязкость среды

p:=1; //плотность среды

r:=0.5; //радиус шара

m:=1; //масса

 

if radiobutton1.Checked then begin c:=0.4;cx:=0.4;sx:=pi*r*r end;//шар

if radiobutton2.Checked then begin c:=1.11;cx:=0.001;sx:=2*r*0.1 end;//диск, 0.1-ширина диска

if radiobutton3.Checked then begin c:=0.55;cx:=0.2;sx:=pi*r*r/2 end;//полусфера

if radiobutton4.Checked then begin c:=0.045;cx:=0.6;sx:=pi*r*r*1.5 end;//каплевидное тело, будем считать, что её  S в1.5 больше, чем у шара

 

k1:=6*pi*nu*r;

k2:=1/2*c*p*pi*r*r;

k1x:=6*pi*nu*r;

k2x:=1/2*cx*p*sx;

y3:=0;

y4:=strtofloat(edit3.text);

y1:=strtofloat(edit1.Text);

y2:=-strtofloat(edit11.Text);

vb:=y2;

t:=0;

 

kom:=strtoint(edit9.Text);

xc:=paintbox1.width div 2;

yc:=paintbox1.height div 2;

 

paintbox1.Canvas.MoveTo(0,paintbox1.height div 2);//x

paintbox1.Canvas.lineTo(paintbox1.Width,paintbox1.height div 2);

paintbox1.Canvas.MoveTo(paintbox1.width div 2,0);//y

paintbox1.Canvas.lineTo(paintbox1.width div 2,paintbox1.height);

paintbox1.Canvas.MoveTo(trunc(xc+y3*kom),trunc(yc-y4*kom));

timer1.Enabled:=true;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

form2.show;

end;

 

procedure TForm1.Button5Click(Sender: TObject);

begin

if timer1.Enabled then begin timer1.Enabled:=false;button5.Caption:='продолжить';end

else

begin

timer1.Enabled:=true;

button5.Caption:='стоп';

end;

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

begin

if y4<0 then timer1.Enabled:=false;

       k11 := h*f(t, y1, y2, y3, y4,k1,k2, 1);

       k12 := h*f(t, y1, y2, y3, y4,k1,k2, 2);

       k13 := h*f(t, y1, y2, y3, y4,k1,k2, 3);

       k14 := h*f(t, y1, y2, y3, y4,k1,k2, 4);

       k21 := h*f(t+h/2, y1+k11/2, y2+k12/2, y3+k13/2, y4+k14/2,k1,k2, 1);

       k22 := h*f(t+h/2, y1+k11/2, y2+k12/2, y3+k13/2, y4+k14/2,k1,k2, 2);

       k23 := h*f(t+h/2, y1+k11/2, y2+k12/2, y3+k13/2, y4+k14/2,k1,k2, 3);

       k24 := h*f(t+h/2, y1+k11/2, y2+k12/2, y3+k13/2, y4+k14/2,k1,k2, 4);

       k31 := h*f(t+h/2, y1+k21/2, y2+k22/2, y3+k23/2, y4+k24/2,k1,k2, 1);

       k32 := h*f(t+h/2, y1+k21/2, y2+k22/2, y3+k23/2, y4+k24/2,k1,k2, 2);

       k33 := h*f(t+h/2, y1+k21/2, y2+k22/2, y3+k23/2, y4+k24/2,k1,k2, 3);

       k34 := h*f(t+h/2, y1+k21/2, y2+k22/2, y3+k23/2, y4+k24/2,k1,k2, 4);

       k41 := h*f(t+h, y1+k41, y2+k42, y3+k43, y4+k44,k1,k2, 1);

       k42 := h*f(t+h, y1+k41, y2+k42, y3+k43, y4+k44,k1,k2, 2);

       k43 := h*f(t+h, y1+k41, y2+k42, y3+k43, y4+k44,k1,k2, 3);

       k44 := h*f(t+h, y1+k41, y2+k42, y3+k43, y4+k44,k1,k2, 4);

 

      memo1.lines.add('t='+floattostr(t)+' y1='+floattostr(y1)+' y2='+floattostr(y2)+' y3='+floattostr(y3)+' y4='+floattostr(y4));

 

       y1:=y1+1/6*(k11+2*k21+2*k31+k41);

       y2:=y2+1/6*(k12+2*k22+2*k32+k42);

       y3:=y3+1/6*(k13+2*k23+2*k33+k43);

       y4:=y4+1/6*(k14+2*k24+2*k34+k44);

     paintbox1.Canvas.lineTo(trunc(xc+y3*kom),trunc(yc-y4*kom));

     t:=t+h;

end;

end.

 

 

unit Unit2;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

type

  TForm2 = class(TForm)

    Memo1: TMemo;

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form2: TForm2;

 

implementation

 

{$R *.dfm}

 

end.

 

 

 

 




Моделирование движения глубинной бомбы-торпеды