Modelling and scientific programming
Objectives To learn to develop computer programs that are Correct Efficient Adaptable Portable
Remarks Price of computers Cost of programming development Clear programmes time for development costs No unique solution choose most appropriate solution
Content Course : 10h Introduction Errors and numerical stability Numerical analysis Linux Fortran 90 C++ Practical tutorials (20 hours) Project
Chapter 1 : Introduction Scientific research traditionally involves 2 main activities Experiments Modelling Observations Theories Predictions Suggest theories Test theories Interpret experiments Suggest theories confrontations
Classical mechanics ≡ Celestial mechanics Horoscopes observe sky collect data contradict Ptolemy’s geocentric model introduce heliocentric model 85 – 165 AD Classical mechanics
Nicolaus Copernicus heliocentric model circular trajectories
Develop observational tools and methods Tycho Brahe Collect accurate data
Johannes Kepler Fit curves to data 3 laws Elliptical orbit for Mars
Galileo Galilei modern scientific method Observe : pendulum Experiment : inclined plane free fall from the Tower of Pisa Model Technical progress : optics telescope jump in the quality of observations
Isaac Newton Develop mathematical tools (calculus) Unify apparently disconnected facts movements of planets movement of the Moon falling bodies 3 fundamental laws of classical mechanics law of gravitation
Since Newton … Test theory predict comets, new planets, … Improve methods Corrections : 3-body problem, rigid body, tidal forces, precession, nutation, … New technologies accurate measurements Many-body problems : Euler, Lagrange, Laplace, Gauss, … complex methods to approximate motions of bodies = celestial mechanics Transformation and integration of equations of motions = analytic mechanics Improve theory Special relativity General relativity Halley
Numerical approach = third approach, complementary to the 2 others Experiments ModellingNumerical simulation Suggest model Generate data Suggest theories Test theories Interpret experiments Suggest experiments Model real processes Suggest experiments Analyse data Provide equations Interpret results Suggest theories Allow accurate calculations large calculations
Advantages of numerical simulation Relatively easy to implement Economical Efficient Quantitative Applicable to complex systems Allow numerical experimentation Allow systematic investigation (scaling laws) Applicable to apparently very different systems, described by similar equations