Kursplan för Beräkningsmetoder för kontinuumfysik

Kursplan fastställd 2019-02-14 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnComputational continuum physics
  • KurskodTIF330
  • Omfattning7,5 Högskolepoäng
  • ÄgareMPPHS
  • UtbildningsnivåAvancerad nivå
  • HuvudområdeTeknisk fysik
  • InstitutionFYSIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 85114
  • Blockschema
  • Sökbar för utbytesstudenterNej

Poängfördelning

0119 Projekt 7,5 hp
Betygsskala: TH
7,5 hp

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för avancerad nivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Engelska 6
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Grundläggande fysik och matematik, programmering och numerisk analys. Programmering på den nivå som nås i kurserna Bayesiansk dataanalys och maskininlärning (Python) och FKA121 Beräkningsfysik (C), och numerisk analys på nivån i FKA121 Beräkningsfysik. Bakgrundskunskaper inom grundläggande vätskedynamik och/eller elektromagnetism är en fördel.

Syfte

Syftet med kursen är att ge en översikt över beräkningsmetoder för att beskriva egenskaper och dynamik för kontinuerliga system, exempelvis vätskor och gaser, elektromagnetiska fält och plasmor. I kursen kommer också metoder för hur dessa system kan behandlas att exemplifieras, något som är av stor vikt för ett brett spektrum av tillämpningar. Kursen kommer även att ge en grund för avancerade metoder inom beräkningsfysik, med tillämpningar på ett stort antal problem inom grundläggande och tillämpad forskning och utveckling. I kursen tränas att använda Python, C och delar av C++ för att lösa ovan nämnda problem.

Lärandemål (efter fullgjord kurs ska studenten kunna)

· Diskretisera fysikaliska ekvationer med avseende på de ingående variablerna
· Förklara grundläggande tidsintegrationsmetoder
· Förklara hur man implementerar initial- och randvillkor
· Förklara hur man löser stationära problem, exempelvis Poisson-ekvationen
· Förklara hur man löser sådana ekvationer på ett tillförlitligt sätt
· Förklara hur man behandlar multi-fysikproblem
· Diskutera vanliga beräkningsmetoder och -verktyg för kontinuumsystem
· Använda metoder som exempelvis finite-difference time-domain, finita element, planvågsexpansion, momentmetoden
· Använda metoder såsom finite-volume-, spektral- och pseudo-spektralmetoden
· Använda Courant-Friedrichs-Lewy-villkor, explicit och implicit integrering, operatorsplitting, geometrisk integration, stabilitetsbevarande integrationsmetoder
· Identifiera och åtgärda numeriska effekter
· Identifiera och förklara bevarandeegenskaper, såsom partikelantal och -massa, energi, fasrumsbevarande, positivitetsbevarande metoder samt veta hur man testar bevarandeegenskaper
· Identifiera och utvärdera klassiska testproblem, kontrollera konvergensegenskaper, method of manufactured solutions
· Skriva en teknisk rapport där beräkningsresultat presenteras och förkla-ras
· Kommunicera resultat och slutsatser på ett klart och tydligt sätt.

Innehåll

· Finita differens-tekniken och relaterade tekniker.
· Spektrala metoder.
· Exempel på kontinuumsystem. 
· Övning i att använda Python, C och delar av  C++ som programmerings-verktyg.

Organisation

Grundläggande teori och metoder täcks av en serie föreläsningar. Studenterna tränas i att tillämpa teori och metoder via övnings- och inlämningsuppgifter. En viktig del som är genomgående i kursen är praktiska övningar av beräkningsmetoder via en given uppsättning problem inom projekt. Projekten redovisas i en skriven rapport. Projekten genomförs normalt sett i grupper om två.

Litteratur

Den huvudsakliga litteraturen i kursen är föreläsningsanteckningar. Vidare re-kommenderad litteratur är: 
· A Primer on Scientific Programming with Python by Langtangen, Hans Petter
· The C Programming Language, by Brian W. Kernighan and Dennis M. Ritchie.
· C++ Primer by Stanley B. Lippman  (Author), Josée Lajoie  (Author), Barbara E. Moo

Examination inklusive obligatoriska moment

Kursen innehåller programmeringsuppgifter, beräkningsuppgifter samt teoriuppgifter via de projekt som arbetas på genomgående i kursen. Examination sker via en slutlig rapport som lämnas in för bedömning i slutet av kursen. Alla delar av rapporten betygssätts för att sammantaget ge ett slutgiltigt betyg.