Skip to content

Sanjaykumar030/DiffEqnSolver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧮 Differential Equation Solver – GUI Application

An interactive full-screen Python tool for solving nth-order linear ODEs with constant coefficients, now with new features in update.py.

Python
SymPy
GUI
License: MIT


📌 Project Structure

ddifferential-equation-solver/
│
├── LICENSE # Project license
├── README.md # Project documentation
├── main.py # Original stable version (renamed from DiffEqn Solver.py)
├── update.py # New features and enhancements
│
└── figures/ # Folder for images and outputs
├── general_GUI.png # Screenshot of GUI
├── sample_output.png # Original sample output
└── updated_sample_output.png # Updated sample output

⚙️ main.py — Original Features

The base version supports:

  • ✅ Solves nth-order linear ODEs with constant coefficients (up to 6th order)
  • ✅ Auto-computes:
    • Auxiliary (characteristic) equation
    • Roots (real, complex, repeated)
    • Complementary function (CF)
  • ✅ Displays time taken for computation
  • ✅ Live equation preview while typing coefficients
  • ✅ Real-world applications shown for each equation order
  • 🖥️ Full-screen GUI with tkinter
  • 🧠 Symbolic computation via sympy

update.py — New & Improved Features

  • 🔹 Enhanced Input System
    • Better coefficient handling with error validation
    • Support for quick clearing and resetting input fields
  • 🔹 Step-by-Step Solution Mode
    • Shows derivation of CF with explanations
    • Highlights root multiplicity in detail
  • 🔹 Extended Output
    • Adds equation order classification (overdamped, oscillatory, etc.)
    • Displays root plots for visual understanding
  • 🔹 UI Improvements
    • Cleaner font styles and dynamic resizing
    • Option to toggle dark/light mode
  • 🔹 Performance Boost
    • Optimized symbolic computations for large-order equations

📷 Screenshots

Full Old GUI View

Old GUI Screenshot

Full New GUI View

Main GUI Screenshot

Sample Output


🧰 Technologies & Concepts

Domain Tools / Concepts Used
Programming Language Python 3
GUI Toolkit tkinter
Symbolic Computation sympy (including dsolve, sympify)
Math Foundation Linear ODEs, Method of Undetermined Coefficients, Cauchy-Euler Equations, CF, PI, GS
Development Practice Modular design, Event-driven programming, Dynamic UI generation, Error handling

▶️ Getting Started

✅ Prerequisites

  • Python 3.8 or higher
  • A virtual environment (e.g., venv or conda) is highly recommended.

🔧 Installation

  1. Clone this repository:
    git clone [https://github.com/Sanjaykumar030/DiffEqnSolver.git](https://github.com/Sanjaykumar030/DiffEqnSolver.git)
    cd DiffEqnSolver
  2. Install dependencies:
    pip install -r requirements.txt
  3. Run the application:
    python update.py

🧠 Educational Value

The update.py version transforms this tool into a comprehensive learning environment. It reinforces:

  • The structural differences between Homogeneous, Non-Homogeneous, and Cauchy-Euler equations.
  • The concept of the complete solution ($y = y_c + y_p$).
  • How the form of $f(x)$ influences the Particular Integral.
  • The application of advanced solving techniques in a transparent, visual manner.

⚠️ Limitations (in update.py)

  • The non-homogeneous solver's effectiveness depends on sympy's ability to solve for the PI, which is powerful but may not cover every esoteric function.
  • Currently does not solve systems of ODEs or equations with variable coefficients beyond the Cauchy-Euler form.
  • Non-linear equations are not supported.

📜 License

This project is licensed under the MIT License. See the LICENSE file for usage rights and permissions.


🙋 Author

Sanjay Kumar Sakamuri Kamalakar


🙏 Acknowledgements

  • OpenAI’s ChatGPT for architectural and code logic support in the update.py refactor.
  • The developers and communities behind Python, tkinter, and sympy.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages