Ennsye / CDT

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CDT is a tool for simulating catapults, written mostly in Python. Specifically, catapults that can be represented as a forced double pendulum. Think medieval counterweight trebuchet, but with bands or springs instead of a counterweight. It can be used as either a Python package or a standalone tkinter GUI. New users will probably want to get familiar with the GUI version first. If you do engineering or scientific computing in Python, chances are you already have what you need to run CDT.
The tex source for the user manual is included. The manual itself can either be compiled by the user, or viewed on Overleaf here:
https://www.overleaf.com/read/ftdshxybqrvt

Linux
The set of dependencies listed in requirements.txt have been tested and work as of 2024.
Older and/or newer versions will probably work. Networkx underwent a significant syntax change in September 2017, so versions from before then likely won't work.
Note that you will need a compiler toolchain.

Recommended procedure:
Clone the repository
Create a virtual environment (see the excellent explanation and guide at https://docs.python.org/3/tutorial/venv.html)
Activate the venv and pip install the requirements
Build using:
$ python setup.py build_ext --inplace

Running the GUI:
Open the CDT directory in a terminal, and run:
$ python GUI.py

That's it!

Windows support is not guaranteed, but has been tested and should work similarly to the above procedure.

About

License:GNU General Public License v3.0


Languages

Language:Python 49.1%Language:Jupyter Notebook 38.2%Language:TeX 8.0%Language:C 4.6%Language:Batchfile 0.1%