Список форумов Форум космопорта Форум космопорта
Космос и все, что с ним связано...
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Программы

 
Начать новую тему   Ответить на тему    Список форумов Форум космопорта -> Техника
Предыдущая тема :: Следующая тема  
Автор Сообщение
Непризнанный Гений
Ветеран


Зарегистрирован: 27.02.2005
Сообщения: 606

СообщениеДобавлено: 19 Янв 2006 [06:57]    Заголовок сообщения: Программы Ответить с цитатой

Что-то у меня PROPEP в DOSBOX под Linux не работает...

И раньше у меня была другая программа, но я её стёр.

Выкладывайте сюда ссылки на программы для расчёта ракетных двигателей.

http://www.arocketry.net/propep.html
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ruata matsu
Ветеран


Зарегистрирован: 17.02.2005
Сообщения: 830
Откуда: Uk

СообщениеДобавлено: 24 Янв 2006 [11:37]    Заголовок сообщения: Re: Программы Ответить с цитатой

нет ли руководства пользователя для пропера, что то ни как не разберусь...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Непризнанный Гений
Ветеран


Зарегистрирован: 27.02.2005
Сообщения: 606

СообщениеДобавлено: 25 Янв 2006 [12:38]    Заголовок сообщения: Ответить с цитатой

Надо выбрать компоненты из списка, указать их в файле и запустить. Там в README.txt написано. Главное формат фортрановский соблюдать - то есть если I5 - то это число должно занять вместе с пробелами пять символов.


Есть ещё Web-интерфейс для GPL версии (на C) (http://rocketworkbench.sourceforge.net/equil.phtml)

Там так же - ищем компоненты в списке (http://rocketworkbench.sourceforge.net/cgi-bin/cpropep-web.cgi/list), заполняем форму и считаем.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
zenixt
Ветеран


Зарегистрирован: 14.04.2005
Сообщения: 1278
Откуда: Россия

СообщениеДобавлено: 04 Мар 2006 [08:40]    Заголовок сообщения: Ответить с цитатой

Вот мой алгоритм для расчета орбиты многоступеньчатой ракеты. Параметры установлены для нашей сверхдешевой ракеты - конкурента Falcon-1
Я даже попытался учесть сопротивление воздуха. Правда это справедливо до 300 м/сек. При сверхзвуковой скорости сопротивление воздуха рассчитывается по формуле k*x - где x-число Маха, k- коэффициент, зависящий от высоты. Желающие могут добавить эту формулу и посмотреть,что выйдет.

Цитата:
// Traektr0View.cpp : implementation of the CTraektr0View class
// для MFC
#include "cmath"
/////////////////////////////////////////////////////////////////////////////
double gm0;
double a;
double R;//Радиус орбиты
double R0;//Радиус Земли
double vy;
double vx;
double dvy;
double dvx;
double v;//скорость ракеты
double alfa;//угол полета
double dl;
double dt;
double dR;
double dbeta;
double beta;//угловой путь ракеты
double x;
double y;
double c;
double pi;

int i0a;
int j0a;
int fl;
char znm2[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

double mn;//масса ракеты
double m1;//масса газов, выбрасываемых за секунду
double v1;//удельный импульс
double kx1;
double kx2;
double gama;//угол положения ракеты
double vn;
double v2;
double nu;//вязкость воздуха
double r;//лобовой радиус ракеты

CTraektr0View::CTraektr0View()
{
// TODO: add construction code here
R=6371000;R0=6371000;
c=6371000/150;
vx=0;dvx=0;dvy=0;vy=0;dt=0.01;
v1=2620;
fl=100;
r=3.2;
alfa=0;pi=3.141592;
gm0=6.672*5.978*10000000000000;
v=0;//sqrt(pow(vy,2)+pow(vx,2));
}

void CTraektr0View::OnDraw(CDC* pDC)
{
CTraektr0Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CClientDC ClientDC(this);
//if(fl==10)goto a1;
a=gm0/pow(R,2);
if(alfa<pi)alfa=acos(vx/v);
else asin(vy/v);
dl=vx*dt;
dR=vy*dt;
R=sqrt(pow((R+dR),2)+pow(dl,2));
dbeta=asin(dl/R);

v_ot_m();
vy=vy-a*dt;
vx=vx+dvx;vy=vy+dvy;
v=sqrt(pow(vy,2)+pow(vx,2));

vx=vx*cos(dbeta)-vy*sin(dbeta);
vy=vy*cos(dbeta)+vx*sin(dbeta);

beta=beta+dbeta;
x=R*sin(beta)/c;
y=R*cos(beta)/c;
pDC->SetPixel(250+(int)x,200-(int)y,19);
x=R*sin(beta)*20000/6371000;
y=R*cos(beta)*20000/6371000;
pDC->SetPixel(10+(int)x,20520-(int)y,19);

ClientDC.TextOut(430,0,"Скорость: ");
j0a=0;
sprintf(znm2,"%f",v);
for(i0a=0;i0a<20;i0a++){
ClientDC.TextOut(i0a*12+500,j0a*15,znm2[i0a]);
}

ClientDC.TextOut(440,15,"Радиус: ");
j0a=1;
sprintf(znm2,"%f",R);
for(i0a=0;i0a<20;i0a++){
ClientDC.TextOut(i0a*12+500,j0a*15,znm2[i0a]);
}
ClientDC.TextOut(440,45,"Высота: ");
j0a=3;
x=R-R0;
sprintf(znm2,"%f",x);
for(i0a=0;i0a<20;i0a++){
ClientDC.TextOut(i0a*12+500,j0a*15,znm2[i0a]);
}
RECT Rect;
Rect.left=0;//i00*10;
Rect.top=0;
Rect.right=Rect.left+500;
Rect.bottom=Rect.top+600;
InvalidateRect(&Rect,FALSE);
//fl=10;
//a1:;
}

/////////////////////////////////////////////////////////////////////////////
// CTraektr0View message handlers
void CTraektr0View::v_ot_m()
{
CClientDC ClientDC(this);
if(fl==100){mn=26040;m1=216;gama=0;fl=0;kx10();}
if(fl==0){if(mn<=16968){mn=mn-1008;m1=108;fl=1;kx10();}}
//отстрел первой ступени, 1008 - масса 6 пустых блоков
if(fl==1){if(mn<=6888){mn=mn-708;m1=18;fl=2;kx10();}}
//отстрел второй, 708 - это масса шести пустых блоков
if(fl==2){if(mn<=4668){mn=mn-68;fl=3;kx10();}}
//третьей
if(fl==3){if(mn<=3088){mn=mn-68;fl=4;kx10();}}
// 4
if(fl==4){if(mn<=1508){mn=mn-68;m1=18;fl=5;kx10();}}
// 5-ой
/////////регулировка угла положения ракеты
if(v>=1)gama=(v+4180)*pi/(10000*2);
if(gama>=(pi/2))gama=pi/2;
////////
if(fl<=5){
if(mn>685){
vn=kx1/mn;
mn=mn-kx2;
nu=1.72/pow(2.718,(0.000125*(R-R0)));
v2=6*pi*nu*r*vn*dt/mn;
vn=vn-v2;

dvx=vn*sin(gama);dvy=vn*cos(gama);
}
else {dvx=0;dvy=0;}
}
ClientDC.TextOut(440,30,"Масса: ");
j0a=2;
memset(znm2,32,sizeof(znm2));
sprintf(znm2,"%f",mn);
for(i0a=0;i0a<20;i0a++){
ClientDC.TextOut(i0a*12+500,j0a*15,znm2[i0a]);}
}

void CTraektr0View::kx10()
{
kx1=m1*v1*dt;kx2=m1*dt;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум космопорта -> Техника Часовой пояс: GMT + 2
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах