Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture...

19
Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

Transcript of Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture...

Page 1: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Programutvecklingförtekniskatillämpningar,lp32016

Page 2: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Mål• ImplementeraettFinitaElementprogram• Återanvändaexisterandekod• Skapaettgrafisktanvändargränssnitt• Visualisering

Page 3: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

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

Page 4: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Kursprogram• Inlämningar– 6st =1perarbetsblad– Individuelltellerigruppommax3

• Examinering– Godkändainlämningsuppgifter– Godkändslutrapport– Deltagandeislutseminarie

Page 5: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Hemsida• http://www.byggmek.lth.se• Moodle– training.lunarc.lu.se– kommer attanvändasförinfoochinlämingsuppgifter

– Mer informationinom kort

Page 6: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

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

Page 7: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

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/

Page 8: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

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.

Page 9: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Struktur på uppgift

FEM-element

Geometri

Material

FE-modellLaster

Randvillkor

Parametrisk beräkningsmodell

Visualisering

1 2

3 3

4 5

3

Page 10: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Objektmodell (exempel)

PlateModel

MaterialLoads/BC

PlateSolver

PlateWindow

PlateResults

VisVis

CALFEM

Qt

GMSH

Page 11: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

” … men jag vill ju göra det på mitt sätt … ”

Page 12: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Helt ok, så länge den grundläggande uppgiftenföljs

Page 13: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Öppenuppgift• Behöverinteföljaarbetsbladen• Måstelösadegrundläggandeuppgifterna– Grafisktgränssnitt– Beräkningsdel förrespektiveproblem– Redovisningochvisualiseringavresultatenligtarbetsblad

• Fortfarande1inlämningpervecka– Beskrivningavvadsomgjortsunderveckan– Källkod

Page 14: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Vad programutveckling förtekniska systeminnebära?

Page 15: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Visualisering avVeryLargeTelescope(VLT)C++

Page 16: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

Postprocessor iStrukturdynamikC++

Page 17: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

ForcePAD

Page 18: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1

HACON– Simulering av betonghärdning(Fortran/Delphi)

Page 19: Programutveckling för tekniska tillämpningar, lp3 2016...Lund University / Lunarc / Python Lecture 1 Programutveckling för tekniska tillämpningar, lp3 2016

LundUniversity/Lunarc /PythonLecture1