Version 28 (modified by 6 years ago) (diff) | ,
---|
Konstrukcijske Tehnike
- Konstrukcijske Tehnike
- Projektne naloge skupine Razvoj programske opreme
-
Projekti
- 1. Zapolnjevanje lukenj in špranj v panelih tokamaka
- 2. Odstranjevanje majhnih značilk iz podstruktur panela tokamaka
- 3. Divertor
- 4. Struktura hladilnih prstov panelov tokamaka
- 5. Limiter surface
- 6. HEXA mreženje vakuumske posode tokamaka ITER
- 7. Toplotni model divertorja
- 8. Izračun ekvipotencialne krivulje magnetnega ravnovesja in iskanje …
- 9. Detekcija Plasma Facing Components
- 10. Pikselacija presekov magnetov za preračune ravnovesja
- Zahtevki
- Povezave
Cilj predmeta pri vajah je združiti znanje o 3D modeliranju, metodiki konstruiranja in ostalih strokovnih predmetih in to prikazati na primeru razvoja izdelka / programske opreme. Velik poudarek je na realnosti problema in na sistematični in strokovni obravnavi. Pri metodiki konstruiranja je bil poudarek na kreativnosti in iskanju rešitev. Tokrat je teža na drugem delu razvoja izdelka, ki pomeni do delavniške risbe izdelana tehnična dokumentacija. Upoštevati je potrebno tudi stanje tehnike in regulativo. Zaželeno je, da se izdela tudi prototip izdelka. Del postavljenih nalog bodo študentom ponujene (prispevale so jih različna podjetja). Od študentov se pričakuje, da polovico nalog poiščejo sami. Pričakuje se delo v skupinah od 3 do 5 študentov. Ocenjuje se, da bo za izdelavo seminarske naloge posameznik vložil okoli 100 ur časa.
Značilne skupine nalog:
- Konstrukcija orodja (npr. štanca ali brizganje plastike).
- Konstrukcija stroje ali naprave.
- Projektiranje in preračun nosilne konstrukcije.
- Projektiranje strojnih instalacij.
- Razvoj serijskega izdelka.
- Razvoj programske opreme.
Vaje so namenjene predvsem konzultacijam z asistenti in spremljanju dela na projektu. Posamezna skupina študentov bo delala le na eni od zgoraj naštetih nalog. Vsako končno poročilo mora vsebovati spodaj navedeno vsebino:
- Definicijo naloge z jasno postavljenimi zahtevami
- Funkcijska struktura / diagram poteka.
- Pregled patentov ali regulative.
- Sistematičen pristop pri iskanju rešitev, ureditev v morfološki matriki.
- Vrednotenje in izbor rešitev.
- FMEA (analiza možnih oblik napak) pri konstrukciji ali procesu.
- Optimiranje konstrukcije / procesa (npr. numerične simulacije).
- 3D model konstrukcije / izdelka.
- Delavniške risbe.
- Prototip izdelka.
Glede na vrsto projektne naloge se spreminja vsebina in teža zgoraj naštetih točk. Vsaka skupina mora v poročilu vsebovati vsaj 80 % od zgoraj naštetih točk.
Predmeti bodo pridobili na vrednosti, če jih med seboj povežemo v zaokroženo celoto – cilj je na sistematičen in strokoven način razvijati podjetniške ideje. En problem, ki se prične obravnavati pri metodiki konstruiranja, se nato nadgradi predmetu Konstrukcijske tehnike in še pri kakšnem. Študentom, ki uspešno sodelujejo pri EGPR seminarju (letni semester), se prizna vaje pri predmetu konstrukcijske tehnike. Vaje morajo biti zaključene ob koncu semestra. V nasprotnem primeru je potrebno ponovno opravljanje vaj.
Vsak od asistentov vodi vaje samostojne. Specifične kompetence posameznih asistentov so:
- Leon Kos – programska oprema, elektronika, računalniki
- Janez Benedičič – regulativa, patenti, varnost strojev in naprav (CE znak)
- Damijan Zorko in Borut Černe - Konstrukcije in optimiranje
Časovni plan:
- teden - določitev projektne naloge
- teden - čistopis zahtevnika pri projektni nalogi.
- in
- teden – variacija rešitev, pregled patentov in regulative
- teden - ocenjevanje rešitev in izbira
- teden - koncipiranje rešitve
- in
- teden - optimiziranje konstrukcije (numerična simulacija)
- in
- teden - 3D modeliranje
- teden - izdelava delavniške dokumentacije
- in
- teden - izdelava prototipa
- teden - izdelava poročila in predstavitve
- teden - predstavitev rezultatov projektne naloge
Postavljeni plan je v orientacijo in pomoč projektnim skupinam. Posamezne aktivnosti se lahko prekrivajo in tečejo vzporedno.
Predstavitve projektov
Na vajah je bilo za projekte povedano, kako naj poročila oziroma izgled strani
Wiki vsebuje. Na vrh strani dodajte še skico ideje v SVG in
dodajte kazalo z [[PageOutline]]
. Izgled poročila na strani
naj bo tak, da v predogledu tiskanja lično izgleda!
To pa pomeni tudi barvno usklajenost
uporabljenih elementov, teksture, ...
Slikovno gradivo mora biti avtorsko. Podatki morajo biti ustrezno citirani s podanimi referencami oziroma spletnimi povezavami.
Predstavitev projektov
Predstavitev projektov bo predvidoma 10.1.2019 ob 8:00 v N17.
Domače naloge in ocenjevanje
Da bi zagotovili sprotno delo se po vsakih vajah predvideva izdelava domačih nalog s katerimi študentje prikažejo osnovne sposobnosti razumevanja problematike programiranja. Vsak študent dobi v domači nalogi svoj seznam vaj, ki jih mora izdelati do naslednjega tedna. Domače naloge so OBVEZNE!
V prvem delu so domače naloge iz splošnega programiranja v Pythonu, drugem delu pa so domače naloge iz področja PythonOCC.
Skupna ocena pri vajah KT je sestavljena iz:
- Prisotnost 5%
- Domače naloge 20%
- Priprava zahtevnika, jasnost 5%
- Funkcijska struktura / diagram poteka (predstavitev delovanja programa). 10%
- Pregled patentov, regulative, sorodnih rešitev in vrednotenje. 10%
- Projektni program 40%
- Delovanja, modularnosti, parametričnosti in jasnosti kode.
- Skupinsko delo in razdelitev posameznih podprogramov po študentih.
- Izvedba programskega dela po časovnici (pravočasnost in sprotnost).
- Komentarji pri shranjevanju dela na SVN in WIKI (uporabljaj preview).
- Predstavitev 3D sestava (in posameznih sklopov) na strani WIKI v obliki. jsc3d
- Predstavitev projekta s strani WIKI 10%
Cilj projektnih nalog je čim bolj približati predlagano izvedbo končnemu industrijskemu partnerju, kar sestoji iz prepričljivosti vseh navedenih kriterijev. Pri vrednotenju rezultatov vseh skupin se uporabljajo priporočila ECTS priročnika.
Nekatera pojasnila pri podajanju ocene. Glede problematike/regulativ/patentov je mišljeno, da idejo predstavite kot svojo v primerjavi z obstoječimi rešitvami.
Projektne naloge skupine Razvoj programske opreme
Predavanja Konstrukcijske tehnike so v predavalnici IV/2 vsak ponedeljek 10:00-13:00
Razpored terminov po skupinah 16 študentov
- skupina N17 četrtek 8:00 - 9:30 Leon Kos
Prve uvodne vaje bodo v četrtek 12.10.2017 od 8:00 naprej za vse interesente. Nato pa v petek redno vsak teden oz po dogovoru.
Pomemben del vaj KT je tudi pridobitev znanja programiranja CAD jedra v jeziku Python.
V predvidenem časovnem planu razvoja izdelka programiranje (dela) izdelka v CAD jedru OpenCascade nadomesti naloge 7.-14. tedna. Prvi del vaj je tečaj jezika Python s poudarkom na OpenCascade, ki se izvaja vzporedno z nalogo do koncipiranja rešitve. V dveh urah tedensko ima vsaka skupina eno uro praktičnih Python osnov na računalniku v učilnici N17 in nato še konzultacijo o napredku na projektu, ki jo študentje opravijo izven laboratorija. V drugem delu sledi individualno programiranje celote ali delov izdelka v dogovorjeni zahtevnosti, poročilo in predstavitev.
Vsebina in obseg projektne naloge se določi na vajah. Skupina študentov (do 3) lahko predlaga svojo tematiko naloge, ki pa jo je potrebno podrobno verificirati po obsegu in zahtevnosti. Če take naloge ne bodo predlagali, jim bo tematika dodeljena. Sami pa bodo morali uporabiti tehnike s predavanj, da problem ustrezno razdelajo. Projektne naloge so lahko individualne. Skupno delo si slušatelji razporedijo sami. Delo na računalniku pa je individualno in ni skupno, ter je ocenjevano ločeno od projektne skupine. Nalogo modeliranja v C++ se dogovori individualno na vajah.
PythonOcc je priredba knjižnice OpenCascade za programiranje v jeziku Python.
Namestitev okolja za delo doma
Priporočamo uporabo brskalnika Firefox. V njem si lahko nastavite privzeti jezik tako da izberete Options-Content-Languages-Add-Slovenian in ga premaknemo navzgor. Namestite si še slovenski črkovalnik v brskalnik s strani https://addons.mozilla.org/en-US/firefox/addon/slovar-za-slovenski-jezik
Za shranjevanje domačih nalog in s tem datotek na strežnik je potrebno namestiti TortoiseSVN s strani http://tortoisesvn.net/downloads.html Izberemo 64-bitno verzijo programa. Verzijo Windows lahko preverimo z raziskovalcem windows (explorer) Help-About. TortoiseSVN namestimo kot administrator.
Za dolpoteg (checkout) imenika projekta na namizju z desnoklikom miške na namizju izberemo SVN Checkout... ter za URL napišemo svn://lecad.si/kt/ipriimek, kjer je ipriimek vaše prijavno ime. Na namizju bo imenik z vašimi datotekami katere potem lahko shranite nazaj na strežnik z ukazi SVN add in Commit.
Za namestitev Pythona in spremnjih knjižnic si poglejte navodila PythonOcc.
Za namestitev SALOME-a shranite Windows paket SALOME-8.3.0-WIN64.exe ki se nahaja na spodnji povezavi:
http://www.salome-platform.org/downloads/current-version
Odpakirajte Windows paket SALOME-8.3.0-WIN64.exe kot administrator (desni klik --> Run as Administrator) v C:\Program Files.
Program SALOME se zažene s skriptom run_salome.bat ki se nahaja v C:\Program Files\SALOME-8.3.0-WIN64\WORK.
Uporabljali bomo navodila za Salome 8.3. Za programiranje v geometrijskem modulu si poglejte Geometry module Python Interface ter navodila za python OCC.
Dostop do vizualizacijskega strežika
- Za dostop do oddaljenega strežnika z namizjem si namestite klienta NoMachine Enterprise klienta za Windows.
- Samo prvič izberete New s protokolom NX (ali SSH) ter za Host vstavite
viz.hpc.fs.uni-lj.si
s portom kot je ponujen. Avtentikacija je z geslom (password) in brez uporabe posrednika (proxy). - Ob povezavi uporabite uporabniško ime campusXY in geslo kot ste ga prejeli.
- Ob prvi povezavi izberete Create new virtual desktop in nato potrdite in izključite navodila. Nato Vas Trinity TDE namizje vpraša za prilagoditev. Izberete Slovenjo, TDE obnašanje vmesnika in manj učinkov (počasna povezava) ter privzeti slog učinkov. Čarovnika za nastavitve namizja (KPersonalizer) lahko ponovno poženemo iz menija Nastavitve.
- Iz štartnega menija (spodaj levo) izberemo Nadzorno središče in Trinity Control Center. Nato v drevesu nastavitev izberemo Videz in teme ter pod Barve izključimo možnost Uveljavi barve pri ne-TDE programih.
- Iz štartnega menija v Sistem izberemo Terminalski program (Konzola), da lahko tipkamo ukaze.
- Samo prvič si uvozimo svoj in skupni projekt z ukazom
svn co --username=ipriimek svn://lecad.si/kt/ipriimek
- Slovensko tipkovnico lahko vedno zagotovimo z ukazom
setxkbmap si
- Iz Konzole poženemo program
pycharm
ter sledimo navodilom za PyOCCT.
Primer shranjevanja na SVN strežnik
Spodaj je prikazan praktični primer postopka shranjevanja na SVN strežnik preko Linux terminala. Ukazi so prikazani na način:
[campus01@viz kt2018]$ naš_ukaz
Nekateri ukazi izvedejo izpis informacij v terminalu, npr.:
[campus01@viz kt2018]$ svn status ? .idea ? Study1.hdf ? bottle-to-geom.py A box-pyocct.py
Osnovni SVN ukazi:
status ali st Prikaži stanje SVN strežnika (spremenjene, dodane datoteke ipd.) add Dodaj zastavico 'Add' (a) na datoteko ci -m "text" Dodaj datoteke s zastavico 'Add' na SVN strežnik skupaj s komentarjem "text"
Celoten primer postopka:
[campus01@viz kt2018]$ svn co --username=kt2018 svn://lecad.si/kt/kt2018 [campus01@viz kt2018]$ cd kt2018 [campus01@viz kt2018]$ svn status ? .idea ? Study1.hdf ? bottle-to-geom.py A box-pyocct.py [campus01@viz kt2018]$ svn add bottle-to-geom.py A bottle-to-geom.py [campus01@viz kt2018]$ svn status ? .idea ? Study1.hdf A bottle-to-geom.py A box-pyocct.py [campus01@viz kt2018]$ svn add Study1.hdf A (bin) Study1.hdf [campus01@viz kt2018]$ svn st ? .idea A Study1.hdf A bottle-to-geom.py A box-pyocct.py [campus01@viz kt2018]$ svn ci -m "Primeri PyOCCT" Adding (bin) Study1.hdf Adding bottle-to-geom.py Adding box-pyocct.py Transmitting file data ... Committed revision 13.
Projekti
Projektno delo bo vsebovalo različna orodja, ki jih bomo spoznali la vajah. Za projektno delo bo dodeljen tudi dostop do superračunalnika HPCFS http://hpc.fs.uni-lj.si/
Svoj interes izpolnite v spletnem obrazcu do 29. novembra.
1. Zapolnjevanje lukenj in špranj v panelih tokamaka
OpenCASCADE je odprto koden CAD kernel ki se uporablja za modeliranje CAD modelov, sprememba CAD modelov (poenostavitev) in pridobitev različnih podatkov iz CAD modelov. Poenostavitev CAD modelov je nujna pri numeričnih simulacij trdosti ali dinamike tekočin. OpenCASCADE se bo uporabil kot orodje za poenostavitev CAD modela, v našem primeru odstranitev lukenj.
Primer modelov je na voljo na vizualizacijskem strežniku:
- /home/penkod/KT/2018/modeli/Panel_segment.stp
- /home/leon/smiter/study/step/ITER-inner_wall_surfaces_sides_V2.stp
- /home/leon/smiter/study/step/ITER-inner_wall_surfaces_sides.stp
Sodelujoči na projektu holes: tmalus bvelkavrh thafner
2. Odstranjevanje majhnih značilk iz podstruktur panela tokamaka
Odstranitev majhnih kosov pri poenostavitvi CAD modela plašča (Blanket). Blanket moduli zagotavljajo varovanje pred visokimi toplotnimi obremenitvami znotraj vakuumske posode in visoko energetskih nevtronih, ki jih proizvajajo fuzijske reakcije. Z iteriranjem po volumnu izdelamo struktoro sestava ter poiščemo značilke, ki jih izberemo za odstranitev. Model potem ponovno predelamo brez teh elementov.
Sodelujoči na projektu: features :
3. Divertor
Funkcija Divertor-ja je, da odstrani različne nečistoče iz plazme. Sestavljen je iz 54 kaset, vsaka s tremi elementi ki so obrnjene proti plazmi. Cilj projekta je izdelava postavitve stukture površine in podstruktur v različnih postavitvah nagiba kot tudi prostorske postavitve. Dialog okno mora nazorno prikazati ustrezne parametre.
Primer modelov je na voljo na vizualizacijskem strežniku:
- /home/penkod/KT/2018/modeli/divertor_surfaces.stp
Sodelujoči na projektu fdivertor: jvadnjal
4. Struktura hladilnih prstov panelov tokamaka
Na podlagi 2D modela panela, ki predstavlja površino, izpostavljeno plazmi, je potrebno pripraviti poenostavljen 3D model prstov, ki bo omogočal 3D mreženje in nato preračun temperature z FEM. Namen projekta je razviti uporabniški vmesnik, ki bo uporabniku omogočal poljubne nastavitve dimenzij prstov, uvoz 2D geometrijskega modela površine in izdelavo 3D modela prstov na podlagi podanega 2D modela. Nato se bo izdelal še dodaten podprogram, ki bo pomrežil izdelani 3D model s heksaedrično mrežo.
Sodelujoči na projektu fingers: bpotokar zpirnar
5. Limiter surface
Z iskanjem največjega obsega možne ovojnice želimo dobiti mejno plast plazme oziroma ovojnico najbolj zunanjih točk notranjosti tokamaka.
Primer modelov je na voljo na vizualizacijskem strežniku:
- /home/penkod/KT/2018/modeli/Simple_Blanket_Panels.step
- /home/leon/smiter/study/step/ITER-inner_wall_surfaces_sides_V2.stp
- /home/leon/smiter/study/step/ITER-inner_wall_surfaces_sides.stp
Sodelujoči na projektu flimiter: mivanusa
6. HEXA mreženje vakuumske posode tokamaka ITER
Vakuumska posoda zagotavlja zaprto, vakuumsko okolje za fuzijske reakcije. V SALOME vgrajeni HEXA-block modelirnik želimo pripraviti Python skripto z dialogom, ki modelira vakuukmsko posodo tako, da se lahko pomreži. Glej primere uporabe mreženja in video.
Sodelujoči na projektu fhexa: mmisson gobreza
7. Toplotni model divertorja
Pripraviti je potrebno geometrijski model za termalni model FEM divertorja tako, da se upošteva povezave med monobloki.
Sodelujoči na projektu fmonoblock: //, //
8. Izračun ekvipotencialne krivulje magnetnega ravnovesja in iskanje zadnje zaprte krivulje
Za magnetno funkcijo PSI podano v datoteki EQDSK je potrebno poiskati ekvipotencialne krivulje in jih izrisati v okolju SALOME Geometry ter Mesh. Rutine za branje EQDSK in izris ključnih krivulj (Last Closed Flux Surface in Limiter) so že narejene. Potrebno je izdelati vmesnik za ekvipotencial poljubne vrednosti PSI in možnost, da sam poišče še zunanjo ločnico v divertorski konfiguraciji (separatrix).
Sodelujoči na projektu feqdsk: jujcic mkustra kmlakar
9. Detekcija Plasma Facing Components
Potrebno je poiskati površine, ki so obrnjene proti plazmi. To naredimo tako, da eksplodiramo model do ploskvic (face) in nato iz centra vlečemo daljice (žarke) ter iščemo preseke ali pa iz vsakega centra ploskvice proti centru iščemo ali je kakšna ploskev presekala pot. Pomagamo si lahko tudi z mrežnim modelom, ki ga naredimo v ta namen.
Primer modelov je na voljo na vizualizacijskem strežniku:
- /home/penkod/KT/2018/modeli/Simple_Blanket_Panels.step
- /home/leon/smiter/study/step/ITER-inner_wall_surfaces_sides_V2.stp
- /home/leon/smiter/study/step/ITER-inner_wall_surfaces_sides.stp
Sodelujoči na projektu pfctrace: tsvagelj tkosir ibanfi
10. Pikselacija presekov magnetov za preračune ravnovesja
Obstoječi program za detekcijo in pripravo pravokotnikov, ki predstavljajo magnetno postavitev oblike plazme se preračuna s programom za "equilibrium" ali magnetno ravnovesje (DINA, EFIT++, CHEASE, ...)
Sodelujoči na projektu eqdsk: //, //
Zahtevki
Evidenca domačih nalog, datoteke pri delu na vajah, in komunikacija se vodi za vsakega študenta posebej na strani http://trac.lecad.fs.uni-lj.si/
- zelena nima odprtih postavk
- oranžna eno nerešeno zadevo
- rdeča število rešenih/vseh zadev
Povezave
- Predstavitev odprtokodnega jedra Open CASCADE
- Vaje v Pythonu z uporabo PythonOcc in OpenCascade
- Izpitni red pri predmetih prof. Tavčarja
- Besedilo naloge RPK 2010 -- v obliki PDF
- Besedilo naloge RPK 2009 -- v obliki PDF
- Besedilo naloge RPK 2008 -- v obliki PDF
- Besedilo naloge RPK 2007 -- v obliki PDF
- Program za virtualni stroj -- Namesti kot administrator pred namestitvijo Virtualnega računalnika vaje.zip
- Navidezni računalnik za vaje (553MB) - za VB 1.6.x-3.x - Odpakiraj vse v začasni imenik in dvo-klikni na datoteko namesti.
- Računalniška grafika -- Navodila za programiranje OpenGL grafike v Fortranu
- Programski jezik C -- Uvod v C (Stanislav Rupar)
- C Programming - Pregledna Wiki knjiga za jezik C
- naloge - Besedila domačih nalog v programskem jeziku C
- python - Besedila domačih nalog v programskem jeziku Python
- opengl-intro - Računalniška grafika z OpenGL
- fortran - Primeri v FOTRAN 95
- PythonOcc/primitives - Izdelava modelov z OpenCascade
- jsc3d - Prikaz na spletni strani z jsc3d
- lab-intro - Razvojno okolje za laboratorijske vaje
- salome - Razvojno okolje SALOME
- Ocenjevalec nalog v C-ju ali Python-u- Kontrola pravilnosti delovanja domačih nalog
- prisotnost - Tabela prisotnosti na vajah
- Stari napotki za 2008-2009
- Stari napotki za 2009-2010
- Stari napotki za 2010-2011
- Napotki vaj KT za 2011-2012
- Napotki vaj KT za 2012-2013
- Napotki vaj KT za 2013-2014
- Napotki vaj KT za 2014-2015
- Napotki vaj KT za 2015-2016
- Napotki vaj KT za 2016-2017
- Napotki vaj KT za 2017-2018
- TracGuide -- Built-in Documentation
- Trac FAQ -- Frequently Asked Questions
- TracSupport -- Trac Support
For a complete list of local wiki pages, see TitleIndex.
Attachments (13)
-
podstukture-panela.png (14.3 KB) - added by 6 years ago.
Podstrukture panela 4
-
divertor.png (11.9 KB) - added by 6 years ago.
Površine divertorja
-
fingers.png (5.7 KB) - added by 6 years ago.
Groba struktura opisa prstov
-
divertor-complex.png (288.6 KB) - added by 6 years ago.
Divertor complex
-
finger-structure.png (568.2 KB) - added by 6 years ago.
Struktura prsta
-
tokamak-cross-section.png (492.4 KB) - added by 6 years ago.
Prerez tokamaka
-
vessel.png (22.1 KB) - added by 6 years ago.
Vakuumska posoda
-
hexa-menu.png (35.7 KB) - added by 6 years ago.
Menu hexa modelirnika
-
divertor-rendering.png (429.6 KB) - added by 6 years ago.
Divertor rendered
-
holes.png (6.8 KB) - added by 6 years ago.
Panel z luknjami
-
divertor-thermal-model.png (521.5 KB) - added by 6 years ago.
Toplotni model divertorja
-
psi.png (19.7 KB) - added by 6 years ago.
Eqdsk
- magnetic_equilibrium.png (41.8 KB) - added by 6 years ago.