Автор работы: Пользователь скрыл имя, 16 Января 2013 в 21:50, курсовая работа
Проектирование трансформатора сводится к многократному расчету зависимостей между основными показателями, заданных в виде системы формул, эмпирических коэффициентов, графических зависимостей, которые можно рассматривать как уравнения проектирования. Оптимальное проектирование трансформатора можно представить как поиск оптимальных параметров путем решения этой системы уравнений.
Цель курсовой работы: определение оптимальных размеров трансформатора аналитическим и комплексным методами. По результатам проделанной работе сделать вывод.
Введение …………………………………….................................................5
1 Анализ технического задания……………….......…………………….........6
2 Разработка математической модели для решения задачи оптимального проектирования ТММ с учетом ограничений на плотность тока………..7
3 Аналитическое решение задачи классическим методом.…………….....10
4 Метод Бокса………......................................................................................14
5 Решение задачи на ЭВМ..............................................................................16
Заключение………………… …..…………………………….....................17
Список использованных источников..........................................................18
Приложение А (обязательное) Нахождение оптимальных размеров магнитопровода…………………………………………………………….19
Приложение Б (обязательное) Метод Бокса……………..........................21
Приложение В (обязательное) Программное обеспечение для проектирования ТММ на витых магнитопроводах типа ШЛ…………...26
Приложение Б
(обязательное)
Метод Бокса
program boss;
uses dos, crt;
const
n=5;
p=1/47000000;
pyd=1.4;
e=0.00000000001;
Bc=1.6;
var
Gc:array[1..n*2] of real;
Gm:array[1..n*2] of real;
Qm:array[1..n*2] of real;
Sp:array[1..n*2] of real;
G:array[1..n*2] of real;
x:array[1..n*2,1..n] of real;
x0:array[1..n] of real;
x00:array[1..n] of real;
xr:array[1..n] of real;
x1,x2,x3,x4,x5,Fpovc,Fpovm,l1,
i,ih,k:integer;
label 1,2,3,4;
function fGc(x1,x2,x3,x4:real):real;
begin
fGc:=7650*0.93*x3*(2*x1+2*x2+
end;
function fGm(x1,x2,x3,x4:real):real;
begin
fGm:=8900*0.3893*x1*x2*(2+2*
end;
function fQm(x1,x2,x3,x4,x5:real):real;
begin
fQm:=(p*x5*x5*x4*x4*x4*x1*x2*(
1.0637*0.1599)/(15*2*x4*x4*x2*
end;
function fSp(x1,x2,x3,x4,x5:real):real;
begin
fSp:=2*1.11*0.93*0.3891*50*x4*
end;
procedure raschet;
begin
Qm[i]:=fQm(x[i,1],x[i,2],x[i,
Gc[i]:=fGc(x[i,1],x[i,2],x[i,
Gm[i]:=fGm(x[i,1],x[i,2],x[i,
G[i]:=Gc[i]+Gm[i];
Sp[i]:=fSp(x[i,1],x[i,2],x[i,
end;
procedure vyvod;
begin
writeln(x[i,1]:7:6,' ',x[i,2]:7:6,' ',x[i,3]:7:6,' ',x[i,4]:7:6,' ',Bc:4:3,' ',x[i,5]:8:0,' ',
G[i]:4:3,' ',Qm[i]:6:4,' ',Sp[i]:3:1);
end;
begin
clrscr;
writeln(' x y z A B J G Qm Sp ');
{ writeln('введите координаты первой вершины: ');
readln(x[1,1],x[1,2],x[1,3],
l1:=1; u1:=1.5;
l2:=2; u2:=3;
l3:=2; u3:=2.3;
l4:=0.02; u4:=0.035;
l5:=2.5e6; u5:=3e6;
x[1,1]:=1.206;
x[1,2]:=2.509;
x[1,3]:=2.1415;
x[1,4]:=0.02759;
x[1,5]:=2.870588e6;
i:=1;
raschet;
for k:=1 to n do
x0[k]:=x[1,k];
for i:=2 to 2*n do
begin
1: x[i,1]:=l1+(u1-l1)*random(
x[i,2]:=l2+(u2-l2)*random(
x[i,3]:=l3+(u3-l3)*random(
x[i,4]:=l4+(u4-l4)*random(
x[i,5]:=l5+(u5-l5)*random(
raschet;
if (Qm[i]>80) or (Sp[i]<693) then
{центр тяжести}
begin
for k:=1 to n do
x0[k]:=(x0[k]*(i-1)+x[i,k])/i;
end;
for k:=1 to n do
x[i,k]:=(x0[k]+x[i,k])/2;
raschet;
if (Qm[i]>80) or (Sp[i]<693) then goto 1;
end;
writeln('сформирован комплекс');
3:
for i:=1 to 2*n do
begin
raschet;
vyvod;
end;
{находим максимальное значение }
Gh:=G[1];
ih:=1;
for i:=2 to n*2 do
begin
if G[i]>Gh then
begin
Gh:=G[i];
ih:=i;
end;
end;
writeln(' ih = ',ih:2);
read(i);
{находим координаты центра тяжести симплекса х0}
for k:=1 to n do
x00[k]:=0;
for k:=1 to n do
begin
for i:=1 to n*2 do
begin
if i<>ih then
x00[k]:=x00[k]+x[i,k];
end;
end;
for k:=1 to n do
begin
x00[k]:=x00[k]/(2*n-1);
end;
{выполняем шаг отражения, находим координату отраженной вершины}
for k:=1 to n do
xr[k]:=x00[k]+1.3*(x00[k]-x[
if xr[1]<l1 then xr[1]:=l1+e;
if xr[1]>u1 then xr[1]:=u1-e;
if xr[2]<l1 then xr[2]:=l2+e;
if xr[2]>u1 then xr[2]:=u2-e;
if xr[3]<l1 then xr[3]:=l3+e;
if xr[3]>u1 then xr[3]:=u3-e;
if xr[4]<l1 then xr[4]:=l4+e;
if xr[4]>u1 then xr[4]:=u4-e;
if xr[5]<l5 then xr[5]:=l5+e;
if xr[5]>u5 then xr[5]:=u5-e;
Gr:=fGc(xr[1],xr[2],xr[3],xr[
Qmr:=fQm(xr[1],xr[2],xr[3],xr[
Spr:=fSp(xr[1],xr[2],xr[3],xr[
{проверяем неявные ограничения}
{проверяем неявные ограничения и сравниваем значения функции с максимальным }
2:
if (Qmr>80) or (Gr>Gh) or (Spr<693) then
begin
for k:=1 to n do { перемещаем на половину расстояния к центру тяжести}
xr[k]:=(x00[k]+xr[k])/2;
Qmr:=fQm(xr[1],xr[2],xr[3],xr[
Gr:=fGc(xr[1],xr[2],xr[3],xr[
Spr:=fSp(xr[1],xr[2],xr[3],xr[
goto 2;{проверяем неяные ограничения }
vyvod;
end;
{все условия выполнены, заменяем строку}
for k:=1 to n do
x[ih,k]:=xr[k];
G[ih]:=Gr;
Qm[ih]:=Qmr;
Sp[ih]:=Spr;
{проверяем сходимость }
GG:=0;
for i:=1 to n*2 do
GG:=GG+G[i]/(n*2);
ee:=0;
for i:=1 to n*2 do
ee:=ee+(GG-G[i])*(GG-G[i]);
ee:=ee/(n*2);
writeln(' ee = ',ee);
if ee>e then goto 3;
writeln('решение сошлось, перед вами окончательный результат: ');
writeln(' ');
for i:=1 to 2*n do
begin
raschet;
vyvod;
end;
readln(i);
end.
Информация о работе Оптимальное проектирование трансформатора малой мощности