This module introduces the learner to ordinary differential equations in problems from mathematical physics through scientific Python. The module will build on the learner's prior knowledge of Python to develop a phenomenelogical perspective of mathematical models described by ordinary differential equations. No prior knowledge of ODEs is required. This module lays the foundation for advanced scientific programming in Python for models described by systems of PDEs.
Review of Python programming
Variables, strings, lists, tuples, loops, functions, modules, errors and exceptions.
Effective scientific program design
Sample input and output, user interface, pseudo-code, assessing available modules.
Introduction to object-orentied programming and classes
Array handing, meshes.
Scientific constants, functions, integration.
Verification of codes
Use of Matplotlib to present visualization of solution.
Solving first- and second-order linear equations
Eg. reaction equations, equations of motion, electrical circuits; plotting results.
Nonlinear systems and phenomena and stability
Eg. predator-prey models, nonlinear mechanical models, dynamical systems and chaos.
The module will be delivered through a combination of lectures and tutorials. Learning will be supported through provided sample programs and laboratory sessions.
|Module Content & Assessment