ODE VAS (Ordinary Differential Equation Visualization and Analysis System) is a powerful, modern web-based platform for solving, visualizing, and analyzing first-order ordinary differential equations. It combines analytical methods with numerical techniques to provide comprehensive insights into ODE behavior, stability, and convergence.
- Try it here : link
- Demo video of the project : Video
Fast numerical solutions with tabular output. Select a method (Euler, RK4, or analytical methods like Separation of Variables), enter your equation, set initial conditions, and solve.
Real-time graphing with dynamic controls:
- Visualize solutions with smooth curve plotting
- Enable slope fields (direction fields) with customizable density, color, and opacity
- Use interactive sliders to adjust y₀ and x_end with instant graph updates
- View live statistics: max/min values, final points, and solution behavior
Comprehensive ODE analysis with multiple tools:
- Parameter Variation: Compare solutions across parameter ranges with color-coded multi-line graphs
- Step-Size Comparison: Analyze convergence rates and error metrics across different step sizes
- Stability Analysis: Automatic equilibrium point detection with stability classification (stable/unstable/neutral)
- Phase Portrait: Generate flow fields with 7 trajectories from different initial conditions
- Numerical: Euler, Improved Euler, Runge-Kutta 4th Order (RK4)
- Analytical: Direct Integration, Separation of Variables, Integrating Factor, Substitution
- Exponential Decay:
-2*x*y - Logistic Growth:
y*(1-y) - Harmonic Oscillator:
-x/y - Polynomial:
x**2 - y - Trigonometric:
sin(x)*y - Exponential Function:
exp(-x)*y
sin, cos, tan, exp, log, sqrt, +, -, *, /, ** (power)
Compare solutions across different parameter values (e.g., varying decay rates or growth constants). Results displayed as color-coded multi-line graphs with HSL gradient coloring.
Analyze numerical accuracy by comparing solutions with different step sizes. View:
- Number of evaluation points
- Maximum and mean errors (compared to reference)
- Convergence rates between consecutive step sizes
Automatically finds equilibrium points by solving dy/dx = 0. Classifies stability based on derivative:
- Stable: f'(y) < 0 (solutions converge)ge)
- Unstable: f'(y) > 0 (solutions diverge)ge)
- Neutral: f'(y) = 0 (center/saddle point)
Generates 7 trajectories from different starting points across the domain. Displays equilibrium lines as dashed horizontals with color-coded stability.
- Real-Time Validation: Input fields validate as you type with visual feedback
- Glassmorphism Design: Modern blur effects on panels and controls
- Toast Notifications: Non-intrusive feedback for actions
- Responsive Layout: Works on desktop, tablet, and mobile
- Dark Theme: Easy on the eyes with red accent colors
- Keyboard Shortcuts: ESC to close modals
- Form Persistence: Restore previous analysis with one click
- Flask - Web framework
- SymPy - Symbolic mathematics and analytical solving
- NumPy - Numerical computations
- HTML5 / CSS3 - Modern responsive UI with glassmorphism effects
- JavaScript (ES6) - Interactive controls and real-time updates
- Chart.js - High-performance data visualization
- Red/Black theme with glassmorphism
- Smooth transitions and animations
- Mobile-responsive layout
-
Prerequisites:
- Python 3.8 or higher
- Modern Web Browser (Chrome, Firefox, Edge, Safari)
-
Clone the Repository:
git clone https://github.com/aarvo09/ODE-VAS cd "ODE VAS"
-
Install Dependencies:
pip install -r requirements.txt
-
Run the Application:
python app.py
-
Access the Application:
- Open your browser and navigate to:
http://localhost:5000
- Open your browser and navigate to:
ODE VAS/
├── .venv/
├── static/
│ ├── images/
│ │ └── math_doodles.png
│ ├── js/
│ │ ├── advanced.js
│ │ ├── quick-solver.js
│ │ ├── utils.js
│ │ └── visualizer.js
│ ├── advanced.css
│ ├── home.css
│ ├── quick-solver.css
│ ├── style.css
│ ├── transitions.css
│ └── visualizer.css
├── templates/
│ ├── advanced.html
│ ├── help.html
│ ├── home.html
│ ├── quick-solver.html
│ ├── solver.html
├── .gitignore
├── app.py
├── LICENSE
├── README.md
└── requirements.txt
nts.txt
## License
This project is open source and available under the MIT License.
---
## Author
**Arvind**
- GitHub: [https://github.com/aarvo09]
- Email: [[email protected]]
---
.com]
---