j_n_j_3shots.html
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "https://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
//
//
Jet-not-Jet
Программа для расчета положения и скоростей
объектов при реактивном и "нереактивном" разделении компонентов.
Полный расчет можно
скачать здесь
Опорный
чертеж:
Warning, the name changecoords has
been redefined
Объявление процедуры.
Параметр n - количество "дробинок"
Процедура для системы с центрифугой
Объявление глобальных переменных.
global w,r,V,S,Vc,Sc,DD,DS,VDS,f,dt,Time,CMc,CM,MVc1,MVc2;
w -
угловая скорость вращения, const;
r - радиус,
по которому движутся элементы системы;
V -
таблица значений абсолютных
скоростей отдельных дробинок после отделения;
S -таблица
значений расстояний: от начала координат
до положения дробинки по завершении всего цикла.
Vc -таблица
значений скоростей ЦМ остатка.
Sc -таблица
значений расстояний: от начала координат до ЦМ остатка.
DS -таблица
значений расстояний: от ЦМ остатка
до оси вращения, т.е до точки отделения частицы, так
называемая величина "Delta";
DD -таблица
значений "дельта дельты": отскок ЦМ остатка при отделении одной элементарной частицы;
VDS -таблица
значений скоростей. Относительная скорость смещения оси вращения (т.е точки отделения
частицы), относительно ЦМ остатка
.;
f -таблица
значений углов;
dt -интервал
времени между отделениями частиц
Time -таблица
значений времен. Совершенно простая и необязательная, но удобна при организации
графика;
CMc -таблица
значений положения ЦМ всей системы;
CM -таблица
значений ЦМ "цепочки" отделившихся частиц в каждый момент времени;
MVc1 и
MVc2 -таблицы значений
импульсов "остатка" до отделения элементарной частицы и после.
Разница между этими значениями аналогична
величине DD. Только это "скачок" импульса
остатка, т.е. та величина, что и заставляет двигаться
остаток.
dt -интервал
времени между отделениями частиц.
Определяется, как деление всего времени (2Pi/w)
на число элементарных частиц (n)
Заполнение Time
-таблицы значений времен. Совершенно простая и необязательная,
но удобна при организации графика;
Заполнение f -таблицы значений углов
Таблица суммарного импульса остатка до отделения
MVc1[i]:=(m1*w*r*sum(cos(f[k]),k=i..n));
Таблица суммарного импульса остатка после
отделения
MVc2[i]:=(m1*w*r*sum(cos(f[k]),k=i..n-1));
Заполнение DS -таблицы значений расстояний:
от ЦМ остатка до оси вращения M0, т.е до точки отделения частицы
DS[i]:=-r*m1*sum(sin(f[k]),k=i..n)/(M0+m1*(n-i));
Скорость изменения величины DS в момент предшествующий
отделению i-ой дробинки
VDS[i]:=-r*m1*w*sum(cos(f[k]),k=i..n)/(M0+m1*(n-i));
Дельта дельты :)
DD[i]:=-r*m1*sum(sin(f[k]),k=i..n-1)/(M0+m1*(n-i))+r*m1*sum(sin(f[k]),k=i..n)/(M0+m1*(n-i+1));
Стартовые значения
V[0]:=0;Vc[0]:=0;Sc[0]:=0;S[0]:=0;
CMc[0]:=0; CM[0]:=0;
Цикл заполнения V[i],S[i],Vc[i],Sc[i],CM[i],CMc[i]
Скорость дробинки.
V[i]:=Vc[i-1]+VDS[i-1]+w*r;
Расстояние, пройденное дробинкой
S[i]:=Sc[i-1]+DS[i-1]+V[i]*(n-i)*dt;
Скорость остатка.
Vc[i]:=(Vc[i-1]*(M0+m1*(n-i+1))-m1*V[i])/(M0+m1*(n-i));
Координаты центра масс остатка!
Sc[i]:=Sc[i-1]+DD[i-1]+Vc[i]*dt;
Координаты центра масс дробинок!
Вычисление должно быть похоже на вычисление
S[i]
CM[i]:=sum(Sc[k-1]+DS[k-1]+V[k]*(i-k+1)*dt,k=1..i)/i;
Координаты центра масс всей системы!
CMc[i]:=(m1*i*CM[i]+(M0+m1*(n-i))*Sc[i])/(M0+m1*n);
конец процедуры
Warning, `m1` is implicitly declared
local to procedure `Non_jet`
Warning, `i` is implicitly declared
local to procedure `Non_jet`
Warning, `df` is implicitly declared
local to procedure `Non_jet`
Объявление процедуры Jet - расчет для системы
с реактивным отделением
Здесь все, практически, то же самое.
Величины такие же, помечены буквой "j".
Разумеется, отсутствуют величины: DD, DS,
VDS.
global Vj,Sj,Vcj,Scj,dt,CMcj,CMj;
Vj[0]:=0;Vcj[0]:=0;Scj[0]:=0;Sj[0]:=0;CMcj[0]:=0;
CMj[0]:=0;
Цикл заполнения Vj[i],Sj[i],Vcj[i],Scj[i],CMj[i],CMcj[i]
Скорость дробинки.
Расстояние, пройденное дробинкой
Sj[i]:=Scj[i-1]+Vj[i]*(n-i)*dt;
Скорость ЦМ
остатка .
Я просто беру суммарный импульс летящих дробинок.
Импульс остатка равен этой величине.
Делим на массу - получаем скорость!
Vcj[i]:=-(m1*sum(Vj[k],k=1..i))/(M0+m1*(n-i));
Координаты Центра Масс остатка!
Scj[i]:=Scj[i-1]+Vcj[i]*dt;
Координаты Центра Масс дробинок!
CMj[i]:=sum(Scj[k-1]+Vj[k]*dt*(i-k+1),k=1..i)/i;
Центр масс всей системы!
CMcj[i]:=(m1*i*CMj[i]+(M0+m1*(n-i))*Scj[i])/(M0+m1*n);
Warning, `m1` is implicitly declared
local to procedure `Jet`
Warning, `i` is implicitly declared
local to procedure `Jet`
Начало расчета
Количество "дробинок"
"оцифровка" переменных.
Необходима для построения графиков
r
-радиус центрифуги
w
-угловая скорость вращения центрифуги
M1c
-суммарная масса дробинок, находящихся в каждой системе
M0
-масса пустого корпуса каждой системы
w:=w; M1c:=1; M0:=10;w:=1;r:=1;
Результаты расчетов
:
#=================================================================================================
Графики относительных смещений "Дельта" и
"Дельта-дельты"
PDD:=[[Time[i],DD[i]]
$i=0..n]: # набор для графика DD (дельта дельты)
PDS:=[[Time[i],DS[i]]
$i=0..n]:# набор для графика DS (дельты)
plot(PDD,t=0..2*Pi/w,title="Дельта
дельты",axes=frame);
plot([PDS,PDD],t=0..2*Pi/w,title="Большая
кривая - смещение 'дельта', малая - 'дельта дельты', ",axes=frame,legend=["дельта
DS","дельта дельты DD"]);
В первом полупериоде, расстояние DS положительно
и возрастает.
#=================================================================================================
График относительной скорости перемещения
оси вращения (точки отделения дробинок) относительно ЦМ остатка
.
PVDS:=[[Time[i],VDS[i]]
$i=0..n]:# набор для графика относительной скорости VDS
В первом полупериоде, скорость VDS положительна.
И направление совпадает с направлением движения
оторвавшейся дробинки!
#=================================================================================================
Sc и Scj - координаты ЦМ "остатка". Данный
график иллюстрирует изменение этих координат со временем.
PScj:=[[Time[i],Scj[i]]
$i=0..n]:# набор для графика положения ЦМ остатка при реактивном движ.
PSc:=[[Time[i],Sc[i]]
$i=0..n]:# набор для графика того же самого для центрифуги.
plot([PSc,PScj],t=0..2*Pi/w,title="Перемещение
ЦМ остатков",legend=["ЦМ остатка центриф","ЦМ остатка реактив"]);
Графики совпадают
#================================================================================================
График "цепочек" дробинок, т.е. положение
дробинок в момент окончания цикла.
PSj:=[[Sj[n-j],j] $j=0..n-1]:#
набор для графика положения дробинок (реактивное движ)
PS:=[[S[n-j],j] $j=0..n-1]:#
набор для графика положения дробинок (центрифуга)
plot([PS,PSj,PS,PSj],s=S[n]..S[1],title="Положение
дробинок в момент окончания цикла.( Временной срез)", labels=["расстояние
от точки старта в момент времени t=2Pi/w","Номер дробинки"],legend=["цепочка
от центрифуги","цепочка от реактив"," "," "],style=[line,line,point,point],color=[red,blue,red,blue],symbol=circle,symbolsize=5);
На графике виден явный "горб".
#================================================================================================
Графики перемещения Центров масс всех компонентов
систем
PCMj:=[[Time[j],CMj[j]]
$j=0..n]:# набор для графика Центра масс цепочек дробинок при "обычном"
реактивном.
PCM:=[[Time[j],CM[j]]
$j=0..n]:# набор для графика того же самого для центрифуги
plot([PSc,PScj,PCM,PCMj],t=0..2*Pi/w,title="Нижняя
часть графика-перемещение ЦМ остатка,верхняя- перемещение ЦМ цепочки дробинок",legend=["ЦМ
остатка центрифуги","ЦМ остатка реактив","ЦМ шлейфа центриф","ЦМ шлейфа
реактив"],color=[red,green,brown,blue]);
Две кривые в нижней части графика совпадают.
Это графики перемещения Центров Масс корпусов
с остатками груза.
#================================================================================================
Этот график - "верхняя часть" предыдущего
графика, где собраны 4 кривые.
Подчеркну: CM и CMj - это именно
центры масс
цепочек дробинок в каждый момент времени.
plot([PCM,PCMj],t=0..2*Pi/w,title="Перемещения
ЦМ дробинок в течение рабочего периода",legend=["ЦМ шлейфа выброса центрифуги","ЦМ
шлейфа выброса реактив"]);
#================================================================================================
Специальное построение графика,на котором
видно изменение плотности распределения
частиц груза в цепочках выброса.
PSj:=[[Sj[n-j],0] $j=0..n-1]:#
набор для условного графика реактив.
PS:=[[S[n-j],0.1] $j=0..n-1]:#
набор для условного графика центриф.
plot([PS,PSj,[[0,1],[S[1],1]],[[0,-1],[S[1],-1]]],S=0..S[1],title="Визуализация
распределения дробинок в цепочке",style=point,axes=none,scaling=unconstrained,legend=["центрифуга","реактив","_","_"],color=[red,blue,white,white],symbol=circle,symbolsize=5);#
#================================================================================================
График траекторий дробинок
DS[0] DS -таблицы значений расстояний: от
ЦМ остатка до оси вращения M0, т.е до точки отделения частицы
Sc[i] Координаты центра масс остатка!
S[i] Расстояние, пройденное дробинкой
PScDs:=[[[Sc[j]+DS[j],n-j],[S[j],0]]
$j=1..n ]:#набор для графика движения дробинок not_jet.
Pl1:=plot(PScDs,s=S[1]..S[n],color=red):
PScDsj:=[[[Scj[j],n-j],[Sj[j],0]]
$j=1..n ]:#набор для графика движения дробинок jet.
Pl2:=plot(PScDsj,s=Sj[0]..Sj[n],color=blue,linestyle=DASH):
Pl_axe_X0:=plot([[0,n],[0,0]],color=green):
display([Pl1,Pl2,Pl_axe_X0],axes=frame);#,legend=["центрифуга","реактив"]
#================================================================================================
График абсолютных скоростей дробинок в
цепочках выбросов.
PVj:=[[j,Vj[j]] $j=1..n]:#
набор для графика изменения скоростей реактив.
PV:=[[j,V[j]] $j=1..n]:#
набор для графика изменения скоростей центриф.
plot([PV,PVj],number=1..n,title="Абсолютные
скорости дробинок", legend=["центрифуга","реактив"],color=[red,blue]);#
#================================================================================================
График, иллюстрирующий изменение скоростей
дробинок в цепочке выброса.
Т.е. разница в скоростях последующей "дробинки"
от предыдущей.
PDVj:=[[j,evalf(Vj[j+1]-Vj[j])]
$j=0..n-1]:# набор для графика изменения скоростей реактив.
PDV:=[[j,V[j+1]-V[j]]
$j=0..n-1]:# набор для графика изменения скоростей центриф.
plot([PDV,PDVj],nn=0..n-1,title="Изменение
скоростей дробинок",legend=["центрифуга","реактив"],color=[red,blue],axes=frame);#
#================================================================================================
График, иллюстрирующий изменение скоростей
Центров масс цепочек
дробинок и ЦМ остатков [корпус+остаток груза]
PVCMj:=[[Time[j],(CMj[j+1]-CMj[j])/dt]
$j=1..n-1]:# набор для графика изменения скоростей реактив.
PVCMcj:=[[Time[j],(CMcj[j+1]-CMcj[j])/dt]
$j=1..n-1]:# набор для графика изменения скоростей реактив.
PVCM:=[[Time[j],(CM[j+1]-CM[j])/dt]
$j=1..n-1]:# набор для графика изменения скоростей центриф.
PVCMc:=[[Time[j],(CMc[j+1]-CMc[j])/dt]
$j=1..n-1]:# набор для графика изменения скоростей центриф.
plot([PVCM,PVCMj],t=dt..2*Pi/w,title="Изменение
скоростей ЦМ дробинок",legend=["шлейф центрифуга","шлейф реактив"],color=[red,blue]);#
plot([PVCMc,PVCMcj],t=dt..2*Pi/w,title="Изменение
скоростей ЦМ остатков",legend=["остаток центриф","остаток реактив"],color=[red,blue],axes=frame);#
#================================================================================================
Здесь представлена разность двух кривых с
графика "Изменение скоростей ЦМ дробинок"
PDCM:=[[Time[j],CM[j]-CMj[j]]
$j=0..n]:# набор для графика разницы в положении ЦМ цепочек дробинок.
plot(PDCM,t=0..2*Pi/w,axes=frame,title="Разница
в положении ЦМ цепочек дробинок с течением времени");
#===============================================================================================
График координат ЦЕНТРОВ МАСС
систем за рабочий период
PCMcj:=[[Time[j],CMcj[j]]
$j=0..n]:# набор для графика ЦМ всей реактивной системы
PCMc:=[[Time[j],CMc[j]]
$j=0..n]: # набор для графика ЦМ системы с центрифугой
plot([PCMc,PCMcj],t=0..2*Pi/w,axes=frame,title="Положение
ЦМ всех систем",legend=["ЦМ Центрифуга","ЦМ реактив"],style=[line,line]);
#==============================================================================================
Проверка!
Проверка заключается в вычислении
суммарного импульса системы с центрифугой.
Рассчитывается импульс "остатка" через скорость ЦМ, и импульс, как сумма импульсов
всех компонентов, входящих в "остаток".
Эти величины сравниваются с суммарным импульсом цепочки "дробинок".
Абсолютная скорость оси центрифуги:
Импульс остатка, как сумма импульсов компонентов
системы:
Qost[i]:=MVc1[i]+Vos[i]*((n-i)*m1+M0);
Количество движения цепочки дробинок:
Qdr[i]:=m1*sum(V[k],k=0..i);
Импульс остатка через скорость ЦМ:
Qcm[i]:=Vc[i]*(M0+m1*(n-i));
PQost:=[[Time[j],Qost[j]]
$j=0..n]:
PQdr:=[[Time[j],Qdr[j]]
$j=0..n]:
PQcm:=[[Time[j],Qcm[j]]
$j=0..n]:
Psumm:=[[Time[j],Qost[j]+Qdr[j]]
$j=0..n]:
plot([PQost,PQdr,PQcm,Psumm],t=0..2*Pi/w,title="Импульсы
компонентов системы с центрифугой",legend=["Импульс остатка через сумму
импульсов компонентов","Импульс летящих дробинок","Импульс остатка через
скорость ЦМ","сумма"],color=[red,green,brown,blue],style=[line,line,point,line],symbol=circle,symbolsize=5);
График суммарного импульса системы
plot(Psumm,x=0..2*Pi/w,title="Сумма",color=blue,axes=boxed);
Сайт создан в системе
uCoz