programutveckling för tekniska tillämpningar, lp3 2016...lund university / lunarc / python lecture...
TRANSCRIPT
LundUniversity/Lunarc /PythonLecture1
Programutvecklingförtekniskatillämpningar,lp32016
LundUniversity/Lunarc /PythonLecture1
Mål• ImplementeraettFinitaElementprogram• Återanvändaexisterandekod• Skapaettgrafisktanvändargränssnitt• Visualisering
LundUniversity/Lunarc /PythonLecture1
Kursprogram• Föreläsningarmån13-15KC:VN2ochons 13-15KC:VN2• Föreläsningar
– IntroduktiontillPython/Numpy (Idag)– CALFEMförPythonochnätgenereringonsdag– Introduktiontillobjekt-orienteringochstruktureringav
beräkningskod.Lagringavindatamm– Visualisering– Grafiskagränssnitt– IntroduktiontillFortranochintegrationavFortraniPython– Gästföreläsning(merinfosenare)
• Övningar– Tisdagar8-10V:Dator21,V:Dator23– Torsdagar8-10V:Dator21,V:Dator23
LundUniversity/Lunarc /PythonLecture1
Kursprogram• Inlämningar– 6st =1perarbetsblad– Individuelltellerigruppommax3
• Examinering– Godkändainlämningsuppgifter– Godkändslutrapport– Deltagandeislutseminarie
LundUniversity/Lunarc /PythonLecture1
Hemsida• http://www.byggmek.lth.se• Moodle– training.lunarc.lu.se– kommer attanvändasförinfoochinlämingsuppgifter
– Mer informationinom kort
LundUniversity/Lunarc /PythonLecture1
Litteratur• APrimeronScientificProgrammingwithPython– HansPetterLangtangen– Online:http://www.springerlink.com/content/978-3-642-18366-9#section=876645&page=1&locus=0
• (LearningPythonM.Lutz)• (ProgrammingPythonM.Lutz)• Kurskompendium– GettingstartedwithFortran90/95
• Arbetsblad• Exempelkällkod
LundUniversity/Lunarc /PythonLecture1
Programvaror
• Python– http://www.python.org– NumPy - http://numpy.scipy.org/– F2PY- http://www.scipy.org/F2py
• WinPython/Anaconda– Komplett paket medallprogramvara– Sehemsida
• Fortran– gfortran - http://gcc.gnu.org/wiki/GFortran– Photran - http://www.eclipse.org/photran/
LundUniversity/Lunarc /PythonLecture1
Kursinnehåll
Ettdatorprogramföranalysenligtfinitaelementmetodenutvecklas.ProgrammetskaskrivasiPythonochbehandlaenavföljandeproblemtyper:
1. Plantskiva2. Tvådimensionellvärmeledning3. Tvådimensionellgrundvattenströmning
Undersenaredelenavkursenskaprogrammetförsesmedettgrafisktanvändargränssnitt.
ProgrammetutvecklaspåPC.
Programutvecklingenskalluppdelasifleraetapper.Varjeetapputgöreninlämningsuppgift.
LundUniversity/Lunarc /PythonLecture1
Struktur på uppgift
FEM-element
Geometri
Material
FE-modellLaster
Randvillkor
Parametrisk beräkningsmodell
Visualisering
1 2
3 3
4 5
3
LundUniversity/Lunarc /PythonLecture1
Objektmodell (exempel)
PlateModel
MaterialLoads/BC
PlateSolver
PlateWindow
PlateResults
VisVis
CALFEM
Qt
GMSH
LundUniversity/Lunarc /PythonLecture1
” … men jag vill ju göra det på mitt sätt … ”
LundUniversity/Lunarc /PythonLecture1
Helt ok, så länge den grundläggande uppgiftenföljs
LundUniversity/Lunarc /PythonLecture1
Öppenuppgift• Behöverinteföljaarbetsbladen• Måstelösadegrundläggandeuppgifterna– Grafisktgränssnitt– Beräkningsdel förrespektiveproblem– Redovisningochvisualiseringavresultatenligtarbetsblad
• Fortfarande1inlämningpervecka– Beskrivningavvadsomgjortsunderveckan– Källkod
LundUniversity/Lunarc /PythonLecture1
Vad programutveckling förtekniska systeminnebära?
LundUniversity/Lunarc /PythonLecture1
Visualisering avVeryLargeTelescope(VLT)C++
LundUniversity/Lunarc /PythonLecture1
Postprocessor iStrukturdynamikC++
LundUniversity/Lunarc /PythonLecture1
ForcePAD
LundUniversity/Lunarc /PythonLecture1
HACON– Simulering av betonghärdning(Fortran/Delphi)
LundUniversity/Lunarc /PythonLecture1