Přeskočit na obsah

Elementarium 0.5: generátory konstrukcí, rychlejší řešič, kterému vidíte pod ruce, a posudky použitelnosti

Co se změnilo mezi verzemi 0.3.1 a 0.5.0 – generátory konstrukcí, 2–4× rychlejší řešič, živý průběh výpočtu, posudky použitelnosti – s naměřenými časy.

Jan Vorisek· Founder6 min čtení

Za poslední týden vyšly tři verze a k tomu várka změn, která už v aplikaci běží, jen zatím nemá číslo. Tady je stručný přehled novinek s naměřenými časy. Všechny změny do posledního řádku najdete v poznámkách k vydání.

Začněte hotovou konstrukcí

Staré šablony projektů jsme zrušili. Nahradilo je pětatřicet generátorů konstrukcí: spojité nosníky a nosníkové rošty; příhradové nosníky typu Pratt, Howe, Warren a Fink; rámové vazby a patrové rámy, oblouky, hala a příhradový most; příhradové a hyperboloidní stožáry, geodetické kopule; a skořepiny – chladicí věž, nádrž na vodu, zásobník na sloupech, rámový propustek a opěrná zeď.

Konstrukce se při zadávání rovnou kreslí i s kótami a vložíte ji buď jako nový projekt, nebo do modelu, který už máte – včetně průřezů, podpor a základní sady zatížení. Styčníky, které padnou do existujících uzlů, se s nimi sloučí, takže vazník vygenerovaný na hlavy dvou sloupů je k nim rovnou připojený. Dál už je to obyčejná geometrie: nic ji potichu nepřegenerovává.

Rychlejší řešič tam, kde na tom záleží

Verze 0.4.0 a 0.5.0 byly hlavně o řešiči. Nejdřív 0.4.0, měřeno na prostě uložené desce včetně sestavení matice, nejlepší ze tří běhů na stolním procesoru s 8 vlákny:

ModelŘešič0.3.10.4.0Zrychlení
Deska, 31 tis. st. v.Iterační (výchozí)503 ms210 ms2,4×
Deska, 68 tis. st. v.Iterační (výchozí)1,80 s0,57 s3,1×
Deska, 31 tis. st. v.Přímý ()679 ms256 ms2,7×
Deska, 68 tis. st. v.Přímý ()2,67 s0,73 s3,7×

Většinu zrychlení mají na svědomí dvě změny. Výchozí řešič (metoda sdružených gradientů) teď rozkládá na všechna vlákna každý krok iterace, nejen násobení maticí. A matice tuhosti už neukládá nuly uvnitř bloku 6 × 6 u každého uzlu, které přímé řešiče svědomitě faktorizovaly. Výsledky se liší nanejvýš zaokrouhlením: je to pořád tatáž matice, jen bez uložených nul.

Verze 0.5.0 pak přestavěla předpodmínění algebraickým multigridem (AMG). Nově zohledňuje pohyby konstrukce jako tuhého celku, takže obvykle zkonverguje za desítky iterací místo tisíců; jeho výchozí vyhlazovač běží na všech jádrech a až osm zatěžovacích stavů vyřeší v jednom průchodu s využitím vektorových instrukcí procesoru. U deskového modelu s více zatěžovacími stavy je to správná volba – kdy přesně, popisuje průvodce řešiči.

Kolik vláken? Polovinu logických procesorů, nejvýš osm – víc už podle měření nepomáhá. Počet se teď dá nastavit, kdybyste zbytek počítače potřebovali na něco jiného.

Nové časy řešených příkladů

Příklady teď uvádějí časy změřené 14. října ve verzi 0.5.0: druhý výpočet po otevření (ten první zároveň spouští řešič), medián ze tří běhů na počítači s 16 vlákny.

PříkladSt. volnosti25. 9., 0.2.014. 10., 0.5.0
Ocelová hala37270 ms70 ms
Betonový strop29499 ms21 ms
Příhradový stožár49889 ms74 ms
Silniční nadjezd18 654—1,8 s

U malých modelů opatrně. Při několika stech stupních volnosti je samotné řešení zanedbatelné; měříte hlavně cestu k řešiči, který běží na pozadí, a zpět, sestavení matice a načtení výsledků. To mezi běhy kolísá o desítky milisekund a rozdíly u haly a stožáru se do toho vejdou. Zrychlení cílí na modely, u kterých stojí čas samotné řešení.

Nadjezd je přesně takový. V tabulce je nově proto, že se příklady teď počítají v jakékoli velikosti, bez limitu tarifu – na most s 18 654 stupni volnosti tedy můžete stisknout F5 přímo ve svém prohlížeči. A něco mě naučil: příklady byly uložené ještě před verzí 0.5.0, takže pořád nesly předpodmínění, které bylo výchozí před ní, neúplný Choleského rozklad. Ten se počítá v jediném vlákně a na nadjezdu to dělalo 9,5 s. Nové projekty teď začínají s Jacobiho předpodmíněním. Teď se příklady dodávají s multigridem a tentýž most se spočítá za 1,8 s, s nejvýše 119 iteracemi na zatěžovací stav.

Řešič, kterému vidíte pod ruce

Tím se dostávám ke změně, ze které mám největší radost. Když výpočet trvá déle než chvilku, otevře se vedle modelu průběh výpočtu.

Editor s otevřeným průběhem výpočtu nad příkladem nadjezdu: Lineární statika, Konvergováno, 1,2 s, stav 8 z 8, nejvýše 119 iterací a graf konvergence s osmi křivkami; zbytek obrazovky vyplňuje model a izoplochy posunů
Příklad silničního nadjezdu po stisku F5: vlevo průběh výpočtu – osm zatěžovacích stavů, sdružené gradienty s multigridem, zkonvergováno za 1,2 s v tomto běhu (1,8 s v tabulce je medián tří běhů), nejpomalejší stav po 119 iteracích – vpravo posuny od dopravní kombinace v MSÚ.

Vidíte v něm, který zatěžovací stav se právě počítá, číslo iterace, energetickou chybu vůči toleranci a graf konvergence s jednou křivkou pro každý stav. Tlačítko Zastavit výpočet opravdu zastaví. Záložka Statistiky přepočítá reziduum z hotového výsledku, odhadne číslo podmíněnosti matice tuhosti, ukáže, jestli prošla kontrola mechanismů, a rozepíše čas na sestavení, řešení a načtení výsledků.

Není to jen ukazatel průběhu, ale i diagnostika. S výchozím Jacobiho předpodmíněním potřebuje nadjezd na každý zatěžovací stav přes tři tisíce iterací: model plný skořepin vám tím názorně říká, že chce multigrid. Obrázek nahoře ukazuje tentýž most, když ho dostane.

Posudky použitelnosti

Až do tohoto týdne končily posudky u únosnosti a znalostní báze vám radila odečítat průhyby ručně. Teď přibyly posudky použitelnosti: průhyb prutů, vodorovný posun podlaží i celé konstrukce a orientační kontrola vlastní frekvence stropu – podle tabulek české, britské, francouzské, polské, dánské a nizozemské národní přílohy, EN 1990:2023, tabulky 1604.3 IBC, pro dřevo podle EN 1995-1-1 včetně dotvarování a pro vodorovný posun podle rozsahu z komentáře L3 k AISC 360.

Nejvíc mi záleží na dvou věcech. Každý limit se ověřuje v kombinaci, pro kterou je určený – poškození v charakteristické, pohodlí v časté a vzhled v kvazistálé. A průhyb se měří od spojnice posunutých podpor prutu, takže nosníku uloženému na prohýbajícím se průvlaku se nepřičítá průhyb samotného průvlaku. Kontrola frekvence se sama označuje za orientační, protože víc posudek po jednotlivých prutech nabídnout nemůže.

Drobnosti

  • Zatížení v lokálních osách. Liniová, plošná a hranová zatížení mají přepínač Globální / Lokální a editor zatížení každé zatížení vykreslí na skutečné geometrii prutu. Lokální osy platí všude: v řešiči, tabulkách, statickém výpočtu, IFC i SAF.
  • Import a export IFC. Pohled pro statickou analýzu ve verzích IFC2X3, IFC4 a IFC4X3 – viz IFC.
  • Vítr a sníh. Generátory zatížení podle EN 1991-1-4 a EN 1991-1-3.
  • Americké jednotky vedle soustavy SI.
  • Komentáře a historie verzí. Diskuse připnuté přímo k modelu, se zmínkami přes @; každou uloženou verzi si můžete prohlédnout a obnovit.
  • Mechanismy ještě před výpočtem. Kontrola modelu je najde předem a ukáže jejich pohyb na modelu; u rovinných modelů už nehlásí každý uzel.
  • Animace. Deformované a vlastní tvary se animují a animaci lze nahrát jako video.
  • Předěly, které se přichytávají ke čtvrtinám, třetinám a polovinám a ukazují, jak je plocha rozdělená.
  • Telefony. Panel Vlastnosti uzpůsobený pro ovládání palcem a editor, který uhne klávesnici z cesty.

Co bude dál

Už běží i vzpěr ocelových prutů: EN 1993-1-1 §6.3 a AISC 360 kapitola E, jako nové moduly, které používají nové posudky – viz Ocel — EN 1993-1-1. Nejžádanější chybějící funkcí zůstávají posudky betonu podle EN 1992-1-1 a jsou dalším modulem na řadě. Co vyšlo, zaznamenávají poznámky k vydání.

Chcete to všechno vidět za dvě minuty? Otevřete silniční nadjezd, klikněte do modelu, stiskněte F5 a sledujte, jak průběh výpočtu během pár sekund vykreslí osm křivek konvergence.