Tussentijdse thesispresentatie 28 01
-
Upload
wouterdillen -
Category
Engineering
-
view
250 -
download
2
Transcript of Tussentijdse thesispresentatie 28 01
Large-scale topology optimization in the cloudTussentijdse presentatie28/01/2016
Wouter Dillenprof. Mattias Schevenels
prof. Geert LombaertJeroen Pellens
E. Andreassen, A. Clausen, M. Schevenels, B.S. Lazarov, and O. Sigmund. Efficient topologyoptimization in MATLAB using 88 lines of code. Structural and Multidisciplinary Optimization, 43:1-16, 2011.
Onderzoeksplan• Probleemstelling
Minimum compliance probleem: zoekt de structuur met minimale vervormingsenergie bij een gegeven materiaalvolume
FE analyse van topologisch optimalisatieprobleem beperkte schaal = beheersbaar grotere schaal = tijdsintensief
= te grote stelsels
Onderzoeksplan• Stand van zaken
Uitvoerig onderzoek op technisch vlak (o.a. DTU research group) toegankelijke MATLAB code (99 / 88 lijnen) veel papers over efficiëntere technieken software voor smoothen en omzetten van de
oplossing naar CAD-bestand zelfs een app voor eenvoudige 2D/3D problemen
Onderzoeksplan• Stand van zaken
3D topologische optimalisatie uitbreiding van de MATLAB code tot 169 lijnen Inspire-software van solidThinking praktijk: 3D-printing
Hogere snelheid m.b.v. PETSc-gebaseerd framework recente paper van de DTU TopOpt group in augustus 2014
biedt nieuwe inzichten in reeds uitvoerig bestudeerdeoptimalisatieproblemen
Onderzoeksplan• Doelstellingen
DTU ontwikkelde een framework voor parallelle topologische optimalisatie, gebruik makend van de PETSc-bibliotheken.
Framework gebruiken op de High Performance Cluster van de KULeuven
Onderzoeken wat de mogelijkheden daarvan zijn geeft hoge resolutie nieuwe inzichten? is oplossen in 3D altijd nuttig? kleine problemen in real-time oplossen?
Onderzoeksplan• Methodologie en tijdschema
1ste fase basistechnieken van topologische optimalisatie leren bekijken welke filter- en selectiemethoden best werken
voor snelle en efficiënte optimalisatieeerste weken
2de fase implementatie van het framework bijscholen in C++rest van het eerste semester
Op de eigen laptop
Matlab - oefeningen• Invloed volumefractie
Matlab - oefeningen• Invloed penalisatiefactor
Matlab - oefeningen• Invloed filterradius
Installatie van het framework• Ubuntu LINUX
PETSc is minder efficiënt op een Windows OS Virtuele Linux-omgeving (Oracle VM met Ubuntu 14.04) basics van Linux geleerd
• Configureren van PETSc (v 3.6.2)Runnen van ./configure
installeren van gcc, c++, fortran compilers installeren van mpich voor MPI
Installatie van het framework• Compileren van DTU Topopt-code
aanpassen van de makefile, linken naar PETSc-directories compileren van een optimalisatieprobleem via make topopt oplossen van het probleem gebruik makend van MPI via
mpiexec –np # ./topopt
• Visualiseren via Paraview (v 4.4.0) videotutorials voor basics voorbereiden van de resultaten via python bin2vtu.py # Paraview zeer traag op de VM, dus bekijken gebeurt op Windows experimenteren met snedes, kleurpatronen…
Standaardprobleem
x
y
z
• Uitkragende balk 2 x 1 x 1 64x32x32 = 65 536 elementen volfrac = 0.12, rmin = 0.08 sensitivity filtering
Standaardprobleem
x
y
z
• Uitkragende balk 2 x 1 x 1 64x32x32 = 65 536 elementen volfrac = 0.12, rmin = 0.08 sensitivity filtering
Standaardprobleem• Resultaat in paraview - snede
Standaardprobleem - filters• Sensitivity filtering (4 cores, 100 iteraties)
0
5
10
15
20
25
30
Rekentijd / iteratiestap (1 - 100)
(0) Sensitivity (1) Density (2) PDE
iteratie [#]
tijd
[s]
Totale rekentijd: 31m 31sC = 0,156uz,max = 1 335
0
5
10
15
20
25
30
Rekentijd / iteratiestap (1 - 100)
(0) Sensitivity (1) Density (2) PDE
iteratie [#]
tijd
[s]
Standaardprobleem - filters
Totale rekentijd: 21m 48sC = 0,194uz,max = 1 630
• Density filtering (4 cores, 100 iteraties)
0
5
10
15
20
25
30
Rekentijd / iteratiestap (1 - 100)
(0) Sensitivity (1) Density (2) PDE
iteratie [#]
tijd
[s]
Standaardprobleem - filters
Totale rekentijd: 26m 46sC = 0,210uz,max = 1 759
• PDE filtering (4 cores, 100 iteraties)
Standaardprobleem - filters• Vergelijking (4 cores, 100 iteraties)
Sensitivity
Totale rekentijd: 31m 31sC = 0,156uz,max = 1 335
Density
Totale rekentijd: 21m 48sC = 0,194uz,max = 1 630
PDE
Totale rekentijd: 26m 46sC = 0,210uz,max = 1 759
Standaardprobleem - filters
Matlab
C++ code
Sensitivity filter Density filter
• Vergelijking programma’s
Aangepast probleem• Basiskennis C++
nodig voor aanpassen van de randvoorwaarden
N. Aage, E. Andreassen, and B.S. Lazarov. Topology optimization using PETSc: An easy-to-use, fully parallel, open source topology optimization framework. Structural and Multidisciplinary Optimization. Published online.
Parameters FEM en optimalisatieprocesRandvoorwaarden
Aangepast probleem• Parameters FEM en optimalisatieproces (TopOpt.cc)
Aangepast probleem• Randvoorwaarden (LinearElasticity.cc)
Inklemming (u = 0) voor alle x = xmin
Lijnlast (F = -0,1)voor alle x = xmin als ook z = zmin
Aangepast probleem
x
y
z
• Ingeklemd volume 2 x 2 x 1 64x64x32 = 131 072 elementen volfrac = 0.03, rmin = 0.08 sensitivity filtering
Aangepast probleem
x
y
z
• Standaard MBB-beam 3 x 1 x 1 96x32x32 = 98 304 elementen volfrac = 0.12, rmin = 0.08 PDE filtering
Rekensnelheid
x
y
z
• Uitkragende balk 2 x 1 x 1 64x32x32 = 65 536 elementen volfrac = 0.12, rmin = 0.08 sensitivity filtering, 400 iteraties
Rekensnelheid• Uitkragende balk 2 x 1 x 1
96x48x48 = 221 184 elementen volfrac = 0.12, rmin = 0.08 sensitivity filtering, 400 iteraties totale rekentijd: 3h 21m 36s
x
y
z
1 26 51 76 1011261511762012262512763013263513760.000.050.100.150.200.250.300.350.400.450.50
Compliance function
# iteraties
c
Rekensnelheid• Uitkragende balk 2 x 1 x 1
Rekensnelheid• Standaardprobleem, 100 iteraties, density filtering
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 970
10
20
30
40
50
60
Rekentijd / iteratie-np 1 -np 2 -np 3 -np 4
# iteratie
tijd
[s] -np 1
-np 4
Totale rekentijd:
-np 1 41m 04s-np 2 31m 22s-np 3 28m 34s-np 4 27m 14s
Heaviside filter• Oplossing heeft nog grijswaarden
Heaviside filter• Visueel voorstellen door Threshold-filter in Paraview,
om te kunnen kleuren op uz kwaliteitsverlies!
0.25 < xPhys < 1 0.50 < xPhys < 1 0.75 < xPhys < 1
Op de rekencluster
Rekencluster• High Performance Cluster, onderdeel van het Vlaams
Supercomputer Centrum (VSC) vsc-account aangevraagd en gekregen inclusief 2000 kennismakingscredits
• Vooruitgang jobs doorsturen via batch-file (walltime, nodes, ppn) HPC_intro oefeningen Standaard topopt-probleem
zeer lange rekentijd Hoe komt dit?
RekenclusterTijd [s] per iteratiestap
Standaardvoorbeeld 128 x 64 x 64 = 524 288 elementen Sensitivity filter
05:00:00 walltime 200 cores, verdeeld over 10 nodes (ThinKing)
Onderzoeksplan• Methodologie en tijdschema
3de fase runnen van praktische voorbeelden capaciteiten van het framework testen indien nodig uitbreidingen toevoegenbegin tweede semester
4de fase verzamelen en uitschrijven van de ervaringen eninzichten uit de vorige fasen
samenbrengen tot coherent geheelvanaf de paasvakantie, eventueel overlappend met fase 3