Engineering students typically find numerical methods like FDM and FEA hard to visualise. This app was conceived to allow students to just play with the parameters for the heat equation on a plane, and watch the effect on the solution immediately. Initally a Mechanical Engineering Honours thesis project, it has since been adopted into the University of Sydney's Introductory Numerical Methods course.
The app is for the Android mobile OS, and so is coded in Java. It uses the Jama linear algebra package for matrix manipulation, and renders in an interactive 3D window with OpenGLes. It can be freely downloaded from the Google Play Store
It features...
Finite difference solver schemes:
It features...
Finite difference solver schemes:
- Steady state:
- Gauss-Jacobi iterative solver;
- Gauss-Seidel iterative solver;
- Gauss-Seidel iterative solver with Successive Over-Relaxation.
- Transient:
- First order explicit timestepping;
- First order implicit timestepping.
- Steady-state:
- Direct matrix solution only, to show superiority in speed and accuracy for this type of problem.
- Diffusivity constant;
- Discretisation;
- Timestep (for transient solvers);
- Target time (for transient solvers);
- Convergence — or stopping — criterion (for steady state solvers);
- SOR value (for G-S+SOR solver);
- Amplitude of sinusoidal boundary conditions on all four boundaries of the plate;
- Period of sinusoidal boundary conditions.
- Fifteen questions in 3 tiers of difficulty;
- Networked scoring with class average and leaderboard;
- Full, anonymised, opt-in tap-by-tap analytics for educator use, with unique at-a-glance graphical output.