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 - Fem, Fyra, Tre, Underkänd

Kurstillfälle 1

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

Poängfördelning

0119 Projekt 7,5 hp
Betygsskala: TH
0 hp0 hp0 hp7,5 hp0 hp0 hp

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Information saknas

Särskild behörighet

För kurser på avancerad nivå gäller samma grundläggande och särskilda behörighetskrav som till det kursägande programmet. (När kursen är på avancerad nivå men ägs av ett grundnivåprogram gäller dock tillträdeskrav för avancerad nivå.)
Undantag från tillträdeskraven: 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.