Giter Club home page Giter Club logo

rft_cs's Introduction

Edit in Eraser

RFT_CS

Rocket fuel and trajectory computing system An application for calculating the amount of rocket fuel and oxidizer used. Numerical simulation of rocket flight, (i.e. simulation of the rocket flight environment). Determination of the coordinates of the flight and landing of the rocket (both for ballistic missiles and for space)

Are you sure I'm not coming to your house?

The project is based on the use of formulas:

- The sum of all velocities affecting the rocket
- The model of the moment of the resistance force
- Rotation matrix
- Gravity losses
- Aerodynamic losses
- Loss of speed on control
- Mass of the rocket structure, etc.

The theoretical part

  • Links All formulas and calculations can be found in the folder Source
  • Calculations You can find all computation in the folder: Theory
  • Documentation Project documentation: Docs

Tools

- Python 3.10
- Numpy 1.23
- Scipy 1.9
- Matplotlib 3.5
- flake8 5.0
- pytest 7.1
- poetry 22.1

Develop

  1. Install Python 3.9 or later and Poetry 1.3 or later.
  2. Clone this repository
  3. Run poetry install to install the Python dependencies.
  4. Activate environment source .venv/bin/activate
  5. Go to RFTCS/ directory
  6. Run python3 main.py

Example

def volume_cylindrical_cavity(self):
try:
    log_info.info("Запуск функции 'volume_cylindrical_cavity'")
    R_n = self._cylindrical_cavity()
    V = np.pi * float((R_n**2) * self.L)
except Exception as e:
    logger.error(e)
    sys.exit(1)
return V

rft_cs's People

Contributors

david2261 avatar snyk-bot avatar

Stargazers

 avatar  avatar

Watchers

 avatar

rft_cs's Issues

Отображение информации

  • Нужно написать красивый вывод информации в виде таблицы или в виде красивых строк.
    Инструменты: prettytable и colorama
  • Нужно написать красивый ввод данных.

Документация (LaTeX)

Нужно добавить документацию написанную на LaTeX с конфигурацией:

  • pt 12
  • times
  • report
  • a4paper

Расчет полета балестических ракет

Нужно написать функцию (-ии), которые позволят определять, с помощью места взлета и траектории полета - место приземления ракеты.
Эту задачу нужно написать в новый файл, с названием: calculation of rocket landing

CPython API Flight Trajectory

  • api_double_angle_sine
  • api_flight_range
  • api_flight_time
  • Нужно написать тесты для этих API
  • Добавить документацию про них
  • Добавить логгирование

Графики и Тренды

Вывод результатов в более читабельном формате

Нужно вывести результаты в виде графиков или трендов.
Нужно использовать matplotlib, scipy, numpy.

Пример:

graphic_examples

Directories

Нужно правильно разложить файлы по отдельным директориям, типо:

  • RFTCS
  • core
  • settings
  • exceptions
  • logging
  • charts
  • tests
  • core_test
  • settings_test
  • charts_test

Установка проекта

Нужно добавить bash скрипты для возможность установки этого проекта на свой пк

Оптимизация кода

Я хочу оптимизировать код на python, с использованием C extends и с помощью асинхронных функций.
Пример времени работы алгоритма:
Это время выполнения rocket flight simulation

  • Python: 7569 мкс
  • C: 286 мкс

Написать тесты для файла rocket_flight_simulation

Нужно написать тесты файла с численным моделированием полета ракеты

Проверка функций:

  • _body_area
  • resistance_force
  • frontal_area
  • environmental_resistance
  • resistance_force_env
  • gravity_losses
  • aerodynamic_loses
  • loss_speed_on_control
    Можно использовать unittests и pytest

Исключения

Добавить функции по отлавливанию ошибок, для каждого ввода данных.

CPython API Flight Simulation

Нужно написать API для оптимизации работы алгоритмов по симуляции полета ракеты:

  • api_distance_N_step

  • api_tg_Beta

  • api_elliptical_range

  • api_mass_rocket

  • api_amount_gas_released

  • api_overpressure

  • api_thrust_force

  • api_impuls

  • api_height_force

  • api_cylindrical_cavity

  • api_volume_cylindrical_cavity

  • api_aerodynamic_pressure

  • api_aerodynamic_drag

  • api_gravitation_losses

  • api_control_losses

  • api_resultant_force

  • api_rocket_acceleration

  • api_rocket_speed

  • Нужно написать тесты для этих функций

  • Добавить логгирование

  • Добавить документацию про это

Миксины

Нужно написать миксины для тестов функций.
Это нужно сделать в отдельной директории

Запись в БД формата JSON

  • Требуется создать функцию создания таблицы данных
  • Функции CRUD с данными в БД
  • Посмотреть, как вариант использовать MongoDB виде СУБД
  • Также связать его с основными вычислениями ядра проекта
  • Добавить функцию логгирования и разные виды исключений
  • Добавить в документацию проекта

CPython API Fuel Calculation

  • api_natural_logarithm
  • api_euler
  • api_total_speed
  • api_total_oil
  • Добавить тесты для этих функций
  • Добавить логгирование
  • Добавить документацию

Документация (Мануал) для файла с математическим моделированием движения тел

Нужно написать описание функций для файла rocket_landing_calculation.py

Для функций и их параметров:

  • calculation_rocket_movement
  • vector_speed
  • rocket_flight_description

Описать константы:

  • Расход топлива
  • Скорость истечения газов
  • Ускорение свободного падения
  • Коэффициент лобового сопротивления

Важно не забыть добавить описание к функции:

  • environmental_resistance
    В файле rocket_flight_simulation

Github CI/CD

Must be write github actions for:

  • Testing the base code wroten on python (and c) - use pytest/unittest
  • Liking the base code with flake8, pycodestyle and mypy
  • Add to the documentation

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.