Tussentijdse thesispresentatie 28 01

Post on 20-Mar-2017

250 views 2 download

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