VŠB Technická univerzita Ostrava Fakulta stavební Návod k používání programu OPTIMIST 1.0 pro optimalizaci ŽB rotačních skořepin Jiří Brožovský Ostrava, 10. 10. 2010
Kapitola 1 Úvod 1.1 Charakteristika software Program OPTIMIST je určen k tvarové optimalizaci vybraných stavebních konstrukcí. Pro svoji činnost vyžaduje výpočetní jádro(například konečně-prvkový software eshell) a simulační modul(volně šiřitelný program Monte[5]). Všechny tyto programy jsou součástí distribuce. Všechny uvedené programy pracují neinteraktivně(v dávkovém režimu). Pro zvýšení uživatelského komfortu je možné využít volně šiřitelné nadstavby nad programy eshell[4] a Monte[5],kteréjemožnostáhnoutzjejichstránekvsítiInternet. 1 1.2 Stručný popis funkcionality Program OPTIMIST s výpočetním jádrem eshell umožňuje analyzovat rotačně symetrické skořepinové konstrukce metodou konečných prvků a provádět optimalizaci jejich parametrů(tlouštěk stěn, rozměrů a počtu výztužných žeber a podobně). Optimalizací je míněno nalezení nejlevnější konstrukce, která přitom odpovídá požadovaným kritériím spolehlivosti. Veličiny, které mají být optimalizovány, a jejich možné hodnoty, jsou definovány uživatelem. Program sestavuje všechny možné varianty a studuje jejich vlastnosti. Kritériem ceny konstrukce je násobek objemu materiálu, přičemž různým prvků konstrukce je možné určit jinou cenu jednotky objemu. Jako podmínka spolehlivosti se využívá mez vzniku trhlin v železobetonu, přičemž je možné provádět posouzení pravděpodobnostním přístupem, kdy se vybraná vstupní data považují za náhodná a provádí se simulační výpočet pomocí metody Monte Carlo[1]. 1.3 Podmínky šíření a používání Program je možné využívat na vlastní zodpovědnost uživatele k jakýmkoli účelům včetně komerčních, výzkumných a výukových. Pravidla šíření programu jsou podrobně stanovena v licenčním ujednání, zejména platí povinnost při dalším šíření programu bezplatně poskytovat zdrojové kódy všech případných úprav a změn programů. 1 UvedenéprogramyjsoudílemstejnýchautorůjakoprogramOPTIMIST, nejsouvšakjehonezbytnou integrální součástí, a proto jsou distribuovány samostatně. 2
1.4 Idealizace modelu a konvence U řešených modelu se předpokládá, že jsou rotačně symetrické s osou rotace y. Toto zjednodušení vyžaduje, aby i veškerá zatížení i uložení byla také rotačně symetrická. y y x, r x, r Obrázek 1.1: Idealizace skutečné geometrie na jednorozměrnou rotačně-symetrickopu úlohu. Zatížení a posunutí mají kladný smysl v případě, že směřují ve směru kladných poloos systému souřadnic(tedy ve směru šipek na obrázku 1.1). V textu používaná označení vnitřních sil1a2sevztahujíkrovnoběžkovému(2)apoledníkovému(1)směru,nznačínormálové síly, M ohybové momenty a Q posouvající sílu. y2 y rot2 v2 2 u2 y N1 y1 v1 1 u1 rot1 x1=r1 x, r x, r x2=r2 N2 Obrázek 1.2: Konečný prvek programu eshell[2]. Použitý konečný prvek pro rotačně symetrické úlohy[2] je ilustrován na obrázku 1.2. V každémuzlumá3neznámé posunutívradiálnímsměruavesvislémsměruapootočení. 3
Kapitola 2 Instalace 2.1 Systémové požadavky Program je primárně určen pro operační systémy unixového typu a jeho ovládání a instalace je tomu uzpůsobena. Nicméně je k dispozici i pro operační systémy Windows. Instalace pro operační systém Linux vyžaduje 32-bitové prostředí na platformě x86(standardní PC) a instalaci prostředí Tcl[6] verze 8.4 nebo vyšší. Instalace pro operační systém Windows vyžaduje operční systém ve verzi XP nebo vyšší na platformě x86(standardní PC). Prostředí Tcl není zpravidla potřebné, protože je zahrnuto ve spustitelných souborech. 2.2 Instalace v operačním systému Linux 2.2.1 Spustitelné soubory a knihovny Program obsahuje následující spustitelné soubory: opt monte eshell libshell.so Tyto soubory je potřebné umístit do společného adresáře. Je možno zvolit si některý z níže uvedených: /opt/optshell/ /usr/bin/ $HOME/optshell/ $HOME/progs/shell/ Pokud je nezbytné umístit tyto soubory do jiného umístění, je třeba definovat systémovou proměnnou OPTIM SHELL DIR, která bude obsahovat úplnou cestu do uvedeného adresáře. 4
2.2.2 Datové soubory Soubory se vstupními histogramy(soubory s koncovkou.dis) je možné umístit do téhož adresáře jako spustitelné soubory nebo do jeho podadresáře s názvem histograms, tedy například/opt/optshell/histograms. Pokud je nezbytné umístit tyto soubory do jiného umístění, je třeba definovat systémovou proměnnou OPTIM SHELL HIS DIR, která bude obsahovat úplnou cestu do uvedeného adresáře. 2.3 Instalace v operačním systému Windows Program obsahuje následující spustitelné soubory: opt.exe monte.exe eshell.exe libshell.dll Tyto soubory je potřebné umístit do společného adresáře. Je možno zvolit si některý z níže uvedených: C:\Program Files\optshell C:\optshell C:\ Pokud je nezbytné umístit tyto soubory do jiného umístění, je třeba definovat systémovou proměnnou OPTIM SHELL DIR, která bude obsahovat úplnou cestu do uvedeného adresáře. 2.3.1 Datové soubory Soubory se vstupními histogramy(soubory s koncovkou.dis) je možné umístit téhož adresáře jako spustitelné soubory nebo do jeho podadresáře s názvem histograms, tedy například C:\Program Files\optshell\histograms. Pokud je nezbytné umístit tyto soubory do jiného umístění, je třeba definovat systémovou proměnnou OPTIM SHELL HIS DIR, která bude obsahovat úplnou cestu do uvedeného adresáře. 5
Kapitola 3 Ovládání programů Jednotlivé uváděné programy pracují dávkově(neinteraktivně), a proto se ovládají pouze pomocí parametrů příkazového řádku. Pro usnadnění práce je možné použít grafickou nadstavbu AxiShell[4] pro tvorbu konečně-prvkových modelů, případně grafickou nadstavby programu monte monte.tcl[5], která slouží k podrobnějšímu nastavení parametrů pravděpodobnostního výpočtu. Grafické nadstavby nejsou součástí software, je však možné je volně stáhnout ze stránek uvedených v odkazech. Ve standardním režimu je třeba v textovém editoru připravit dávkové vstupní soubory pro jednotlivé programy. Podrobnosti jsou uvedeny v následujících kapitolách. Obrázek 3.1: Program AxiShell pro zadávání a editaci tvaru rotačních skořepin. 6
Kapitola 4 Výpočty skořepinových konstrukcí 4.1 Zadávání dat Vstupní soubor pro program eshell je textový(*.txt) a má následující tvar: 1. hlavička 2. specifikace materiálů 3. specifikace uzlů 4. specifikace konečných prvků 5. specifikace uložení 6. specifikace uzlových sil 7. data pro zatížení vodním tlakem 8. data podmínky spolehlivosti 9. specifikace náhodných veličin Mezi jednotlivými bloky dat nesmí být vynechány volné řádky, povoleny nejsou ani komentáře v jakékoli podobě. 4.1.1 Hlavička Hlavička obsahuje v jednom řádku následující celočíselné údaje oddělené mezerami: početmateriálů početuzlů počet konečných prvků počet okrajových podmínek počet uzlových sil Příkladhlavičkypromodels1typemmateriálu,3uzly,2konečnýmiprvkyse3okrajovými podmínkami a 1 uzlovou silou: 1 3 2 3 1 7
4.1.2 Specifikace materiálů Každý materiál musí být zapsán v jednom řádku, který obsahuje následující data oddělená mezerami: modulpružnostivtlakuatahuprosměr1[pa], modulpružnostivtlakuatahuprosměr2[pa], modul pružnosti ve smyku[p a], Poissonův součinitel pro směr 1[ ], Poissonův součinitel pro směr 2[ ], tíhovásílanajednotkuobjemu[ N m 3 ], cena jednotky objemu v jednotkách dle potřeby uživatele, základní tloušťka materiálu[m](používá se pokud není zadána tloušťka jednotlivých konečných prvků). PokudjsouzadánypouzemodulpružnostiaPoissonůvsoučinitelprosměr1,paksena materiál pohlíží jako na isotropní a ostatní potřebná data se automaticky dopočítají(pro druhýsměraprosmyk). Příklad dat pro isotropní materiál s modulem pružnosti 20 GP a, Poissonovým součinitelem 0,2,tíhovousilou25000 N m 3,cenoumetrukrychlovéhomateriálu100000anedefinovanou (nulovou) základní tloušťkou: 20e9 0 0 0.2 0 25000 1e5 0 4.1.3 Specifikace uzlů Každý uzel musí být zapsán v jednom řádku, který obsahuje následující data oddělená mezerami: souřadnice v radiální směru(x)[m], souřadnice ve svislém směru(y)[m]. Příkladdatprouzelspoloměrem(x)3mavevýšce6m: 3 6 4.1.4 Specifikace konečných prvků Každý konečný prvek musí být zapsán v jednom řádku, který obsahuje následující data oddělená mezerami: pořadové číslo prvního uzlu(uzly jsou číslované od nuly)[ ], pořadové číslo druhého uzlu(uzly jsou číslované od nuly)[ ], 8
pořadové číslo materiálu(materiály jsou číslované od nuly)[ ], tloušťka prvku(je li rovna nule, použije se hodnota uvedená ve specifikaci materiálu) [m]. Příkladdatprokonečnýprveksuzly0a1,smateriálem5asuvedenoutloušťkou0,3 m: 0 1 5 0.3 4.1.5 Specifikace uložení Okrajové podmínky(uložení podpory konstrukce) jsou specifikovány jako jednonásobné vazby v jednom řádku těmito údaji: pořadové číslo uzlu[ ], směr podpory[ ], hodnota předepsaného posunutí[m] nebo[rad]. Směr podpory múže nabývat následujících hodnot: 0...vazbaprotiposunuvesvislémsměru(y), 1...vazbaprotiposunuvradiálnímsměru(x), 2...vazbaprotipootočení. Namísto předepsaných posunutí je možné definovat vazby ve formě tuhostí pružin. Potom jehodnota(třetípoložkavřádku)zadávánavpa: 4...pružinavesvislémsměru(y), 5...pružinavradiálnímsměru(x), 6...pružinabránícípootočení. Příklad dat pro pevnou vazbu(nulové předepsané posunutí) v uzlu 6 ve svislém směru: 6 1 0.0 4.1.6 Specifikace uzlových sil Každá uzlová sila je zapsána v jednom řádku těmito parametry: pořadové číslo uzlu[ ], směr[ ], hodnota veličiny v zákaldních jednotkách. Směr může nabývat následujících hodnot: 9
0...sílavesvislémsměru(y), 1...sílavradiálnímsměru(x), 2...moment. Příkladdatproradiálnísíluvuzlu2ovelikost22 knvesvislémsměru: 2 1 22e3 4.1.7 Data pro zatížení vodním tlakem Protože častou aplikací skořepinových konstrukcí jsou zásobníky pro kapalné látky, obsahuje program eshell funkci pro automatické generování zatížení vodním tlakem v radiálním směru. Toto zatížení je specifikováno zápisem v jednom řádku s následujícími položkami: horní hladina[m], dolní hladina(dno)[m], velikost zatížení v základních jednotkách, nejnižší pořadové číslo konečného prvku zatíženého tlakem, nejvyšší pořadové číslo konečného prvku zatíženého tlakem. Poslední dvě položky se využívají u komplexních geometrií, pokud mají stejnou hodnotu, tak jsou ignorovány. Příkladdatprovodnítlakodkapalinyvevýšce0 8 m(objemovátíhovásílakapalinyje 10000): ve svislém směru: 0.0 8.0 10000 0 0 4.1.8 Specifikace podmínky spolehlivosti V současné době je v programu eshell definována jako kritérium spolehlivosti podmínka vzniku trhlin v betonu. Ta je definována následujícími parametry: typpodmínky: 0...žádnápodmínka(dalšídvařádkyseneuvádějí) 1...podmínkavznikutrhlinvbetonu(dalšídvařádkyjsoupovinné) početparametrů(propodmínkutypu1jepočetvždy2) parametry podmínky uvedené v jednom řádku ve skladbě: pevnostbetonuvtlaku pevnostbetonuvtahu Příkladdatpropodmínkuvznikutrhlinprobetonstlakovoupevností20 MPaatahovou pevností0,77 MPa: 1 2 20e6 0.77e6 10
4.1.9 Specifikace náhodných veličin Náhodné veličiny musí být uvedeny v následující podobě: počet veličin(jeden řádek), specifikace veličiny(další řádky každá veličina na jednom řádku). Specifikace veličiny má tvar(uvedený v jednom řádku): typveličiny, pořadové číslo objektu(materiál, uzel, prvek), doplňkováspecifikace. Hodnota typ veličiny může být: 0...parametrymateriálu, 1...parametryuzlů, 2...parametrykonečnýchprvků, 3...parametryvazeb, 4...parametryuzlovýchsil, 5...parametryzatíženívodnímtlakem, 6... parametry podmínky spolehlivosti. Hodnota doplňkové specifikace má různý význam pro jednotlivé typy veličin a je uvedena dále: pro0...parametrymateriálu, 0...modulpružnostivtlakuatahuprosměr1 1...modulpružnostivtlakuatahuprosměr2 2...modulpružnostivesmyku 3...Poissonůvsoučinitelprosměr1 4...Poissonůvsoučinitelprosměr2 5...tíhovásílanajednotkuobjemu 6...základnítloušťkamateriálu pro1...parametryuzlů, 0...souřadnicevradiálnísměru 1...souřadnicevesvislémsměru pro2...parametrykonečnýchprvků, 0...tloušťkakonečnéhoprvku 11
pro3...parametryvazeb, 0...velikostposunutínebotuhosti pro4...parametryuzlovýchsil, 0...velikostsílynebomomentu pro5...parametryzatíženívodnímtlakem, 0...výškahorníhookraje 1...výškadolníhookraje 2...velikosttíhovésíly pro 6... parametry podmínky spolehlivosti 0...velikostpevnostivtlaku 1...velikostpevnostivtahu 4.1.10 Příklad datového souboru Válcováskořepinaopoloměru5m,výšce4matloušťce0,2mjeuspodníhookrajevetknuta a je zatížena v polovině výšky radiální silou 4kN/m působící směrem k ose symetrie. Materiál je izotropní s modulem pružnosti 27 GP a a Poissonovým součinitelem 0, 2. Pevnost vtlakuje10 MPaavtahu1MPa.Cenajednotkyoblemuje7777Kč. Skořepina je rozdělena na dva konečné prvky. Náhodnými veličinami jsou velikost síly a radiální souřadnice působiště síly(prostřední uzel zetří,tj.spořadovýmčíslem1). Tvar vstupního souboru bude: 1 3 2 3 1 27e9 0 0 0.2 0 0 7777 0 5 0 5 2 5 4 0 1 0 0.2 1 2 0 0.2 0 0 0 0 1 0 0 2 0 1 1-4e3 0 0 0 0 0 1 2 10e6 1e6 2 4 0 0 1 1 1 12
4.2 Spuštění výpočtu Program eshell[3] čte data ze standardního vstupu a výsledky zasílá na standardní výstup. Kromě obvyklých výsledků(posunutí a pootočení v uzlech konečných prvků, vnitřní síly přepočtené do uzlů) je možné získat také informaci o celkové ceně konstrukce nebo o splnění či nepslnění podmínky spolehlivosti. Program eshell také umožňuje vygenerovat vstupní soubor pro simulační program monte. Typický příkaz ke spuštění programu eshell vypadá následovně:./eshell-s <vstup.txt >vystup.txt Soubor vstup.txt obsahuje vstupní data a do souboru vystup.txt budou uloženy výsledky výpočtu. 4.2.1 Parametry příkazového řádku Program eshell rozpoznává následující parametry: -h...vypíšenápověduaukončíse, -s... provede konečně-prvkové řešení a vypíše jeho výsledky, -p...vypíšecenukonstrukce, -p...vypíševstupnídataproprogrammonte. 1 Je-liprogramspuštěnbezparametrů, 2 paknačtevstupnídataavypíšenejprvevýsledky konečně-prvkového řešení, poté cenu konstrukce a nakonec informaci o výsledku posouzení spolehlivosti(je-li zadána podmínka spolehlivosti). 4.3 Vyhodnocování dat Připoužitívýšeuvedenéhopříkladuvstupníchdatbudoupomocíeshell -s <vstup.txt 3 získány výsledky(zkráceno): # X Y w u angle N1 N2 M1 5.000 0.000 0.000000e+00 0.000000e+00 0.000000e+00 4.921439e-06-1.730620e+03 2.874714e+01 5.000 2.000-1.754403e-15-3.076657e-06 3.066361e-06-2.459745e-06-1.131015e+03-3.876755e+01 5.000 4.000 1.743194e-15 2.131926e-06-8.270410e-06-9.840928e-06-5.314112e+02-1.062822e+02 Data je možné načíst do tabulkového kalkulátoru a vizualizovat, případně je zpracovat programem Gnuplot[7]. Vstupní data pro pravděpodobností výpočet je možné získat příkazem eshell -g <vstup.txt: 1 Vtomtopřípaděsedoporučujespustitprogramtakto:./eshell <vstup.txt >vstup.mon 2 Tedyjen:./eshell <vstup.txt >vystup.txt 3 Předpokládáme,ževýšeuvedenádatabylauloženavsouborusnázvemvstup.txt. 13
2 F0_FY_SIZE-4.000000e+03 1 normal.dis N1_Y 2.000000e+00 1 normal.dis 25 FAIL 3 2 UY0 2 UX0 2 RT0 2 NX0 2 NY0 2 MX0 2 MY0 2 QQ0 2 UY1 2 UX1 2 RT1 2 NX1 2 NY1 2 MX1 2 MY1 2 QQ1 2 UY2 2 UX2 2 RT2 2 NX2 2 NY2 2 MX2 2 MY2 2 QQ2 2 0 14
Kapitola 5 Optimalizační výpočty 5.1 Zadávání dat Vstupní soubor pro program OPTIMIST(spustitelný program má název opt, který bude také v dalším textu používán) je textový(*.opt) a má následující tvar: 1. počet sad optimalizačních parametrů, 2. specifikace optimalizačních parametrů, 3. počet optimalizačních funkcí, 4. specifikace optimalizačních funkcí, 5. parametry simulačního výpočtu. Mezi jednotlivými bloky dat nesmí být vynechány volné řádky, povoleny nejsou ani komentáře v jakékoli podobě. 5.1.1 Specifikace optimalizačních parametrů Každý optimalizační parametr je specifikován dvěma řádky ve tvaru: prvnířádek: typ parametru(tři hodnoty shodné s parametry uvedenými v části Specifikace náhodných veličin) počet hodnot druhý řádek obsahuje seznam hodnot oddělených mezerami 5.1.2 Specifikace optimalizačních funkcí Optimalizační funkce slouží k zavedení vztahů mezi optimalizačními parametry(například může jít o podmínku, že konkrétní třída materiálu může být použita jen pro některé tloušťky konstrukce nebo o zajištění vztahu mezi modulem pružnosti a Poissonovým součinitelem). Každá optimalizační funkce je popsána dvěma řádky: 15
prvnířádek: klíčové slovo FUNCTION typ funkce: 0... uživatelem specifikovaná funkce(musí být uvedena na dalším řádku) 1...práznáfunkce(volbajezavedenakvůlikompatibilitěsbudoucímiverzemi) obsahfunkceuvedenýn ajednomřádku vjazycetcl[6] 5.1.3 Parametry simulačního výpočtu Simulační výpočet je specifikován dvěma parametry uvedenými v jednom řádku: početsimulací, maximální dovolená pravděpodobnost poruchy. 5.1.4 Příklad dat pro optimalizační program V úloze se dvěma konečnými prvky jsou jako optimalizační parametry zvoleny tloušťky jednotlivých prvků. Předepsáno je provedení 100 000 simulačních kroků a pravděpodobnost poruch musí být menší než 0.001. Vztah mezi proměnnými(optimalizační funkce) je zadán v podobě funkce v jazyce Tcl. Ta zaručuje, že pokud první parametr nabývá hodnoty 0.1, pak druhý parametr má vždy hodnotu 0.22. 2 2 1 0 3 0.1 0.2 0.3 2 0 0 4 0.11 0.22.33 0.44 1 FUNCTION 0 100000 0.001 if { [lindex$data_data0$i] == "0.1" } { lset data_data1$i "0.22" } 5.2 Posudek spolehlivosti Pravděpodobnostní část posudku spolehlivosti je zajišťována simulačním jádrem monte. To vyžaduje vstupní soubor s příponou.mon. Tento soubor není nutné připravovat ručně, ale je možné jej vygenerovat pomocí programu eshell: 1 eshell -g <data.txt >data.mon 1 Podmínkousamozřejměje,ževevstupnímsouborudata.txtproprogrameShelljsouuvedenydefinice náhodných veličin. 16
V takto vytvořeném modelu jsou u všech veličin nastavena rozdělení náhodných veličin na histogram nazvaný normal-1-2.dis. Tento údaj je potřebné změnit editací tohoto souboru a nastavit název odpovídajícího souboru s histogramem podle zásad použité metody[1] (musí přesně odpovídat názvům příslušných souborů na disku, které má uživatel k dispozici)[5]. 5.3 Spuštění výpočtu Výpočet v programu OPTIMIST se spouští příkazem: opt soubor.opt Kde soubor.opt je název vstupního souboru, jehož struktura je popsána v předchozích odstavcích. Program OPTIMIST předpokládá, že ostatní potřebné soubory se nacházejí ve stejném adresáři, jmenují se stejně a liší se jen příponou. Pro úspěšný výpočet musí existovat následující soubory: Soubor s modelem skořepiny: soubor.txt Soubor s daty pro pravděpodobností výpočet soubor.mon Soubor s daty pro optimalizační výpočet soubor.opt Upozornění: Podle rozsahu úlohy(velikost konečně-prvkového modelu, předepsaný počet simulací, počet n-tic optimalizačních dat) může výpočet trvat i velmi dlouho. Program při svém běhu vypisuje informace o průběhu výpočtu(zejména která varianta modelu je právě posuzována a s jakým výsledkem). 5.4 Vyhodnocování optimalizačních výpočtů Program pracuje podle následujícího algoritmu: 1. stanovení všech možných kombinací(optimalizačních) vstupních dat, 2. vyloučení kombinací neodpovídajících zadaným optimalizačním funkcím, 3. výpočet ceny jednotlivých variant(kombinací dat) a seřazení od nejnižší po nejvyšší cenu, 4. posouzení spolehlivosti jednotlivých variant(začíná se od nejlevnější): po nalezení první varianty, která vyhoví, se výpočet ukončí a uvedená varianta je považována za optimální. Pokud žádná z variant nevyhovuje podmínkám spolehlivosti, program to oznámí( failed ). 17
Kapitola 6 Ilustrační příklad 6.1 Zadání Je dána rotační skořepina zatížená dvojicí rotačně symetrických sil dle obrázku 6.1. Síla F 1 mánominálníhodnotu1mn/m,síla F2pak0,6 MN/m. Konstrukce je rozdělena na 2 konečné prvky(1) a(2), optimalizovat se má tloušťka konstrukce, která může být pro jednotlivé konečné prvky různá. Vlastnosti podmínkyporušeníjsou definoványhodnotami20 MPaa2MPa,přičemž hodnota 2 M P a se považuje za náhodnou veličinu s normálním rozdělením. Konstrukce se považuje za spňující kritérium spolehlivosti pokud pravděpodobnost poruchy bude menší než 0.00001, prováděno má být 1 000 000 simulací. y F2 5 m F1 x, r 5 m r = 10 m Obrázek 6.1: Schéma ilustračního příkladu. Veličiny, které jsou považovány za náhodně proměnné, jsou uvedeny v tabulce 6.1. 18
Veličina Nominální hodnota Histogram Síla F1 1 M N/m load-zero25.dis Síla F1 0, 6 M N/m load-zero75.dis Pevnost v tahu 2 M P a normal-1-02.dis Tabulka 6.1: Náhodné veličiny v ilustračním příkladu 6.2 Řešení 6.2.1 Vstupní soubor data.txt Vstupní soubor pro konečněprvkový řešič eshell má tvar: 1 3 2 3 2 20e9 0 0 0.2 0 25000 1000 0 10 0 10 5 10 10 0 1 0 0.3 1 2 0 0.3 0 0 0 0 1 0 0 2 0 1 1 2e6 2 1 1e6 0 0 0 0 0 1 2 20e6 1e6 3 4 0 0 4 1 0 6 0 1 6.2.2 Vstupní soubor data.mon Vstupní soubor pro simulační řešič monte má tvar: 3 F0_FY_SIZE 1e6 1 load-zero25.dis F1_FY_SIZE 0.6e6 1 load-zero75.dis FC_TENS_1 2e+06 1 normal-1-02.dis 25 FAIL 3 2 UY0 2 UX0 2 RT0 2 NX0 2 NY0 2 19
MX0 2 MY0 2 QQ0 2 UY1 2 UX1 2 RT1 2 NX1 2 NY1 2 MX1 2 MY1 2 QQ1 2 UY2 2 UX2 2 RT2 2 NX2 2 NY2 2 MX2 2 MY2 2 QQ2 2 0 Tento soubor není třeba vytvářet ručně, ale je možné použít programu eshell pro je vytvoření a poté jen editovat názvy histogramů podle zadání: eshell -g <data.txt >data.mon 6.2.3 Vstupní soubor data.opt Vstupní soubor pro optimalizační řešič OPTIMIST má tvar: 2 2 1 0 5 0.2 0.3 0.4 0.5 0.6 2 0 0 5 0.1 0.2 0.30 0.40 0.50 0 1000000 0.00001 6.3 Výsledky Po spuštění programu opt s parametrem data.opt by se měl zobrazi zhruba následucící výstup(některé výpisy záleží na konkrétně použitém operačním systému a konfiguraci dalšího software): OPTIMIST: software for structural optimalization by Monte Carlo Version 1.0.0 (C) 2010 VSB-TU Ostrava, FAST (C) 2006, 2010 Jiri Brozovsky(simulation engine, libraries) 20
This is free software available under GNU GPL 2.0 INIT: Computing environment: unix (Linux, i686). Binary files: /home/jirka/progs/shell Histograms:. Parameters from command line: default.opt Input data file name: default.opt INPUT DATA: Number of data sets: 2 Type 0: 2 1 0, num: 5 Data 0: 0.2 0.3 0.4 0.5 0.6 Type 1: 2 0 0, num: 5 Data 1: 0.1 0.2 0.30 0.40 0.50 Simulations: 1000000 Failure prob.: 0.00001 PRICE DATA: Size of opt. data sets: 25 Min. price: 9.424778e+04 Max. price: 3.455752e+05 SOLUTION for 25 alternatives: Solving alternative 1 / 25: (5.917160e-01) => failed. Solving alternative 2 / 25: (4.613260e-01) => failed. Solving alternative 3 / 25: (8.750000e-04) => failed. Solving alternative 4 / 25: (2.470000e-04) => failed. Solving alternative 5 / 25: (2.350000e-04) => failed. Solving alternative 6 / 25: (5.616360e-01) => failed. Solving alternative 7 / 25: (3.190800e-02) => failed. Solving alternative 8 / 25: Probability of failure 0.000000e+00 < 0.00001. This is the best alternative! File: default-7.fem OPTIMIST run is finished. Thanks for using! U varianty 8 uložené v souboru data-7.fem bylo dosaženo pravděpodobnosti nižší než 0, 000001, a proto byla programem vybrána jako optimální. 21
Vsouborudata-7.fem 1 jenaposlednímřádkumožnénajítpoužitéoptimalizačníparametry(tloušťky konečných prvků) ve tvaru: 0.3 0.30 Vypočtená optimální hodnota tloušťky skořepiny je tedy 0, 3 m po celé výšce. 1 Souboryjsoučísloványodnuly. 22
Kapitola 7 Licenční ujednání GNU GENERAL PUBLIC LICENSE, version 2.0 Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble Thelicensesformostsoftwarearedesignedtotakeawayyourfreedomtoshareandchange it. By contrast, the GNU General Public License is intended to guarantee your freedom toshareandchangefreesoftware tomakesurethesoftwareisfreeforallitsusers.this General Public License applies to most of the Free Software Foundation s software and to any other program whose authors commit to using it.(some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. Whenwespeakoffreesoftware,wearereferringtofreedom,notprice.OurGeneralPublic Licensesaredesignedtomakesurethatyouhavethefreedomtodistributecopiesoffree software(andchargeforthisserviceifyouwish),thatyoureceivesourcecodeorcanget itifyouwantit,thatyoucanchangethesoftwareorusepiecesofitinnewfreeprograms; andthatyouknowyoucandothesethings. Toprotectyourrights,weneedtomakerestrictionsthatforbidanyonetodenyyouthese rights or to ask you to surrender the rights. These restrictions translate to certain responsibilitiesforyouifyoudistributecopiesofthesoftware,orifyoumodifyit. Forexample,ifyoudistributecopiesofsuchaprogram,whethergratisorforafee,you mustgivetherecipientsalltherightsthatyouhave.youmustmakesurethatthey,too, receiveorcangetthesourcecode.andyoumustshowthemthesetermssotheyknowtheir rights. Weprotectyourrightswithtwosteps:(1)copyrightthesoftware,and(2)offeryouthis license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author s protection and ours, we want to make certain that everyone understandsthatthereisnowarrantyforthisfreesoftware.ifthesoftwareismodifiedby someoneelseandpassedon,wewantitsrecipientstoknowthatwhattheyhaveisnotthe original, so that any problems introduced by others will not reflect on the original authors reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, 23
ineffectmakingtheprogramproprietary.topreventthis,wehavemadeitclearthatany patentmustbelicensedforeveryone sfreeuseornotlicensedatall. The precise terms and conditions for copying, distribution and modification follow. Terms and Conditions For Copying, Distribution and Modification 0. ThisLicenseappliestoanyprogramorotherworkwhichcontainsanoticeplaced bythecopyrightholdersayingitmaybedistributedunderthetermsofthisgeneral Public License. The Program, below, refers to any such program or work, and a work based on the Program means either the Program or any derivative work under copyrightlaw:thatistosay,aworkcontainingtheprogramoraportionofit,either verbatim or with modifications and/or translated into another language.(hereinafter, translation is included without limitation in the term modification.) Each licensee is addressed as you. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, andtheoutputfromtheprogramiscoveredonlyifitscontentsconstituteawork based on the Program(independent of having been made by running the Program). WhetherthatistruedependsonwhattheProgramdoes. 1. YoumaycopyanddistributeverbatimcopiesoftheProgram ssourcecodeasyou receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact allthenoticesthatrefertothislicenseandtotheabsenceofanywarranty;andgive anyotherrecipientsoftheprogramacopyofthislicensealongwiththeprogram. Youmaychargeafeeforthephysicalactoftransferringacopy,andyoumayatyour option offer warranty protection in exchange for a fee. 2. YoumaymodifyyourcopyorcopiesoftheProgramoranyportionofit,thusforming aworkbasedontheprogram,andcopyanddistributesuchmodificationsorwork underthetermsofsection1above,providedthatyoualsomeetalloftheseconditions: (a) You must cause the modified files to carry prominent notices stating that you changedthefilesandthedateofanychange. (b)youmustcauseanyworkthatyoudistributeorpublish,thatinwholeorinpart containsorisderivedfromtheprogramoranypartthereof,tobelicensedasa wholeatnochargetoallthirdpartiesunderthetermsofthislicense. (c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright noticeandanoticethatthereisnowarranty(orelse,sayingthatyouprovidea warranty) and that users may redistribute the program under these conditions, andtellingtheuserhowtoviewacopyofthislicense.(exception:iftheprogram itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered 24
independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when youdistributethesamesectionsaspartofawholewhichisaworkbasedonthe Program,thedistributionofthewholemustbeonthetermsofthisLicense,whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus,itisnottheintentofthissectiontoclaimrightsorcontestyourrightsto workwrittenentirelybyyou;rather,theintentistoexercisetherighttocontrolthe distribution of derivative or collective works based on the Program. Inaddition,mereaggregationofanotherworknotbasedontheProgramwiththeProgram(orwithaworkbasedontheProgram)onavolumeofastorageordistribution mediumdoesnotbringtheotherworkunderthescopeofthislicense. 3. YoumaycopyanddistributetheProgram(oraworkbasedonit,underSection2)in objectcodeorexecutableformunderthetermsofsections1and2aboveprovided thatyoualsodooneofthefollowing: (a) Accompany it with the complete corresponding machine-readable source code, whichmustbedistributedunderthetermsofsections1and2aboveonamedium customarily used for software interchange; or, (b)accompanyitwithawrittenoffer,validforatleastthreeyears,togiveanythird party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, tobedistributedunderthetermsofsections1and2aboveonamediumcustomarily used for software interchange; or, (c) Accompany it with the information you received as to the offer to distribute corresponding source code.(this alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable formwithsuchanoffer,inaccordwithsubsectionbabove.) Thesourcecodeforaworkmeansthepreferredformoftheworkformakingmodifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed(in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. Ifdistributionofexecutableorobjectcodeismadebyofferingaccesstocopyfrom a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are notcompelledtocopythesourcealongwiththeobjectcode. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 25
5. YouarenotrequiredtoacceptthisLicense,sinceyouhavenotsignedit.However, nothing else grants you permission to modify or distribute the Program or its derivativeworks.theseactionsareprohibitedbylawifyoudonotacceptthislicense. Therefore, by modifying or distributing the Program(or any work based on the Program),youindicateyouracceptanceofthisLicensetodoso,andallitstermsand conditions for copying, distributing or modifying the Program or works based on it. 6. EachtimeyouredistributetheProgram(oranyworkbasedontheProgram),the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If,asaconsequenceofacourtjudgmentorallegationofpatentinfringementorforany other reason(not limited to patent issues), conditions are imposed on you(whether by court order, agreement or otherwise) that contradict the conditions of this License, theydonotexcuseyoufromtheconditionsofthislicense.ifyoucannotdistribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then theonlywayyoucouldsatisfybothitandthislicensewouldbetorefrainentirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance,thebalanceofthesectionisintendedtoapplyandthesectionasa whole is intended to apply in other circumstances. Itisnotthepurposeofthissectiontoinduceyoutoinfringeanypatentsorother property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistentapplicationofthatsystem;itisuptotheauthor/donortodecideifheor she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence oftherestofthislicense. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written inthebodyofthislicense. 9. The Free Software Foundation may publish revised and/or new versions of the General PublicLicensefromtimetotime.Suchnewversionswillbesimilarinspirittothe present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a versionnumberofthislicensewhichappliestoitand anylaterversion,youhave theoptionoffollowingthetermsandconditionseitherofthatversionorofanylater 26
version published by the Free Software Foundation. If the Program does not specify aversionnumberofthislicense,youmaychooseanyversioneverpublishedbythe Free Software Foundation. 10. Ifyou wish to incorporate partsof theprogram into other free programswhose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guidedbythetwogoalsofpreservingthefreestatusofallderivativesofourfree software and of promoting the sharing and reuse of software generally. No Warranty 11. Becausetheprogramislicensedfreeofcharge,thereisnowarranty for the program, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the program as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Theentireriskastothequalityandperformanceoftheprogramis with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction. 12. Innoeventunlessrequiredbyapplicablelaworagreedtoinwriting will any copyright holder, or any other party who may modify and/or redistribute the program as permitted above, be liable to you for damages, including any general, special, incidental or consequential damagesarisingoutoftheuseorinabilitytousetheprogram(including butnotlimitedtolossofdataordatabeingrenderedinaccurateor lossessustainedbyyouorthirdpartiesorafailureoftheprogramto operate with any other programs), even if such holder or other party has been advised of the possibility of such damages. End of Terms and Conditions This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linkingproprietaryapplicationswiththelibrary.ifthisiswhatyouwanttodo,usethe GNU Library General Public License instead of this License. 27
Literatura [1] Marek P., Gustar, M., Anagnos, T. Simualtion-Based Reliability Assessment for Structural Engineers, CRC Pres, Boca Raton, Florida, 1995 [2] Schneider. P., Vykutil, J. Aplikovaná metoda konečných prvků. Lineární elastická analýza rotačních skořepinových konstrukcí. VUT v Brně, Brno, 1986 [3] Program eshell: http://fast10.vsb.cz/brozovsky/shell [4] Program AxiShell: http://fast10.vsb.cz/brozovsky/shell-gui.html [5] Simulační program monte: http://fast10.vsb.cz/brozovsky/monte [6] Programovací jazyk TCL a prostředí Tk: http://www.tcl.tk [7] Vizualizační software Gnuplot: http://www.gnuplot.info [8] Originální znění licence GNU GPL: http://www.gnu.org/licenses/gpl.html 28