An open API service indexing awesome lists of open source software.

https://github.com/joeyshi12/diff-eq-solver

A desktop application that uses the finite difference method to solve differential equations
https://github.com/joeyshi12/diff-eq-solver

differential-equations math matplotlib numerical-methods numpy python tkinter

Last synced: 5 days ago
JSON representation

A desktop application that uses the finite difference method to solve differential equations

Awesome Lists containing this project

README

          

# diff-eq-solver

![tests.yml](https://github.com/joeyshi12/diff-eq-solver/actions/workflows/tests.yml/badge.svg)
![python-publish.yml](https://github.com/joeyshi12/json-data-type-transcompiler/actions/workflows/python-publish.yml/badge.svg)
![PyPI](https://img.shields.io/pypi/v/diffeq-solver-tk)

An application that uses the finite difference method to solve various types of differential equations, such as the
heat equation and wave equation. The solution is written to a table in an Excel file, and the solution is visually
displayed on a plot. For time dependent PDEs, the plot is animated.





## Installation

```
pip3 install diffeq-solver-tk
```

## Usage

The GUI can be started with `detk`. Once you open the solver, choose a differential equation type through the
navigation bar above and enter the parameters for your equation. Clicking "Solve" will run the solving algorithm
for your equation and generate a static plot in the right window. After a solution is prepared, you can export the
solution as an xlsx file by clicking "Export". For partial differential equation types, you can play an animation
in the right window by clicking "Play" and switch back to the static plot by clicking "Show Plot".

diffeq-solver-tk can also be used in the command-line by running `detk-cli `.
Examples of valid `` files are provided in `tests/queries`. Run `detk-cli -h` for more info.

## Dev Wiki

- [First order differential equations](https://github.com/joeyshi12/diff-eq-solver/wiki/First-Order-Differential-Equation-Solving-Algorithm)
- [Second order differential equations](https://github.com/joeyshi12/diff-eq-solver/wiki/Second-Order-Differential-Equation-Solving-Algorithm)
- [One-dimensional Heat Equation](https://github.com/joeyshi12/diff-eq-solver/wiki/One-dimensional-Heat-Equation-Solving-Algorithm)
- [One-dimensional Wave Equation](https://github.com/joeyshi12/diff-eq-solver/wiki/One-dimensional-Wave-Equation-Solving-Algorithm)