Tussentijdse thesispresentatie 28 01

39
Large-scale topology optimization in the cloud Tussentijdse presentatie 28/01/2016 Wouter Dillen prof. Mattias Schevenels prof. Geert Lombaert Jeroen Pellens

Transcript of Tussentijdse thesispresentatie 28 01

Page 1: Tussentijdse thesispresentatie 28 01

Large-scale topology optimization in the cloudTussentijdse presentatie28/01/2016

Wouter Dillenprof. Mattias Schevenels

prof. Geert LombaertJeroen Pellens

Page 2: Tussentijdse thesispresentatie 28 01

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

Page 3: Tussentijdse thesispresentatie 28 01

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

Page 4: Tussentijdse thesispresentatie 28 01

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

Page 5: Tussentijdse thesispresentatie 28 01

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?

Page 6: Tussentijdse thesispresentatie 28 01

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

Page 7: Tussentijdse thesispresentatie 28 01

Op de eigen laptop

Page 8: Tussentijdse thesispresentatie 28 01

Matlab - oefeningen• Invloed volumefractie

Page 9: Tussentijdse thesispresentatie 28 01

Matlab - oefeningen• Invloed penalisatiefactor

Page 10: Tussentijdse thesispresentatie 28 01

Matlab - oefeningen• Invloed filterradius

Page 11: Tussentijdse thesispresentatie 28 01

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

Page 12: Tussentijdse thesispresentatie 28 01

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…

Page 13: Tussentijdse thesispresentatie 28 01

Standaardprobleem

x

y

z

• Uitkragende balk 2 x 1 x 1 64x32x32 = 65 536 elementen volfrac = 0.12, rmin = 0.08 sensitivity filtering

Page 14: Tussentijdse thesispresentatie 28 01

Standaardprobleem

x

y

z

• Uitkragende balk 2 x 1 x 1 64x32x32 = 65 536 elementen volfrac = 0.12, rmin = 0.08 sensitivity filtering

Page 15: Tussentijdse thesispresentatie 28 01

Standaardprobleem• Resultaat in paraview - snede

Page 16: Tussentijdse thesispresentatie 28 01

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

Page 17: Tussentijdse thesispresentatie 28 01

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)

Page 18: Tussentijdse thesispresentatie 28 01

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)

Page 19: Tussentijdse thesispresentatie 28 01

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

Page 20: Tussentijdse thesispresentatie 28 01

Standaardprobleem - filters

Matlab

C++ code

Sensitivity filter Density filter

• Vergelijking programma’s

Page 21: Tussentijdse thesispresentatie 28 01

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

Page 22: Tussentijdse thesispresentatie 28 01

Aangepast probleem• Parameters FEM en optimalisatieproces (TopOpt.cc)

Page 23: Tussentijdse thesispresentatie 28 01

Aangepast probleem• Randvoorwaarden (LinearElasticity.cc)

Inklemming (u = 0) voor alle x = xmin

Lijnlast (F = -0,1)voor alle x = xmin als ook z = zmin

Page 24: Tussentijdse thesispresentatie 28 01

Aangepast probleem

x

y

z

• Ingeklemd volume 2 x 2 x 1 64x64x32 = 131 072 elementen volfrac = 0.03, rmin = 0.08 sensitivity filtering

Page 25: Tussentijdse thesispresentatie 28 01

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

Page 26: Tussentijdse thesispresentatie 28 01

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

Page 27: Tussentijdse thesispresentatie 28 01

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

Page 28: Tussentijdse thesispresentatie 28 01

Rekensnelheid• Uitkragende balk 2 x 1 x 1

Page 29: Tussentijdse thesispresentatie 28 01

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

Page 30: Tussentijdse thesispresentatie 28 01

Heaviside filter• Oplossing heeft nog grijswaarden

Page 31: Tussentijdse thesispresentatie 28 01

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

Page 32: Tussentijdse thesispresentatie 28 01

Op de rekencluster

Page 33: Tussentijdse thesispresentatie 28 01

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?

Page 34: Tussentijdse thesispresentatie 28 01

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)

Page 35: Tussentijdse thesispresentatie 28 01

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

Page 36: Tussentijdse thesispresentatie 28 01
Page 37: Tussentijdse thesispresentatie 28 01
Page 38: Tussentijdse thesispresentatie 28 01
Page 39: Tussentijdse thesispresentatie 28 01