Автор работы: Пользователь скрыл имя, 09 Октября 2017 в 00:50, курсовая работа
Повсеместное внедрение компьютеров в инженерную практику предопределяет проведение различных расчётов, в частности, балок на изгиб с использованием компьютерных технологий. Это значительно уменьшает время, расходуемое на выполнение вычислительных операций, помогает избежать вычислительных ошибок и может использоваться при повторных расчётах. Широкое применение программ обработки электронных таблиц во многом объясняется универсальными возможностями их применения, поскольку без вычислений в широком смысле этого слова, не обойтись в самых разных сферах нашей жизни.
Для определения величин начальных параметров, , , входящих в формулы (2.2) - (2.5), служат граничные условия. В решаемой задаче балка имеет свбодно опертые концы. Согласно таблице 2 имеем следующие условия:
(2.6)
Прогиб и угол поворота на левом
конце балки равны нулю согласно таблице
2:
Отсюда следует, что
и
.
Изгибающий момент и перерезывающая сила на правом конце ( ):
Приравняем к нулю, основываясь на таблице 2, и получим систему из двух уравнений:
Преобразуем:
(2.7)
Таким образом, получены формулы для вычисления всех характеристик изогнутой балки: прогиба, угла поворота, изгибающего момента, перерезывающей силы (2.2) - (2.5), а также система уравнений (2.7) для нахождения неизвестных, входящих в эти формулы.
Корни системы (2.7) найдём с помощью средств табличного процессора MS Excel (рис. 2-3).
Рис.2 Фрагмент таблицы MS Excel с решением системы (2.7)
Рис.3 Фрагмент таблицы MS Excel с решением системы (2.7) в режиме отображения формул
В ячейках А9-А29 содержатся значения аргумента, для которых будут вычисляться прогиб, угол поворота, изгибающий момент, перерезывающая сила. В ячейки B9-E9 соответственно заносим формулы для вычисления прогиба, угла поворота, изгибающего момента и перерезывающей силы (рис. 4). Вычисления в режиме отображения формул приведены в приложении (рис. П.1-П.4).
Рис. 4. Фрагмент MS Excel
Для построения эпюр (рис. 5-8) воспользуемся мастером диаграмм. Тип диаграммы – точечная с гладкими кривыми и маркерами. Для подписи точек эпюр ставим опцию «подписи значений».
Рис. 5. Эпюра прогиба оси балки
Рис. 6. Эпюра угла поворота оси балки
Рис. 7. Эпюра изгибающего момента оси балки
Рис. 8. Эпюра перерезывающей силы оси балки
Зададим исходные данные и найдем Q0 и v’0*EI из полученной системы (рис. 9):
Рис.9. Решение системы (2.7) в пакете MathCAD
С помощью ранжированной переменной задаём интервал, в котором будет изменяться аргумент, с шагом 0,245. Для каждого из значений аргумента найдём значения других функций: прогиба балки, угла поворота, изгибающего момента, а также перерезывающей силы (рис.10):
Рис. 10. Нахождение для каждого из значений аргумента прогиба балки, угла поворота, изгибающего момента и перерезывающей силы
Теперь перейдём непосредственно к построению эпюр (рис. 11-14). Для этого воспользуемся панелью «Графики», «X-Y Plot».
Рис. 11. Эпюра прогиба балки
Рис.12. Эпюра угла поворота оси балки
Рис.13. Эпюра изгибающего момента
Рис. 14. Эпюра перерезывающей силы
Применение метода начальных параметров позволило определить формулы для вычисления прогиба, угла поворота, изгибающего момента и перерезывающей силы в любой точке оси балки. Для построения эпюр этих величин нужно знать их значения. Эти значения вычисляются по формулам (2.2) - (2.5). Задача свелась к просчёту значений четырёх функций при изменении аргумента на промежутке с некоторым шагом. В программе такая задача называется задачей табулирования. Приведём общий вид схемы алгоритма (рис. 15), где использованы обозначения – первое значение аргумента, – вычисляемая функция, – шаг изменения аргумента, – последнее значение аргумента. В решаемой задаче , м.
Рис. 15. Схема алгоритма цикла табулирования
Шаг изменения принимаем равным 0,245 м.
Для наглядной иллюстрации создадим схему алгоритма решаемой задачи (рис. 16).
Рис. 16. Схема алгоритма поставленной задачи
Вывод данных осуществим при помощи процедуры Writeln. Значения аргумента и соответствующие им значения функций прогиба, угла поворота, изгибающего момента и перерезывающей силы оси балки будут записываться в файл D:\Durnev.txt. Значения функций будут записываться в строку и разделяться пробелами (рис. 20). Код программы, реализующей эту задачу в среде Delphi содержит в себе процедуру writeln, оператор цикла с предусловием while…do begin (рис. 17,18).
Рис.17. Фрагмент кода программы, реализующей решение поставленной задачи в среде Delphi
Рис. 18. Фрагмент кода программы, реализующей решение поставленной задачи в среде Delphi
Рис. 19. Исполняемый файл программы после вычисления
Рис. 20. Фрагмент текстового файла D:\Durenv после завершения алгоритма
Расчет балки на изгиб можно проводить с использованием компьютера в вычислительной части расчета, причём у пользователя есть выбор: осуществлять его в табличном процессоре MS Excel, в пакете MathCAD или же в среде создания Windows-приложений Delphi. Каждый из этих путей эффективен по-своему, но результаты на выходе для всех методов полностью идентичны.
Применение табличного процессора Microsoft Excel благодаря большому количеству встроенных функций значительно ускоряет вычисления и позволяет не только производить расчеты на компьютере, но и получать электронные варианты эпюр. Решение данной задачи средствами пакета математических расчетов MathCAD позволяет быстро реализовывать вычисления и наглядно представлять их результаты графически. Программа на языке программирования Паскаль является реализацией цикла табулирования, типичной задачей курса информатики. Выполнение всех этих действий полностью подготовлено содержанием курса «Информатика», изучавшегося в I и II семестрах.
Фрагменты таблицы Excel c расчётом в режиме отображения формул
Рис. П.1. Фрагмент таблицы с формулами для расчёта прогиба балки
Рис. П.2. Фрагмент таблицы с формулами для расчёта угла поворота
Рис. П.3. Фрагмент таблицы с формулами для расчёта изгибающего момента
Рис. П.4. Фрагмент таблицы с формулами для расчёта перерезывающей силы
Програмный код Delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
Dano: TLabel;
edt1: TEdit;
edt2: TEdit;
edt3: TEdit;
q: TLabel;
L: TLabel;
c: TLabel;
Label1: TLabel;
edt4: TEdit;
edt5: TEdit;
Q0: TLabel;
V: TLabel;
img1: TImage;
btn1: TBitBtn;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
// Описание переменных. vx, v1x, Mx, Qx - функции для вычисления прогиба, угла поворота,
// изгибающего момента
и перерезывающей силы
var q, L, c, Q0, v10, x, vx, v1x, Mx, Qx: real;
f: textfile;
begin
// За начальных данных q, L и c. Вычисление Q0 и v10//
q:=StrToFloat(edt1.Text);
L:=StrToFloat(edt2.Text);
c:=StrToFloat(edt3.Text);
Q0:=(q*(L-c)*(L-c))/(2*L);
v10:=(Q0*L*L)/6-(q*(L-c)*(L-c)
edt4.Text:=FloatToStr(Q0);
edt5.Text:=FloatToStr(v10);
// Табулирование. Задание Хнач.//
x:=0;
// Связывание файла и открытие его для записи значений функций v(x), v'(x), M(x) и Q(x)
// на интервале изменения аргумента//
assignfile(f, 'D:\Durnev.txt');
rewrite(f);
// Оператор цикла с предусловием while...do //
while x<=4.9 do
begin
if x<=c then
begin
vx:=v10*x-Q0*x*x*x/6+0;
v1x:=v10-Q0*x*x/2+0;
Mx:=Q0*x-0;
Qx:=Q0-0;
end
else
begin
vx:=v10*x-Q0*x*x*x/6+(q*(x-c)*
v1x:=v10-Q0*x*x/2+(q*(x-c)*(x-
Mx:=Q0*x-(q*(x-c)*(x-c))/(2);
Qx:=Q0-(q*(x-c));
end;
// Запись данных в файл//
begin
Writeln(f, x:5:2, ' ', vx:7:3, ' ', v1x:7:3, ' ', Mx:7:3, ' ', Qx:7:3);
// Пустая строка//
Writeln(f);
// Наращивание аргумента//
x:=x+0.245;
end
end;
// Закрытие файла//
closefile(f);
end;
end.