Математическая формулировка задачи




 

Принципиальная схема гидравлического демпфера или катаракта приведена на рисунке 1.

 

Рисунок 1 - Расчетная схема гидравлического демпфера

 

Демпфер состоит из наполненного вязкой жидкостью цилиндра D, в котором движется поршень Р с отверствиями А. Поршень штоком В соединен с массой m, вес которой G=mg. Масса m подвешена на пружине С.

Уравнение колебаний массы имеет вид

 

 

Сопротивление, встречаемое поршнем при движении его в цилиндре (так называемое вязкое трение), пропорционально первой степени скорости , причем q есть расстояние центра тяжести системы Р, В, m от положения равновесия. Наиболее сложной частью расчета является определение величины коэффициента c, зависящего от многих факторов. Здесь следует

воспользоваться следующим выражением этого коэффициента:

 

 

где

коэффициент вязкости (),

длина отверствий А (м),

диаметр отверствий (м),

площадь поршня (),

число отверствий.

Если вес всей колеблющейся системы (груз, поршень и поршневой шток), диаметр поршня (м), то

 

 

Введя обозначения масса равная сумме массы m, массы штока и массы поршня, жесткость пружины), запишем уравнение (1) в виде

 

(2)

 

Решение уравнения (2) будет иметь различную форму в зависимости от соотношений

Первый случай: (случай «малого» сопротивления).

Решение уравнения (2) представляется в виде

 


 

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

Второй случай: (случай «большого» сопротивления).

Решение уравнения (2) имеет вид:

 

(4)

 

где

Третий случай:

Решением уравнения (1) будет

 

(5)

 

Где .

 

. Описание программы

 

Структурная схема программы (связи модулей).

 


 

Программа состоит из следующих модулей:

Project1.dpr - модуль проекта. - модуль содержащий описание класса главной формы программы, и описание методов работы формы. - модуль заставки, появляющейся при запуске программного обеспечения. _class - модуль созданного класса с закрытыми полями, и методами для работы с данным классом..dll - динамически подключаемая библиотека, содержащая форму окна «О программе», вызываемой из главного окна программы.

В программе реализованы следующие классы:

Класс TForm1 - от родительского класса TForm, содержит необходимые поля и методы для работы главной формы программы.

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

Основные методы класса:

procedure N5Click(Sender: TObject) - обработка нажатий на пункты меню. ToolButton1Click(Sender: TObject) - обработка нажатий на кнопки на панели. FormShow(Sender: TObject) - отображение заставки на экране. ShowHint(Sender: TObject) - обработка показываний контекстной помощи (подсказки).

function Proverka(Sender: TObject):boolean - функция проверки на заполнение полей исходными данными.

Класс TLogo - от родительского класса TForm, содержит является окном заставки показываемой перед запуском основной формы программы.

Основные поля класса:- рисунок заставки.- текстовые поля со статической информацией.- таймер с отсчетом времени для показа заставки.

Методы класса:

procedure Timer1Timer(Sender: TObject) - метод отсчет таймера, по завершению которого форма (заставка) закрывается

procedure FormCreate(Sender: TObject) - при создании формы, автоматически срабатывает таймер, и форма закрывается по истечению времени.

procedure FormKeyPress(Sender: TObject; var Key: Char) - обработка нажатия клавиш на клавиатуре, при нажатии клавиши заставка закрывается.

Класс TKurs - разработанный класс для вычисления в заданный промежуток времени поведения системы с одной степенью свободы под действием нагрузки треугольного вида.

Поля класса (все поля типа double): - начальное значение времени,i - промежуточные значения времени,k - конечное значение периода времени,- упругость пружины,

m - масса груза,- коэффициент вязкости жидкости,

l - длина отверстий в поршне,

q - площадь поршня,

H - диаметр порщня,

m1 - масса штока,

m2 - масса поршня,

q0 - расстояние центра тяжести системы,

z - число отверстий,- диаметр отверстий,

hag - приращение (шаг) времени.

Методы класса:

function g_f(t: double):double - функция вычисления значения системы при заданном значении времени.

procedure Create - запись информации в поля класса;

procedure ReadIniFile - чтение ini файла;WriteIniFile - запись в ini файл;

procedure Raszet - произведение вычислений изменения системы и занесение информации в таблицу результатов главной формы;Draw - рисование на главной форме графика поведения системы относительно времени.

В программе реализована одна динамическая библиотека ProjectDLL.dll, в ней содержится окно «О программе». Библиотека имеет одну процедуру, которая доступна для использования из библиотеки и одну функцию которая посчитывает значение переменной n используемой при расчетах в программе.

procedure ShowAbout(Handle: THandle)stdcall; - процедура отображения окна «О программе».

function N_dann(u,l,Q_,z,H,d:double):double; - функция подсчета значения переменной n.

Работа программы выполняется следующим образом: при создании главное формы на экран выводится заставка, форма модуля Unit2.pas, которая по истечению 5 секунд, либо по нажатию клавиши, исчезает. Запускается главная форма, модуль Unit1.pas. Далее ожидаются действия пользователя. Пользователь должен ввести исходные данные, либо выбрать метод чтения данных из ini файла. Данные заносятся в создаваемый класс TKurs, модуля Kursuv_class.pas. Далее при выборе пользователя метода вычислить производится запуск метода Raszet, который выводит полученную информацию в таблицу. Затем метод Draw класса TKurs рисует график изменения поведения системы. При вызове окна «О программе», подключается динамическая библиотека ProjectDLL.dll из которой процедурой ShowAbout(Handle: THandle) отображается окно «О программе».

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-04-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: