Numerical methods basic course II (Numeriska metoder grundkurs II), numfcl10
Info för omtenta mars 2011
Studenter i numfcl10 har rätt att gå upp på alla omtentor för DN1240. På frågor som kräver Matlab-programmering
får man svara med ett Python-program om man vill.
Projektredovisningar
For de grupper som har mojlighet kommer detta att ske i storgrupp under lunchtid
12.15-13.00, medan vi ocksa erbjuder individuella redovisningstillfallen for de
grupper som inte kan hitta en mojlig tid bland de foreslagna.
Formatet:
- Varje grupp har 10 min pa sig att komma i ordning, ge sin presentation, samt
overlamna till nasta grupp. Detta lamnar max ca. 8 min till sjalva presentationen.
- I storgrupper kommer det att finnas datorprojektor, for individuella
redovisningar kan man anvanda laptop.
- Betyg ar endast godand eller icke godkand. Det gar ut pa att ni ska ge en
presentation av er projektrapport. Allt behover inte inga i presentationen som ingar
i rapporten, och ni valjer sjalva var ni vill lagga fokus.
- Det finns ingen utsedd opponent, men larare och andra studenter har mojlighet att
stalla korta fragor.
- I samband med projektredovisningen ska en papperskopia av slutversionen av
projektrapporten lamnas in. Detta är den rapport som ligger till grund ofor
betygssattningen pa projektet.
Foljande lunchtider är avsatta or storgruppspresentationer (4 grupper vid varje
tillfalle):
- ons 9/2, 12.15-13.00, rum 4523
- tor 10/2, 12.15-13.00, rum 4523
- fre 11/2, 12.15-13.00, rum 4523+1537
- man 14/2, 12.15-13.00, rum 4523
- tis 15/2, 12.15-13.00, rum 4523
- ons 16/2, 12.15-13.00, rum 4523
- fre 18/2, 12.15-13.00, rum 4523
Skriv till Kerstin Gustavsson (kegus@csc.kth.se) som administrerar detta, och lamna
namn pa gruppledare, vilket projekt ni har (1, 2 eller 3), samt vilka
storgruppstider ni kan delta. Om ni inte har mojlighet att delta i nagot av de
foreslagna tillfallena, ange nar ni kan komma for en individuell redovisning denna
och nasta vecka aven lunchtidar bra).
Kerstin aterkommer sedan med tid for er grupp att redovisa a snart som mojligt.
Mvh,
Johan Hoffman
Course evaluation
The course evaluation is now up. We are thankful if as many as possible answer to get a representative evaluation.
To pass the PDE part (grade C) of the project it is enough to run a simulation using any of the PDE solvers of Module 6/game/ (conv1D.py, conv2.py, wave1D.py, wave2D.py,...) and explain what happens in the simulation based on graphs or plots of the solution.
A simple derivation of the FEM-formulations can be downloaded here.
Tentainformation
Tentan för denna kursomgång (F och CL) kommer att gå i salarna V23, V32, V33, V34, V35 på lördag den 18/12 kl 9-12.
Del 1 av tentan är nu rättad och resultaten finns inrapporterat i Rapp.
Del 2 av tentan är nu rättad och resultaten finns inrapporterat i Rapp.
89% av de som skrev tentan fick godkänt, bra jobbat!
Wednesday December 8, 2010
The attention for the course, focused on the study material, has had a
negative impact on the students' learning as well as on the instructors'
concentration. The faculty is fully committed to optimizing the learning
outcome from the students' perspective, with full support from School
management. We will work with the students to finish the course according
to plan in a satisfactory way. To this end, the homepage has been
somewhat restructured. A course analysis will be conducted as usual at the
end of the course. In order for us to make the most of the many different
issues that invariably arise when new concepts are introduced in
traditional subjects, we ask for your cooperation in answering the coming
course analysis questionnaire.
/Dean of CSC
On the media attention for this course
Articles have recently been published about this course in Ny Teknik, DN and Metro Teknik, connecting this course to the climate debate. This we find strange, since climate science is not part of the course.
This is a course about basic numerical methods, and computational mathematical modeling using differential equations. The course material discussed in media is available for inspection under "Course Material" below. A detailed reading list is available under course modules 1-6. Text material forming the basis for Modules 1-5 corresponds to the written exam, and is also available for download as "Excerpts...". We are very satisfied with this course material, and we have a good collaboration with the author Claes Johnson.
For discussions related to parts of the e-book "Mathematical Simulation Technology" that is not part of this course, we refer to the author Claes Johnson. In particular, analysis of climate models have not been a part of this course, or the parts of the book that is used in this course.
/Johan Hoffman, kursansvarig
News
[2011-12-10] Module 6 is now up, together with an updated project description (they are both examined as part of the project report). Module 6 includes a number of prototype solvers you can use in the project.
[2011-12-08] A link to the course material can be found under the section Course material.
[2011-12-08] Lecture notes for all lectures are now on the homepage (the last lecture notes include solutions of preparation exam).
[2011-12-08] The deadline for the submission of the project report is extended until January 28, 2011. More details and dates concerning the peer review and oral presentations will follow shortly. The project description has been updated, the requirements for the report will be finalized soon.
[2011-12-06] A preparation exam is now available under Course material, together with a list of concepts/methods.
[2011-12-01] Lecture notes for lecture 9 available (including simple but general FEM program "myassemble.py")
[2011-11-30] Module 5 is now available below, may be updated during the week.
[2011-11-19] Full version of module 4 is now available below.
[2011-11-16] E-book updated, together with excerpts: some bug fixes for chapter 39 "Particle-spring systems".
[2010-11-16] Minor corrections in module 3: Fixed handling of "t" and "t0" in the game, updated example usage of timestep() in the function documentation, minor typos in the module text.
[2010-11-12] Schedule for module examination is updated, see "Course schedule", in particular examination of Module 6 is now included in the project and will not be part of the written examination, see "Examination" for details.
[2010-11-11] The course E-book has been updated, and an excerpt from the E-book is now available
containing only the chapters forming the basis for modules 1-5: download below under "Course literature".
[2010-11-09] All students attending this course must register
themselves as "active" on the
KTH Rapp System, no
later than Friday, November 12.
[2010-11-09] Module 3 has been updated with some clearer instructions.
Above you see a number of examples of solutions to differential equations from different application areas.
Integrals and differential equations are basic models in science, that often are too complex to solve using analytical techniques. The computer revolution of the last century has open up new exciting possibilities for mathematical modeling, by solving equations using numerical methods.
In this course you learn how to use a computer to solve integrals, algebraic and differential equations from physics and engineering, and you also practice how to apply these equations to model real world phenomena. Computational methods typically result in approximate solutions, and in this course we present techniques for estimating and controlling the numerical error in a computation.
Models from physics are presented in the form of particle models, ordinary and partial differential equations. Explicit numerical methods can take the form of simple time stepping algorithms like Euler's method, whereas implicit methods result in algebraic systems of equations that need to be solved, for example using Newton's method.
Approximation of a complex function by a combination of simple functions is central, for example in the form of finite element methods for partial differential equations.
The goal of this course is that you should learn basic theory for numerical methods, practise the implementation of the methods, and use these programs to simulate real world phenomena. Detailed goals for the course are given in respective course module.
The course uses a set of chapters from a draft of the e-book "Body and
Soul, Mathematical Simulation Technology", by Johan Jansson and Claes
Johnson. A specification of the chapters included in this course can be found here.
Module 1: Fundamental theorem of calculus, time stepping
pdfzip
Module 2: Function approximation
pdfzip
Module 3: ODE I (explicit/implicit methods)
pdfzip
Module 4: ODE II (systems)
pdfzip,
Updated version of systems.py
Module 5: Fixed-point iteration, systems and non-linear equations
pdfzip
Module 6: PDE
pdfzip
Live
DVD/USB image, login: simtek, password: simtek. NB! If you boot
from a DVD, nothing you do is saved, and will be lost when you turn
off the computer, so save your work to a USB stick or similar.
The course is based on Python. For students interested to extend their programming skills to Matlab, the following books are available at the
CSC student expedition:
Gerd Eriksson, Numeriska algoritmer med Matlab (50 kr)
Matlab 7 i korthet (40 kr)
FEniCS/DOLFIN documentation (used for PDE/FEM and mesh representation in the course)
The FEniCS project is an open
source project for the automation of solving (partial) differential
equations (PDE) by the finite element method (FEM). In this course you
will learn the basic concepts of FEM, and be able to understand how
FEniCS works "under the hood". You will then use FEniCS to build PDE
solvers for the basic models presented in the course. FEniCS consists
of several different components/sub-projects, the one you will
interact with is called DOLFIN, and is the C++/Python interface for
solving problems.
Below some documentation to FEniCS/DOLFIN is presented. Try to use the
built-in Python help() function as much as possible, and
browse the documentation below to get an overview of the system (this
will also be presented in the lectures), or to find a specific detail
which for some reason is unavailable in the Python help.
The DOLFIN user
manual gives a basic overview of what DOLFIN is and its
components. Could be slightly outdated and incomplete, since it's
being replaced by a more comprehensive documentation project. The code
examples for solvers are primarily in C++, and can be skipped.
The Programmer's
reference gives a complete index of all the classes, functions and
definitions in DOLFIN. Is a C++ reference, but the class/function
names are typically the same in C++ and Python. Should be used
together with Python's help() function.
The FEniCS
Python tutorial gives a comrehensive tutorial for solving basic
PDEs with FEniCS in Python. The assumed background knowledge is too
advanced for this course, but for those who are interested, it could
give details about features you are interested in.
Examination
Examination by teacher (in connection with Lab sessions) according to deadlines below give bonus points for written exam:
Module 1: 0.5 + 0.5 bonus point
Module 2: 0.5 bonus point
Module 3: 0.5 bonus point
Module 4: 1.0 bonus point
Module 5: 1.0 bonus point
Total: 4 bonus points
Lab work and examination within modules can be done in groups of 2, projects can be done in groups of 2-4, but each
student should individually be able to answer to the full content.
Basic examination [LABA 1.5 hp + TEN1 3.0 hp]
Module examination (each module separately): see course schedule (below)
[pass/fail - with bonus points for written exam at "pass" in time for deadline]
Written examination (based on Modules 1-5): December 18
[graded A-F]
Examination of Module 6 is included in the project, and will not be part of the written examination.
Project examination [LABB 1.5 hp]
Submission of project reports (project parts A,B,C): see course schedule
[pass/fail]
Peer review report (1 page) on the reports on part A+B+C of another group: see course schedule
[pass/fail]
Submission of final version of report (Project A+B+C): see course schedule
[graded A-F]
Oral examination of final report (seminar): see course schedule
[pass/fail]
Supplementary course DN1242 [1.5 hp]: extra submission Part D for project: see course schedule
[graded A-F]