{"id":21590949,"url":"https://github.com/spaceteam/orleg","last_synced_at":"2025-05-05T17:38:39.069Z","repository":{"id":198945210,"uuid":"226693937","full_name":"SpaceTeam/ORLEG","owner":"SpaceTeam","description":"OpenRocket Liquid Engine Generator","archived":false,"fork":false,"pushed_at":"2023-06-11T18:05:22.000Z","size":418,"stargazers_count":10,"open_issues_count":1,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-30T22:41:31.528Z","etag":null,"topics":["engine","openrocket","rocket"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpaceTeam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-12-08T16:06:06.000Z","updated_at":"2025-03-19T01:16:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"ae46c5ae-f76e-4713-9af2-f763bb1d30e7","html_url":"https://github.com/SpaceTeam/ORLEG","commit_stats":null,"previous_names":["spaceteam/orleg"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpaceTeam%2FORLEG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpaceTeam%2FORLEG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpaceTeam%2FORLEG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpaceTeam%2FORLEG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpaceTeam","download_url":"https://codeload.github.com/SpaceTeam/ORLEG/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252543911,"owners_count":21765243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["engine","openrocket","rocket"],"created_at":"2024-11-24T16:21:17.359Z","updated_at":"2025-05-05T17:38:39.047Z","avatar_url":"https://github.com/SpaceTeam.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ORLEG - OpenRocket Liquid Engine Generator\n\n## Introduction\n\nOpenRocket is an open source 6 degree of freedom simulation tool initially developed for high power rocketry flight simulations. Due to import regulations of commercial rocketry simulation programs (RocksimPro), OpenRocket is extensively used in the realms of european experimental- and high power rocketry. While the program itself excels in terms of intuitive handling and reasonable simulation data, there is no tool for generating custom rocket engines included in the program. Also, due to usual short burntime and low level flights, Engine Altitude Compensation is not implemented in OpenRocket. Especially for teams that are designing their own liquid- or hybrid bipropellant rocket engines, this is a huge disadvantage.\n\nORLEG is a program/toolbox designed for simulating liquid (hybrid not implemented yet) rocket propulsion systems and generating engine files for the use in OpenRocket and other commercial simulation software. In its current state, the python based programm is capable of calculating engine parameters, modeling and simulating the feed system, calculating mass and CG changes due to flowing propellants and pressurants and accounting for changes in engine performance due to changes in ambient pressure. Due to OpenRocket requiring fixed thrust curves, the engine performance altitude compensation has to be done iteratively.\n\n## Usage\n\n### Installing\n\nTo install the required dependencies and Fortran compiler, run the install.sh script with:\n\n```sudo chmod +x install.sh```\n\nAnd then:\n\n```./install.sh```\n\n### Requirement Management\n\nThis project uses the `pip-tools` requirements management workflow.\nIf you want to introduce a new requirement to the project add its name to `requirements.in`, or `requirements-dev.in` if its only used for development.\nTo add the added requirements to the `requirements*.txt` files run:\n\n```pip-compile requirements.in \u0026\u0026 pip-compile requirements-dev.in```\n\nTo install the added dependencies into the environment run  !!!Caution, only do this in an venv or docker container!!!:\n\n```pip-sync requirements.txt \u0026\u0026 pip-sync requirements-dev.txt```\n\n### General\n\nORLEG.py is the main file where the model of the propulsion system is described an simulated using various classes for the system components.\nSystem parameters are currently split between inputFiles/parameters.py and ORLEG.py, this will be unified in the future.\n\n### Pressure Data Input\n\nTo calculate the engine performance, which depends on the ambient air pressure, ambient pressure data is needed.\nIt is supplied to the program in the form of the inputFiles/pressuredata.csv file, which is generated using OpenRocket and contains timestamps, ambient pressure and altitude (unused).\n\n### Implementing Engine in OpenRocket\n\nIf the engine file (saved in outputFiles) is used the first time, the thrust curve needs to be imported to OpenRocket.\nThis can be done at the setup menu by entering the file path of the engine file.\nThis is only necessary, if the name of the file changes.\nThrust curve updates and changes do not need to be iimported again after altering the data file.\nThe Engine can now be used and found in the motor database under its manufacturer and engine name just like the default motors.\nWhen the thrust curve file is updated, OpenRocket has to be restarted tu update the data.\n\n### Altitude Compensation curve fitting\n\nIn order to fit the engine thrust curve to the flight path, an iterative approach has to be used.\nAfter simulating the flight, simulation data has to be exported as pressuredata.csv and saved to inputData.\nThis file must include time, altitude and ambient pressure.\nNext, update the engine file by running ORLEG and use it for the next OpenRocket flight simulation.\nRepeat those steps, this method usually converges after three iterations.\n\n### Output File\n\nAs output format, the rocksim engine file (.rse) type is used.\nThis file is more complicated than the standard .eng file but allows for changes of center of gravity and non-constant mass change.\nThese features are vital for simulating liquid or hybrid rockets.\nDrafts for the .rse file system can be found at the following link: \u003chttp://wiki.openrocket.info/RSE_File\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspaceteam%2Forleg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspaceteam%2Forleg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspaceteam%2Forleg/lists"}