POEME: A good model works. A great model is a work of art. (This code is currently in beta. See about section for details.)
POEME (pronounced "poem") is a python-based object-oriented modular engineering environment code. It is designed to solve your problems, supporting many kinds of physics-based modeling such as electric circuit modeling, a spring mass dynamic system, and thermodynamic cycle system modeling and Brayton thermodynamic cycles in particular. The thermodynamic system models include an air conditioner cycle, a transient ground power system with a PIV controller, and a commercial turbofan engine running a flight envelope.
This codebase is currently in early beta! It will be subject to breaking API changes. Additionally, this README is woefully inadequate. There is currently limited API documentation. There is currently no implemented testing. That said, if you would like to contribute, feel free to open a pull request!
contact: cheesie_67@yahoo.com
To run the examples, go to the tests/ directory and type python <test_file_name>.py. These tests can serve as a starting point to learn from and modify.
The models are:
turbofan_test.py— Runs a commercial turbofan engine over a flight envelope.brayton_cantera.py— Runs a transient turbojet power generator with a PIV controller. Uses thecanterapackage to determine gas properties. This model is completely notional and not based on any real design.spring_mass_test.py— A dynamic spring system that oscillates when perturbed from equilibrium.lcr.py— An electric circuit with a resistor, capacitor, and an inductor.ac.py— A notional air conditioner flow circuit.
- Feature one
- Feature two
- Feature three
- Python 3.9 or higher
- pip
git clone https://github.com/POEME-Modeling/POEME/tree/docs
cd poemeIt is strongly recommended to use a virtual environment to avoid conflicts with other Python projects on your system.
Create the virtual environment:
python -m venv .venvActivate the virtual environment:
On macOS/Linux:
source .venv/bin/activateOn Windows (Command Prompt):
.venv\Scripts\activate.batOn Windows (PowerShell):
.venv\Scripts\Activate.ps1You should see (.venv) appear at the start of your terminal prompt, confirming the environment is active.
To deactivate the virtual environment when you're done:
deactivateFor regular use, install the package and its dependencies:
pip install .For development, install in editable mode with development dependencies:
pip install -e ".[dev]"For usage examples, see the tests in the tests/ directory.
poeme/
├── LICENSE
├── README.rst
├── docs/
├── pyproject.toml
├── src/
│ └── poeme/
│ ├── __init__.py
│ ├── brayton/
│ ├── core/
│ ├── electrical/
│ ├── spring_mass/
│ └── working/
└── tests/
Contributions are welcome! To get started:
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature-name) - Make your changes
- Run the tests (
pytest) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/your-feature-name) - Open a Pull Request
Please make sure your code follows the existing style and that all tests pass before submitting.
Please note: pull requests created solely by AI bots, or pull requests submitted by human accounts but which were clearly written entirely by AI bots will be closed without further action.
This project is licensed under the MIT License.
Project Link: https://github.com/POEME-Modeling/POEME