В данной работе рассматривается моделирование процесса формообразования детали, т е преобразование заготовки в готовую деталь


§4. Текст программы инициирования электрического разряда



страница6/6
Дата01.08.2016
Размер1.36 Mb.
1   2   3   4   5   6
§4. Текст программы инициирования электрического разряда
Подпрограмма razr требует задания массивы анода и катода, напряжения холостого хода, энергии и длительности импульса. Она возвращает ДЭВ-вектор (длину, энергию и время трека), число холостых ходов и координаты места пробоя. Программа рассчитывает напряжённость поля на поверхности анода, определяет место пробоя и генерирует трек – всё то, о чём говорилось в предыдущей части. Соответстующие подпрограммы были существенным образом изменены и дополнены, а их последовательность – сведена в один блок, о котором стоит рассказать подробно. Это явилось самым крупным изменением в модели-А и преобразованием её в модель Б. В этой части будет дан подробно разобранный текст программы, который полностью соответствует реально существующему в приложении, разобраны также и тексты подпрограмм, к которым обращается программа. В приложении к работе имеется иерархическая структура программы razr, граф её обращения к подпрограммам и блок-схемы программы и подчинённых ей подпрограмм. Зная всё это, нетрудно понять логическую структуру программы.
В тексте выделены входные и выходные переменные. Строки, соответствующие тексту программы, выделены зелёным и снабжены своими идетнификационными номерами. Под каждой строкой приведено описание команды. Операторы условия выделены светло-синим, операторы цикла – красным. В графе основная программа выделена жёлтым, подпрограммы, обращающиеся к другим подпрограммам – светло-синим, неделимые подпрограммы – зелёным.
Программа razr

Схема формирования единичного разряда

Входные данные

  1. XA – матрица анода;

  2. XK – матрица катода;

  3. Uxx – напряжение холостого хода; 100 В

  4. E – энергия импульса; 0,001 Дж;

  5. tau – максимальная длительность импульса; 100 квантов времени; 1 квант времени составляет 100 нс;

Выходные данные

1. Lt – длина трека;

2. Et – энергия трека

3. Tt – длительность импульса;

4. sxx – число холостых ходов;

5. ic – первая координата места пробоя;

6. jc – вторая координата места пробоя.

Структура программы


  1. XX = XK – XA;

Формирование матрицы межэлектродных расстояний

  1. Lt = 0;

Определение нулевой длины трека

  1. [ic , jc] = furnd (XA,XX,Uxx);

Определение координаты места пробоя с помощью подпрограммы furnd
Подпрограмма furnd
Входные данные

    1. XA – матрица анода;

    2. XX – матрица межэлектродных расстояний;

    3. Uxx – напряжение холостого хода; 100 В

Выходные данные

    1. ic – первая координата места пробоя;

    2. jc – вторая координата места пробоя.

Структура подпрограммы
3.1. EX=ex(Uxx,XA,XX);

Определение распределения электрического поля по шероховатому аноду с помощью подпрограммы ex



Подпрограмма ex
Входные данные

3.1.1 U – напряжение;

3.1.2 XA – матрица анода;

3.1.3 XK – матрица катода



Выходные данные

3.1.1 EX – матрица распределения электрического поля



Структура подпрограммы

3.1.1. K=kr(XA);

Вычисление кривизны шероховатого катода с помощью подпрограммы kr;

Подпрограмма kr
Входные данные

3.1.1.1 XA – матрица анода;



Выходные данные

3.1.1.1 K – матрица значений кривизны поверхности анода



Структура подпрограммы

3.1.1.1.1 SMX=smx(XA);

Выглаживание матрицы анода по направлению х с помощью подпрограммы smx;

Подпрограмма smx
Входные данные

3.1.1.1.1.1 XA – матрица анода;



Выходные данные

3.1.1.1.1.1 SMX – сглаженная матрица анода по направлению х



Структура подпрограммы

3.1.1.1.1 a=size(XA,1);

Определение числа строк матрицы анода;

3.1.1.1.2 SMX=XA;

Определение сглаженной матрицы как матрицы анода – матрицы, имеющей ту же размерность;

3.1.1.1.3 Цикл

for ip=1:a

Пока счётчик ip меняется от 1 до a;

3.1.1.1.4 SMX(ip,:)=smooth(XA(ip,:));

Определение ip-й строки сглаженной матрицы анода как сглаженного вектора этой же строки матрица анода с помощью стандартной подпрограммы smooth;

3.1.1.1.5 Конец цикла

end;


Конец подпрограммы smx. Продолжение подпрограммы kr

3.1.1.2 SMY=smy(XA);

Выглаживание матрицы анода по направлению y с помощью подпрограммы smy;

Подпрограмма smy
Входные данные

3.1.1.1.1.1 XA – матрица анода;



Выходные данные

3.1.1.1.1.1 SMY – сглаженная матрица анода по направлению y



Структура подпрограммы

3.1.1.2.1 b=size(XA,2);

Определение числа столбцов матрицы анода;

3.1.1.2.2 SMY=XA;

Определение сглаженной матрицы как матрицы анода – матрицы, имеющей ту же размерность;

3.1.1.2.3 Цикл

for jp=1:b

Пока счётчик ip меняется от 1 до b;

3.1.1.2.4 SMY(:,jp)=smooth(XA(:,jp));

Определение jp-го столбца сглаженной матрицы анода как сглаженного вектора этого же столбца матрица анода с помощью стандартной подпрограммы smooth;

3.1.1.2.5 Конец цикла

end;


Конец подпрограммы smy. Продолжение подпрограммы kr

3.1.1.3 PX1=prx(SMX);

Определение частной производной сглаженной матрица анода по направлению x с помощью подпрограммы prx

Подпрограмма prx
Входные данные

3.1.1.3.1 XA – матрица анода.



Выходные данные

3.1.1.3.1 XAX – матрица частных производных первого порядка по направлению x.



Структура подпрограммы

3.1.1.3.1 XAX=XA;

Формирование матрицы, имеющей ту же размерность, что и матрица анода. Полученная матрица будет основой для создания матрицы частных производных первого порядка по направлению x;

3.1.1.3.2 a=size(XAX,2);

Определение количества столбцов полученной нулевой матрицы;

3.1.1.3.3 XAX(: , 1 : a - 1)=XA(: , 2 : a) - XA(: , 1 : a - 1);

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

3.1.1.3.4 XAX(: , a)=XAX(: , a-1);

Формирование последнего столбца матрицы производных, равного предпоследнему столбцу этой матрицы
Конец подпрограммы prx. Продолжение подпрограммы kr

3.1.1.4 PX2=prx(PX1);

Определение второй частной производной сглаженной матрицы анода как производной от первой частной производной с помощью подпрограммы prx

3.1.1.5 PY1=pry(SMY);

Определение частной производной сглаженной матрица анода по направлению y с помощью подпрограммы pry

Подпрограмма pry
Входные данные

3.1.1.5.1 XA – матрица анода.



Выходные данные

3.1.1.5.1 XAY – матрица частных производных первого порядка по направлению y.



Структура подпрограммы

3.1.1.5.1 XAY=XA;

Формирование матрицы, имеющей ту же размерность, что и матрица анода. Полученная матрица будет основой для создания матрицы частных производных первого порядка по направлению y;

3.1.1.5.2 b=size(XAX,1);

Определение количества строк полученной нулевой матрицы;

3.1.1.5.3 XAY(1 : b – 1 , :) = XA(2 : b , :) - XA(1 : b – 1 , :);


Формирование строк матрицы производных с 1-го по (a-1)-й как разность следующей и текущей строки матрицы анода;
3.1.1.5.4 XAY(b , :)=XAY(b-1, :);

Формирование последней строки матрицы производных, равной предпоследней строке этой матрицы


Конец подпрограммы pry. Продолжение подпрограммы kr

3.1.1.6 PY2=pry(PY1);

Определение второй частной производной сглаженной матрицы анода как производной от первой частной производной с помощью подпрограммы pry;

3.1.1.7 KX=-PX2./((1+PX1.^2)./(3/2));

Определение кривизны по направлению x по формуле


3.1.1.8 KY=-PY2./((1+PY1.^2)./(3/2));

Определение кривизны по направлению y;

3.1.1.9 KX=smx(KX);

Сглаживание кривизны по направлению x с помощью подпрограммы smx;

3.1.1.10 KY=smy(KY);

Сглаживание кривизны по направлению y с помощью подпрограммы smy;

3.1.1.11 K=KX+KY;

Определение кривизны как суммы значений кривизны по направлению x и по направлению y;



Конец подпрограммы kr. Продолжение подпрограммы ex

3.1.2 s=0.2;

Определение отсекающего параметра. Если кривизна по модулю меньше этого параметра, она равна нулю;

3.1.3 KC=abs(K)-s;

Определение эффективной кривизны, как разность модуля кривизны и отсекающего параметра;

3.1.4 KC=(abs(KC)+KC)/2;

Определение эффективной кривизны, отсечение её с помощью параметра: если эффективная кривизна отрицательна, она равна нулю;

3.1.5 KC=K.*sign(KC);

Определение эффективной кривизны, умножение её на знак кривизны. Если кривизна по модулю меньше отсекающего параметра, она равна нулю;

3.1.6 d=XK-XA;

Определение матрицы межэлектродных расстояний;

3.1.7 EX1=U./d;

Определение среднего поля как частного напряжения холостого хода на межэлектродное расстояние;

3.1.8 EX2=2*U*KC./log(abs(4*d.*(KC+1e-20)));

Определение добавочного поля по формуле


3.1.9 EX0=EX1+EX2;

Определение поля как суммы среднего и добавочного полей;

3.1.10 EX=EX0.*(sign(EX0)+1)/2;

Отсечение той части поля, которая получилось отрицательной. Она полагается равной 0.



Конец подпрограммы ex. Продолжение подпрограммы furnd
3.2 ER=EX.^3;

Определение поля вероятности распределения пробоя как куб напряжённости поля;

3.3 [ic,jc,vc]=raspr(ER);

Определение координаты места пробоя с помощью подпрогрпммы raspr;



Подпрограмма raspr (метод Монте-Карло)
Входные данные

3.3.1 M – матрица данных.



Выходные данные

3.3.1 ic – первая координата матрицы;

3.3.2 jc – вторая координата матрицы;

3.3.1 vc – вероятность возникновения события в этой координате;



Структура подпрограммы

3.3.1 a=size(M,1);

Определение первого размера матрицы данных;

3.3.2 b=size(M,2);

Определение второго размера матрицы данных;

3.3.3 S=sum(sum(M));

Определение суммы всех элементов матрицы данных;

3.3.4 Условие

if S==0

Если сумма элементов равна нулю;



3.3.5 N=ones(a,b)/(a*b);

Определение матрицы распределения как матрицы, заполненной одинаковыми числами – величинами, обратными произведению размеров матрицы данных;

3.3.6 Иначе

else


3.3.7 N=M/S;

Определение матрицы распределения как матрицу данных, делённую на сумму элементов матрицы данных;

3.3.8 Конец условия;

end


3.3.9 ic=1;

Первая координата матрицы равна 1;

3.3.10 jc=1;

Вторая координата матрицы равна 1;

3.3.11 x=rand;

Генерация случайного числа с равномерным законом распределения от 0 до 1;

3.3.12 Цикл

while x>=0

Пока х больше 0

3.3.13 x=x-N(ic,jc);

Из числа х вычитается значение матрицы распределения с текущей координатой;

3.3.14 Условие

if x>=0

Если х неотрицательно



3.3.15 jc=jc+1;

Вторая координата матрицы увеличивается на 1 (сдвиг по столбцу);

3.3.16 Условие

if jc>b


Если вторая координата матрицы больше второго размера матрицы данных (числа столбцов);

3.3.17 jc=1;

Вторая координата матрицы становится равной 1;

3.3.18 ic=ic+1;

Первая координата матрицы увеличивается на 1 (сдвиг по строке);

3.3.19 Конец условия;

end;

3.3.20 Условие



if ic>a

Если первая координата матрицы больше первого размера матрицы данных (числа строк);

3.3.21 disp('Ошибка в исходных данных')

Вывод на экран сообщения об ошибке;

3.3.22 Принудительный выход из цикла

break


3.3.23 Конец условия

end;


3.3.24 Конец условия

end;


3.3.25 Конец из цикла

end;


3.3.26 vc=N(ic,jc);

Вероятность возникновения события (априорная) равна соответствующему элементу матрицы распределений;


Конец подпрограммы raspr. Продолжение подпрограммы furnd

Конец подпрограммы furnd. Продолжение программы razr

4 sxx=-1;

Установление счётчика холостых ходов на -1. Это нужно, чтобы цикл выполнился хотя бы один раз, тогда число холостых ходов буден равно как минимум 0.

5 Цикл


while (Lt==0)

Пока длина трека равна 0

6 [Lt,Et,Tt]=trek(XA,XX,Uxx,E,tau,ic,jc);

Формирование вектора длины-энергии-времени (ДЭВ-вектора) с помощью подпрограммы trek


Подпрограмма trek
Входные данные

6.1 XA – матрица анода;

6.2 XX – матрица межэлектродных расстояний;

6.3 Uxx – напряжение холостого хода; 100 В;

6.4 E – энергия импульса; 0,001 Дж;

6.5 tau – максимальная длительность импульса; 10 квантов времени; 1 квант времени составляет 100 нс;

6.6 ik – первая координата;

6.7 jk – вторая координата;


Выходные данные

6.1 Lt – длина трека;

6.2 Et – энергия трека;

6.3 Tt – время трека.



Структура подпрограммы

6.1 kt=0.1;

Определение кванта времени – числа микросекунд в одном кванте

6.2 tk=tau/kt;

Определение времени квантов – числа квантов времени в максимальной длительности импульса

6.3 dE=E/tk;

Определение порции энергии, рассеиваемой на треке за один квант времени.

6.4 Lt=XX(ik,jk);

Определение длины трека как локального межэлектродного расстояния. Считается, что трек растёт равномерно, и может достигнуть противоэлектрода за некоторое время.

6.5 VTS=vtrek(Uxx,XA,XX,Lt);

Определение матрицы скоростей роста трека с помощью подпрограммы vtrek;


Подпрограмма vtrek
Входные данные

6.5.1 Uxx – напряжение холостого хода;

6.5.2 XA – матрица анода;

6.5.3 XX – матрица межэлектродных расстояний


Выходные данные

6.5.1 VTS – матрица скоростей трека.



Структура подпрограммы

6.5.1 dz=2;

Определение коэффициента скорости роста трека.

6.5.2 EX=ex(Uxx,XA,XX);

Определение распределения электрического поля по шероховатому аноду с помощью подпрограммы ex;

6.5.3 VTM=dz*EP;

Определение средней скорости роста трека, как произведение коэффициента скорости трека на напряжённость электрического поля;

6.5.4 sko=VTM/3;

Определение среднеквадратического отклонения распределения скорости роста трека, как уменьшенная в три раза средняя скорость роста трека. Случайная величина с нормальным законом распределения вероятностью 99,7% принадлежит промежутку м.о. ± 3 с.к.о.

6.5.5 VTN=fix(randn*sko+VTM);

Определение скорости роста трека – целого случайного числа, подчинённого нормальному закону распределения с м.о. = Vts и с.к.о = sko;

6.5.6 VTS=(VTN+abs(VTM))/2;

Определение скорости роста трека, равной нулю, если она, вычисленная по предыдущему пункту, получится отрицательной;
Конец подпрограммы vtrek. Продолжение подпрограммы trek
6.6 Vt=VTS(ik,jk);

Определение локальной скорости роста трека, как элемент матрицы скоростейж

6.7 Условие

if Vt==0


Если скорость трека равна нулю

6.8 Tt=20;

Длительность импульса равна 20 мкс, т.е. больше, чем 10 мкс, и трек не достигает противоэлектрода.

6.9 Иначе

else

6.10 Tt=Lt/Vt;



Длительность импульса равна длине трека, делённой на скорость роста трека;

6.11 Конец условия

end

6.12 Tt=kt*(fix(Tt/kt)+1);



Округление длительности импульса в большую сторону с точностью, равной кванту времени;

6.13 Et=E*(1-Tt/tau)+dE;

Определение энергии импульса, как разность между начальной и рассеянной на треке энергией. Если трек достиг противоэлектрода за один квант времени, энергия не рассеивается, поэтому прибавляется величина dE;

6.14 Lt=Tt*Vt;

Определение длины трека как длительность импульса, умноженную на скорость роста трека;

6.15 Условие

if Et<=0

Если энергия трека неположительна;

6.16 Lt=0;

Длина трека обнуляется;

6.17 Tt=tau;

Длительность импульса равна максимальной длительности;

6.18 Et=0;

Энергия трека равна нулю;

6.19 Конец условия;

end
Конец подпрограммы trek. Продолжение программы razr


7 sxx=sxx+1;

Увеличение числа холостых ходов на 1;

8 Конец цикла

end


Конец программы

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

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

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

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

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

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


Литература
1. Фотеев Н.К. Технология электроэрозионной обработки. Москва. “Машиностроение”. 1980.

2. Н.И.Кускова Искровые разряды в конденсированных средах. Статья. Журнал технической физики, 2001, том 71, вып. 2

3. Карпов Д.И. Моделирование инициирования роста разрядных структур в жидких диэлектриках: Дис. ... канд. физ.-мат. наук : 01.04.07 : Томск-Новосибирск, 2003 151 c. РГБ ОД, 61:04-1/470.

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

5. Ф56 Философия и история науки. Учебное пособие для семинарских занятий в технических университетах. Под ред. проф.В.В.Трушкова, проф. С,М,Мокроусова, проф. Л,А,Филлипенко. Московский институт электроники и математики. М., 2010. – 305 с.

6. Р.Шеннон. Имитационное моделирование систем – искусство и наука. Перевод с английского под редакцией Е.К.Масловского. Издательство “Мир” Москва 1978.



7. Енин А.Д. Овсянников Б.Л. Имитационное моделирование процесса электроэрозионного формообразования. Статья ред. 2009



Каталог: data -> 2013
2013 -> Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки «Журналистика»
2013 -> Инструментальная среда имитационного моделирования распределенных систем мобильных агентов
2013 -> Программа дисциплины концепции и концептуальный анализ в математике и гуманитарном знании
2013 -> "Применение инструментов конкурентной разведки для анализа конкурентоспособности компании"
2013 -> Программа учебной дисциплины «Психология»
2013 -> Сетевой образовательный клуб «Некрасовская республика»: самоорганизация, саморазвитие, сотворчество. «Некрасовская республика»


Поделитесь с Вашими друзьями:
1   2   3   4   5   6


База данных защищена авторским правом ©uverenniy.ru 2019
обратиться к администрации

    Главная страница