Topološka optimizacija na 3DEXPERIENCE platformi z vlogo Function Drive Generative Designer

Sodobni svet je poln zahtev po prihrankih – bodisi pri energetski učinkovitosti, učinkoviti rabi materiala ali čim boljšem izkoristku strojev. Danes ne moremo mimo varčevanja na vseh področjih. Zato je vse bolj pomembno, da že v samem začetku zasnove izdelka upoštevamo prihranke. 3DEXPERIENCE ponuja orodje, ki je namenjeno prav takšni potrebi. S pomočjo analize Functional Generative Desing odstranimo nepotrebne dele komponent, ki nimajo vpliva na strukturno trdnost.

Poglejmo si kako lahko optimiziramo nosilno ročko, zmanjšamo maso in posledično tudi stroške izdelka.

Priprava optimizacije

Priprava CAD geometrije

Kot pri vseh simulacijah potrebujemo osnovo – CAD-geometrijo, na katero nato dodamo robne pogoje in izvedemo topološko optimizacijo. Pogosto pa se pojavi težava, da je geometrija sicer funkcionalna in izpolnjuje svojo nalogo, vendar ni optimizirana glede na maso ali izkoristek materiala.

V našem primeru bomo začeli z geometrijo v aplikaciji Assembly Design, pripravljeno v programu SOLIDWORKS. Prvi korak je ustvarjanje Abstraction Shape, na katerem bomo kasneje izvajali analizo. To storimo zato, da osnovne geometrije ni treba spreminjati.

Izdelava Design Space

Naslednji koraki zahtevajo odpiranje glavne aplikacije našega modula Functional Generative Design in zagon analize Topology Optimization. Ko odpremo Topology Optimization, nas sistem pozove, da določimo kriterij optimizacije. Za današnji šolski primer bomo izbrali možnost Maximize stiffness for a given mass. Ta nastavitev zagotovi, da so deformacije – in s tem podajnost izdelka – čim manjše pri čim manjši masi.

Simulacijo oziroma analizo lahko poljubno poimenujemo. Na voljo pa sta tudi možnosti Maximize frequencies (maksimizacija najnižjih lastnih frekvenc) in Minimize mass (minimizacija mase).

To nam odpre simulacijo v novem zavihku znotraj 3DEXPERIENCE. Za zdaj pa se vrnemo na prvotni zavihek, kjer bomo definirali prostor – Design Space –, v katerem bo potekala optimizacija. Glede na to, kako ste do zdaj modelirali izdelek, lahko to pomeni, da ste že izkoristili ves razpoložljivi prostor. Morda pa vam ostaja še nekaj volumna, ki ga je možno vključiti v optimizacijo. V našem primeru bomo dodali nekaj volumna, ki ga prvotno nismo uporabili.

Na našem Abstraction Shape ustvarimo Sketch, s katerim bomo nato definirali uporabni volumen.

S tem korakom smo določili celoten uporabni volumen, ki je na voljo za izbrano komponento. To pomeni, da smo programu jasno podali območje, znotraj katerega lahko išče optimalno obliko. Uporabni volumen je ključen, saj določa meje, v katerih bo algoritem razporejal material glede na izbrane cilje optimizacije. Če bi bil volumen premajhen, bi omejili možnosti rešitve in s tem tudi kakovost končnega rezultata. Če pa je dovolj velik, lahko program izkoristi vse razpoložljive vire prostora in najde učinkovitejšo, pogosto presenetljivo inovativno obliko konstrukcije.

Zdaj moramo definirati regije, ki jih program med optimizacijo ne bo spreminjal. V našem primeru so to priključne in obremenitvene točke, v drugih pa so lahko tudi različne priležne, tesnilne ali druge funkcijske površine, ki morajo zaradi svoje vloge ostati nespremenjene.

Nato se vrnemo v prej odprto simulacijo, kjer bomo te regije definirali s pomočjo orodja Partition Design Envelope. Najprej izberemo površine, ki jih želimo ohraniti, nato pa določimo, v kakšni razdalji od njih program ne sme spreminjati geometrije. V našem primeru bomo izbrali tri cilindrične površine in določili, da v območju 10 mm okoli njih ostanejo nespremenjene.

Ko zaključimo z razdelitvijo volumna, lahko začnemo izvajati naloge po seznamu na desni strani uporabniškega vmesnika. Prvi korak je izbira interesnega volumna (Design Space), nato pa moramo določiti, kateri deli konstrukcije se morajo obvezno ohraniti. Ti deli predstavljajo ključne površine oziroma območja, ki so za funkcionalnost izdelka nujna in jih program med optimizacijo ne sme spreminjati.

V drevesni strukturi izdelka določimo elemente, ki jih mora sistem upoštevati. Izberemo predhodno ustvarjeni Abstraction Shape skupaj z našo razdelitvijo volumna.

V naslednjem koraku pa določimo volumne, ki morajo ostati nespremenjeni. V našem primeru so to območja okoli priključnih lukenj, saj te predstavljajo funkcionalne površine, ki jih program ne sme spreminjati.

Podpor za sestav v tem primeru nimamo, zato ta korak izpustimo.

Naslednja točka so obremenitve. V našem primeru imamo le eno obremenitev: na sprednji večji luknji bomo definirali ležajno obremenitev s silo 500 N. Na zadnjem delu pa imamo dva tečaja, ki sta definirana kot podpori.

Po definiciji podpor in obremenitev dodamo še obremenitvene primere (Load Cases). V teh primerih lahko posamezne obremenitve in podporne točke vključujemo ali izključujemo, prav tako pa je mogoče prilagajati njihovo velikost oziroma skalirati obremenitve glede na potrebe analize.

Poslednji korak pred nastavitevjo optimizacije je validacija modela. Pri tem preverimo, ali model deluje pravilno, ne da bi že izvajali časovno zahtevno optimizacijo. Izvede se linearna statična analiza z uporabo TET mreže, ki jo lahko uporabnik določi sam, ali pa prepusti programu, da jo ustvari samodejno. Na koncu si ogledamo rezultate, da zagotovimo, da so smiselni in da se model obnaša kot pričakovano.

V našem primeru model deluje pravilno, saj se obnaša kot upogibno obremenjeni nosilec – deformacije in reakcije so skladne s pričakovanji.

Optimizacija

Z delujočim modelom lahko sedaj postavimo optimizacijo. Najprej bomo morali dodati različne omejitve znotraj katerih bo morala optimizacija potekati. Te lahko razporedimo na naslednje možnosti:

  • Frequency Constraint – Frekvenčna omejitev
    Najnižja frekvenca izbranih načinov ne sme pasti pod določeno vrednost, najvišja frekvenca izbranih načinov pa ne sme preseči določene vrednosti. Na model lahko uporabimo samo eno frekvenčno omejitev.
    Opomba: Frekvenčne omejitve ne moremo ustvariti, če smo določili optimizacijski cilj, ki poskuša maksimirati lastne frekvence.
  • Translation Constraint – Translacijska omejitev
    Translacijski pomik izbranih točk ne sme preseči določene vrednosti, bodisi v katerikoli smeri ali v določeni smeri.
  • Rotation Constraint – Rotacijska omejitev
    Rotacijski pomik izbranih točk ne sme preseči določene vrednosti, bodisi v katerikoli smeri ali v določeni smeri.
  • Stress Constraint – Napetostna omejitev
    Največja napetost v konstrukcijskem območju ne sme preseči določene vrednosti. Ustvariš lahko več napetostnih omejitev in jih uporabiš na enem ali več konstrukcijskih območjih.
  • Fastener Force Constraint – Omejitev sile v pritrdilnem elementu
    Osna napetost in strižna togost v izbranem vijaku ne smeta preseči določene vrednosti.
  • Center of Gravity Constraint – Omejitev težišča
    Težišče se med optimizacijo spreminja. Lahko ga omejite na njegovo začetno lokacijo ali pa ga omejite na določeno točko, premico ali ravnino.

Za naš primer ne bomo dodali nobene od teh omejitev, ker so v našem primeru nepotrebne.

V isti sklop pa spadajo tudi proizvodne kontrole, ki jih moramo dodati zaradi narave izdelave določenih izdelkov:

  • Thickness Control – Nadzor debeline
    Urejamo najmanjšo ali največjo debelino izbranih območij modela; na primer najmanjšo debelino območja, kjer optimizacija ustvari nosilne paličaste strukture (trusses).
    Določitev največje debeline prisili optimizacijo, da debelejša območja razdeli na več manjših in prepreči nastanek velikih strnjenih območij. Določitev najmanjše debeline prepreči nastanek tankih paličastih struktur, ki bi bile težavne za izdelavo.
    Običajno lahko določimo enako vrednost za minimalno in maksimalno debelino, optimizacija pa ustvari nosilce približno take debeline. Da bi se izognila sesutju strukture, funkcija Functional Generative Design skuša preprečiti ustvarjanje tankih nosilcev v območjih, kjer so predpisani pogoji.
    Določitev minimalne ali maksimalne debeline je računsko zahtevna in jo je treba uporabiti premišljeno. Najprej je treba izvesti optimizacijo brez omejitev debeline, da se identificirajo območja, kjer je treba omejitve uporabiti.
  • Manufacturing Controls – Proizvodne omejitve
    Optimizacijski proces vedno ustvari konstrukcijsko postavitev, ki izpolnjuje cilje in omejitve. Čeprav je lahko zasnovo mogoče izdelati z aditivno proizvodnjo, je morda nemogoča za klasične postopke kot so vlečenje, litje ali kovanje. Lahko uporabimo kontrole oblike, ki prisilijo optimizacijo topologije, da upošteva le oblike, ki jih je mogoče izdelati s standardnimi tehnikami. S tem lahko prisilimo optimizacijo, da ustvari obliko, ki jo je mogoče uliti v kalup, ali obliko, ki jo je mogoče kovati z orodjem in matrico.
    Možne proizvodne omejitve:
    • Casting – Litje
      • Single draw – Enostransko izvlečenje
        Omogoča obliko, ki se lahko ulije, kjer se enotni kalup odstrani v določeni smeri izvleka. Sredinska ravnina, kjer se stikata dve polovici kalupa, leži zunaj konstrukcijskega območja in je pravokotna na smer izvleka. Optimizacija dodaja ali odstranjuje material samo v smeri izvleka.
      • Split draw – Dvostransko izvlečenje
        Omogoča obliko, ki se lahko ulije, kjer se dve polovici kalupa odstranita iz izbrane sredinske ravnine v nasprotnih smereh. Optimizacija dodaja ali odstranjuje material samo v smereh izvleka.
      • Auto draw – Samodejni izvlek
        Samodejno izračuna položaj ravnine izvleka vzdolž normale in zagotovi optimalne rezultate.
        Pri uporabi kontrole litja lahko določimo, da optimizacija ne sme ustvarjati novih notranjih lukenj v območju zasnove, če je to mogoče, ob spoštovanju omejitev mase.
    • Milling – Rezkanje
      Omogoča določitev več omejitev glede na izbrane smeri rezkanja.
    • Extrusion – Ekstruzija
      Omogoča obliko, ki se lahko iztiska. Če optimizacija odstrani element iz strukture, odstrani tudi vse elemente pred ali za njim (glede na izbrano smer vlečenja).
    • Overhang – Previs
      Uporablja se pri aditivni proizvodnji (ALM). Optimiziran model mora izpolnjevati zahteve glede previsov. Preprečuje oblikovanje previsnih delov, ki presegajo kritični kot (npr. >45°), saj so težavni za 3D-tisk brez podpor.
    • Rib – Rebra
      S to nastavitvijo določamo, kako se lahko med topološko optimizacijo dodajajo rebra, ki povečajo togost strukture. Lahko so notranja ali zunanja, odvisno od namena zasnove.
  • Shape Controls – Omejitve oblike
    • Axial Symmetry – Aksialna simetrija
      Ustvari omejitev, ki prisili optimiziran model, da ponavlja (ciklično) določen del okrog izbrane osi. To velja samo za celotno konstrukcijsko območje. Določiti moramo le os vrtenja in število ponovitev.
    • Planar Symmetry – Planarna simetrija
      Ustvari omejitev, ki prisili optimiziran model, da je simetričen glede na izbrano ploskev.
    • Opomba: Uvedba simetrije lahko občutno pospeši izračun optimizirane strukture.

Za primer našega nosilca bomo uporabili Casting Control, saj bo izdelek izdelan z litjem.

Druga kontrola, ki jo bomo uporabili, je Symmetry Control, saj je izdelek simetričen glede na XY-ravno. Ta kontrola omogoča programu, da optimizacijo izvaja samo na polovici modela, kar pospeši izračune in zagotovi simetrične rezultate.

Zdaj lahko končno določimo, koliko mase želimo, da ostane po optimizaciji oziroma koliko naj se optimizacija približuje tej vrednosti. V našem primeru smo izbrali, da naj končni model obdrži 30 % mase trenutnega prostorninskega zasedanja objekta. Ta nastavitev določa cilj optimizacije glede na razmerje med trdnostjo in maso.

Rezultati

Simulacija zaradi iterativnega pristopa traja nekoliko dlje kot običajne statične analize, zato je najbolje, da jo pustimo teči čez noč ali medtem, ko opravljamo druga dela.

Program nam sporoča, da ni uspel popolnoma konvergirati na določeno mejo 30 % mase in čim bolj tog strukturo. Kljub temu se je temu precej približal, zato bomo rezultate vseeno upoštevali in nadaljevali delo z njimi.

Iz tega koraka lahko nadaljujemo delo tako, da izvozimo Concept Shape – obliko, ki jo uporabimo za CAD model. V meniju imamo dostop do več ukazov: lahko določimo, da je oblika vezana na rezultate, prilagodimo, koliko oblike odstranimo, katere dele porežemo stran, ter kako izvozimo podatke za nadaljnjo obdelavo.

S tem je topološka optimizacija zaključena z izdelkom, ki je bil sprva težak 12,7 kg, sedaj pa je enako trden in lažji – tehta le 3,8 kg. Možnosti za nadaljnje delo so še številne:

  • izvajanje dodatnih simulacij na pridobljeni geometriji.
  • ročno prilagajanje in urejanje oblike za pripravo na rezkanje,
  • izvedba več optimizacij in primerjava rezultatov med seboj,

Če vas zanima več in niste prepričani, kako nadaljevati, kontaktirajte IB-CADDY preko telefona 01 566 12 55 ali elektronske pošte info@ib-caddy.com.

VIR: Functional Generative Design – User Assistance R2025x