TuringLab is a collection of physics-based discrete-time simulation modules designed for computational scientists, engineers, and researchers. It encompasses numerical solvers, inverse problem frameworks, and optimization tools, all implemented in Python.
The repository is organized into the following key modules:
accoustic_waves/— Simulations of acoustic wave propagation using finite difference methods.fbp/— Implementation of Filtered Back Projection for computed tomography reconstruction.fourier_optics/— Experiments related to Fourier optics and wave propagation.harmonic_oscillator/— Models of harmonic oscillators and their dynamics.heat_equation/— Numerical solutions to the heat equation in various dimensions.inverse_problems/— Frameworks for solving inverse problems in physics.multi-agent/— Simulations involving multiple interacting agents.optimization/— Optimization algorithms applied to physical systems.solvers/finite_difference/— Finite difference solvers for partial differential equations.
Ensure you have Conda installed.
git clone https://github.com/Dexter575/TuringLab.git
cd TuringLabCreate and activate a Conda environment:
conda create -n turinglab_env python=3.8
conda activate turinglab_envInstall the required packages:
pip install -r requirements.txtIf requirements.txt is missing, install common dependencies manually:
pip install numpy scipy matplotlib pintTo run experiments, navigate to the respective module directory and execute the desired script.
Example (from the Fourier Optics module):
python fourier_optics/experiment_one.py
python fourier_optics/experiment_two.pyReplace the filenames with the scripts in other modules as needed.
Each module contains its own README.md file with:
- Theoretical background
- Experiment explanations
- Usage instructions
Refer to those for detailed module-specific guidance.
Contributions are welcome!
If you have suggestions for improvements or new modules, feel free to:
- Fork the repository
- Create a feature branch
- Submit a pull request
This project is licensed under the MIT License.
Visit the main repository here: TuringLab on GitHub
- Idrees M. (Dexter575) — Project Creator and Core Developer
GitHub Profile - Contributions are welcome! Feel free to add your name here via Pull Request if you contribute.