abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 13:00 | Komunita

Do 30. října se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 4. prosince 2018 do 4. března 2019, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 0
včera 22:22 | Komunita

Společnost Purism představila kryptografický token Librem Key. Koupit jej lze za 59 dolarů. Token byl vyvinut ve spolupráci se společností Nitrokey a poskytuje jak OpenPGP čipovou kartu, tak zabezpečení bootování notebooků Librem a také dalších notebooků s open source firmwarem Heads.

Ladislav Hagara | Komentářů: 1
včera 20:33 | Nová verze

Společnost NVIDIA oficiálně vydala verzi 10.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
včera 20:00 | Upozornění

Příspěvek Jak přežít plánovanou údržbu DNS na blogu zaměstnanců CZ.NIC upozorňuje na historicky poprvé podepsání DNS root zóny novým klíčem dne 11. října 2018 v 18:00. Software, který nebude po tomto okamžiku obsahovat nový DNSSEC root klíč, nebude schopen resolvovat žádná data. Druhým důležitým datem je 1. února 2019, kdy významní výrobci DNS softwaru, také historicky poprvé, přestanou podporovat servery, které porušují DNS standard

… více »
Ladislav Hagara | Komentářů: 5
včera 15:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 156. brněnský sraz, který proběhne v pátek 21. září od 18:00 v restauraci Na Purkyňce na adrese Purkyňova 80.

Ladislav Hagara | Komentářů: 0
včera 13:22 | Nová verze

Alan Griffiths z Canonicalu oznámil vydání verze 1.0.0 display serveru Mir (GitHub, Wikipedie). Mir byl představen v březnu 2013 jako náhrada X serveru a alternativa k Waylandu. Dnes Mir běží nad Waylandem a cílen je na internet věcí (IoT).

Ladislav Hagara | Komentářů: 0
20.9. 22:00 | Nasazení Linuxu
Stabilní aktualizace Chrome OS 69 (resp. Chromium OS), konkrétně 69.0.3497.95, přináší mj. podporu linuxových aplikací. Implementována je pomocí virtualizace, a proto je tato funkce také omezena na zařízení s dostatkem paměti a podporou hardwarové akcelerace, tudíž nejsou podporovány chromebooky s 32bitovými architekturami ARM, či Intel Bay Trail (tzn. bez Intel VT-x).
Fluttershy, yay! | Komentářů: 5
20.9. 21:32 | Zajímavý projekt

Došlo k uvolnění linuxové distribuce CLIP OS, vyvíjené francouzským úřadem pro kybernetickou bezpečnost ANSSI, jako open source. Vznikla za účelem nasazení v úřadech, kde je potřeba omezit přístup k důvěrným datům. Je založená na Gentoo.

Fluttershy, yay! | Komentářů: 1
20.9. 16:00 | Komerce

Zjistěte více o bezpečné a flexibilní architektuře v cloudu! IBM Cloud poskytuje bezpečné úložiště pro Vaše obchodní data s možností škálovatelnosti a flexibilitou ukládání dat. Zároveň nabízí prostředky pro jejich analýzu, vizualizaci, reporting a podporu rozhodování.

… více »
Fluttershy, yay! | Komentářů: 12
20.9. 12:22 | Nová verze

V dubnu letošního roku Mozilla představila webový prohlížeč pro rozšířenou a virtuální realitu Firefox Reality (GitHub). V úterý oznámila vydání verze 1.0. Ukázka na YouTube. Firefox Reality je k dispozici pro Viveport, Oculus a Daydream.

Ladislav Hagara | Komentářů: 2
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (14%)
 (21%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 386 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

Svobodný software v rukách vědy

22.9.2008 17:29 | Přečteno: 2061× | Něco off-topic | Výběrový blog | poslední úprava: 29.9.2008 08:47

Původně jsem zamýšlel tento zápisek věnovat pouze krátkému skriptu, s jehož pomocí se mi podařilo v bashi jednoduše ořezat obrázky a vytvořit z nich animovaný gif. Jak ale tento úmysl dostával v mé mysli jasnější a jasnější obrysy bylo mi jasné, že by tomuto zápisku jaksi chyběla hlava i pata - bylo by v něm pouze co se povedlo, ale ne proč a jaký to bude mít další efekt. Proto jsem se rozhodl tento zápisek rozšířit až na současnou formu.



Úvod

Před rokem jsem byl přijat na doktorské studium na Katedře elektromechaniky a výkonové elektroniky na FEL ZČU v Plzni, kde tou dobou začínal výzkum zabývající se lámáním tyčí rotorového vinutí asynchronních strojů (grant MPO č. 2A-2TP1/139), do kterého jsem nakonec také byl zapojen. Kromě logicky nezbytné části výzkumu prováděné v proprietárním software (ANSYS, MATLAB) jsem jisté části své práce prováděl i v opensource software, zejména v programu FEMM (AFPL).

FEMM a ti druzí

Právě v programu FEMM byly prováděny počáteční výpočty sledovaného asynchronního stroje - důvod je jednoduchý: rychlý preprocessing (usnadněný například možností importu *.dxf výkresů vytvořených v opensource edici programu QCAD (GPL)) a postprocessing a vynikající přesnost, umožňující rychlé získání prvních orientačních výsledků. Do třetice všeho dobrého je možnost skriptování operací v programu FEMM pomocí jazyku Lua (vlastní licence OSS kompatibilní, od verze 5.0 MIT licence). Aby toho nebylo málo, samozřejmostí je zpracování výsledků v OpenOffice.org (LGPL) (přes výstupní soubor) či jejich analýza za pomoci GNU/Octave (GNU/GPL).

Konkrétní aplikace

Protože opensource software již nějaký čas používám a za mnohé mu vděčím, cítím i jistou povinnost mu něco vrátit. Jednou z úloh v rámci programu MPO 2A-2TP1/139 vyřešených čistě za pomoci opensource programů je například studium drážkové harmonické asynchronního stroje. Vzhledem k povaze výsledků jsem zavázán neuvádět konkrétní čísla, nicméně celý postup zveřejnit lze a lze tím i demonstrovat sílu spojeného opensource software s malým bonusem na konci. Uvažujme tedy asynchronní stroj, u nějž se snažíme získat informace o kmitech momentu, které vznikají drážkováním statoru a rotoru. Tyto kmity vznikají jako důsledek vzájemných superpozic drážek stran statoru a rotoru a lze je sledovat pouze tak, že se vždy vypočte elektromagnetické pole v modelu asynchronního stroje pro určitou vzájemnou pozici těchto dvou těles. Zpravidla stačí rotor postupně pootočit o jednu drážkovou rozteč rotoru v rozumném počtu kroků. Co tedy potřebujeme provést abychom se dobrali výsledku:

Toto se opakuje v rozumné míře v rozsahu jedné drážkové rozteče.

Příprava modelu
Přípravu modelu v programu FEMM lze rozdělit na dvě části - první, vlastní nákres geometrie (spíše věc software QCAD), a druhou, vlastní definici problému v programu FEMM. To samo o sobě vyžaduje jistou znalost této aplikace, proto se vyhnu detailům a omezím se na konstatování, že v této fázi je nejdůležitějším úkonem přiřazení všech křivek rotoru a definici jednotlivých materiálů jednotné skupině, v tomto konkrétním případě skupině označené číslem "1".

LuaScript
Aby bylo možno sledovat hledanou drážkovou harmonickou, je třeba nějakým způsobem automatizovat dříve uvedené kroky. Dejme tomu, že mezi drážkami rotoru stroje je 10 úhlových stupňů (odpovídá stroji se 36ti drážkami) a tuto vzdálenost chceme projet tak, abychom na ní získali 100 vypočtených modelů. Od našeho LuaScriptu tedy očekáváme, že udělá následující:

a to vše zopakuje 100x. Skript schopný provést uvedené úkony pak vypadá následovně:



--- otaceni rotorem pro FEMM
--- skript verze 1.0

open("vzor.FEM") --- otevreni vstupniho souboru

vystup=openfile("moment.txt", "w") --- otevreni vystupniho souboru

mi_seteditmode("group") --- v preprocesoru budou editovany skupiny

dAlfa=10/100 --- uhel pootoceni rotoru mezi jednotlivymi kroky

n=0

--- vypocet vzorovaho modelu
mi_saveas(format("motor_%1$d.FEM",n)) --- ulozeni upraveneho modelu
mi_analyse() --- spusteni analyzy

mi_loadsolution() --- nacteni vysledku

mo_showdensityplot(0,0,1,0,"mag") --- zobrazeni indukce ve stroji
mo_savebitmap(format("motor_%1$d.bmp",n)) --- ulozeni vysledku do bitmapy

mo_seteditmode("contour") --- v postprocesoru budou editovany linie
mo_selectpoint(-100,0.5) --- vyber prvniho z bodu na kruznici (horni cast)
mo_selectpoint(100,0.5) --- vyber druheho z bodu na kruznici (horni cast)
mo_selectpoint(-100,-0.5) --- vyber prvniho z bodu na kruznici (dolni cast)
mo_selectpoint(100,-0.5) --- vyber druheho z bodu na kruznici (dolni cast)
MDC,DM,TV,FV=mo_lineintegral(4) --- vypocet momentu stroje na zaklade integralu po linii

write(vystup, MDC, " ", DM, " ", TV, " ", FV, "\n") --- ulozeni vystupnich hodnot

mo_close() --- uzavreni postprocesoru

for n=1,99 do

mi_selectgroup(1) --- vyber skupiny 1 (rotor)
mi_move_rotate(0,0,dAlfa) --- pootoceni rotoru
mi_saveas(format("motor_%1$d.FEM",n)) --- ulozeni upraveneho modelu

mi_analyse() --- spusteni analyzy
mi_loadsolution() --- nacteni vysledku

mo_showdensityplot(0,0,1,0,"mag") --- zobrazeni indukce ve stroji
mo_savebitmap(format("motor_%1$d.bmp",n)) --- ulozeni vysledku do bitmapy

mo_seteditmode("contour") --- v postprocesoru budou editovany linie
mo_selectpoint(-100,0.5) --- vyber prvniho z bodu na kruznici (horni cast)
mo_selectpoint(100,0.5) --- vyber druheho z bodu na kruznici (horni cast)
mo_selectpoint(-100,-0.5) --- vyber prvniho z bodu na kruznici (dolni cast)
mo_selectpoint(100,-0.5) --- vyber druheho z bodu na kruznici (dolni cast)
MDC,DM,TV,FV =mo_lineintegral(4) --- vypocet momentu stroje na zaklade integralu po linii

write(vystup, MDC, " ", DM, " ", TV, " ", FV, "\n") --- ulozeni vystupnich hodnot

mo_close() --- uzavreni postprocesoru

end

closefile(vystup) --- uzavreni vystupniho souboru



Pozn.: čísla v LuaScriptu neodpovídají žádnému skutečnému stroji.

Z FEMMu tedy za pomoci uvedeného skriptu získáme dvě skupiny výsledků:
1. výstupní soubor se závislostí velikosti momentu stroje na úhlu mezi statorem a rotorem
2. sérii obrázků zobrazujících magnetické pole ve stroji
Odtud vychází následující zpracování dat.

Zpracování číselných dat
Nejjednodušší možností vizualizace výsledných dat je prosté natažení výsledků do OpenOffice.org, nicméně to je "pouhé" zobrazení. Na skutečnou analýzu dat je třeba použít silnější nástroj - GNU/Octave. Vypočtené hodnoty totiž kromě určitého rozptylu způsobeného metodou řešení obsahují i určitou harmonickou složku, která odpovídá hledané drážkové harmonické. Nezbývá nám tedy než napsat skript pro GNU/Octave, který provede rychlou Fourierovu analýzu vypočtených dat. Tento skript je pak:



% Fourierova analyza vypoctenych vysledku
% version 1.0

M_str=1000; % strední hodnota vypocteneho momentu

moment=[ --- zde je vypoctenych 100 hodnot oddelenych carkou --- ]-M_str; % vektor vstupnich dat

uhel=(360/36)/100; % uhel mezi drazkami rotoru

rozvoj=2/length(moment)*fft(moment); % fourieruv rozvoj vektoru vysledku

x=1/uhel*[0:round(length(rozvoj)/2)]/round(length(rozvoj)); % vypocet dat pro osu x

plot(x(1:length(moment)/2),abs(rozvoj(1:round(length(rozvoj)/2)))) % vykresleni vysledku do grafu
title ('Fourierova analýza momentu stroje')
xlabel ('1/alpha')
ylabel ('M [N.m]')

% vypis vysledku do konzole
x(1:length(moment)/2) % osa x (uhlova perioda kmitu)
abs(rozvoj(1:round(length(rozvoj)/2))) % velikost kmitu
arg(rozvoj(1:round(length(rozvoj)/2))) % faze kmitu



Po provedení této analýzy již lze jednoduše vybrat maximum (maxima) Fourierova rozvoje momentu a tedy určit drážkové harmonické stroje.

Zpracování obrazového výstupu
Pro účely následných prezentací je třeba skupinu výstupních obrázků nějak upravit a vytvořit z nich (pochopitelně efektní, ale nic skutečně neříkající) animaci. V tom nám ale brání dva zásadní problémy:
1. FEMM ukládá obrázky do *.bmp, který nelze animovat
2. výsledné obrázky jsou obdélníkové a zarovnané doprostřed stránky nevypadají dobře ;-)
Rovnou stovku výsledných obrázků je tedy třeba ořezat, konvertovat do animovatelného formátu (gif) a animovat. K tomu nám pomůže již ryze linuxový skript, využívající jednak ImageMagick (licence GPL kompatibilní) (konkrétně utilitu convert) a prográmek gifsicle (GNU/GPL v2). Požadavky na tento skript jsou pak jednoduché - po skriptu, který spustíme v adresáři s obrázky chceme, aby provedl:

V případě výstupních souborů z programu FEMM jde konkrétně na ořezání na rozměr 761x761px a ve formě skriptu vypadá uvedený postup následovně:



#!/bin/sh
for f in *.bmp
do convert $f -extent 761x761 $f.gif
done

mkdir gifs

mv *.gif ./gifs/

cd ./gifs

gifsicle -O --delay=10 --loop *.gif > animace.gif



Výsledek pak vypadá následovně:
animace
(lze rozkliknout, 13MB)

Závěr

Pomyslným vyvrcholením všeho je opětovný návrat do OpenOffice.org, ve kterých je z uvedeného výzkumu zpracována výzkumná zpráva. Z předloženého příkladu je tedy zřejmé, že za pomoci opensource software lze provést výzkum i tak náročných partií (zde konkrétně z oblasti elektrických strojů) jako je drážková harmonická asynchronního stroje. Veškeré použité prostředky jsou přitom ryze otevřené povahy a v uvedeném textu zdaleka není plně využito jejich možností. Z porovnání s výsledky z uzavřených programů (ANSYS, MATLAB) vyplývá, že při použití uvedeného software nedochází k žádným významným odchylkám ve výsledcích a veškeré výsledky získané za použití uvedených metod jsou důvěryhodné. Je tedy pouze na volbě každého, zda použije uzavřený software nebo se rozhodne využít některou opensource alternativu.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

Mark Stopka avatar 22.9.2008 18:01 Mark Stopka | skóre: 57 | blog: Paranoidní blog | European Economic Area
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
Ona neexistuje možnost jak to popsal analyticky? Nebylo by pro harmonickou analýzu lepší použít software typu Maple/Maxima a udělat to analyticky přes integrály, než s pomocí octave přes sumy? Možná mi něco uniká a ta konstrukce se analyticky popsat nedá, pak se omlouvám, blogpost jsem jen proletěl.
JiK avatar 22.9.2008 23:37 JiK | skóre: 8 | blog: Jirkoviny | Virginia
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
tohle je presne ta uvaha, kde se prozradi, ze jsi fyzik a ne inzenyr. :-D
Mark Stopka avatar 23.9.2008 06:32 Mark Stopka | skóre: 57 | blog: Paranoidní blog | European Economic Area
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
No... Řeknu to takhle.. Nevím co jsem, ani nevím co budu... jedno je však jisté... Inženýr to nebude. :D
pushkin avatar 24.9.2008 08:21 pushkin | skóre: 42 | blog: FluxBlog
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
Ono to jde i nejde :-) Co lze předpovědět jsou frekvence, na kterých by se ta drážková harmonická měla objevovat, pro tohle vztahy existují. Co už dost dobře předpovědět nejde je amplituda, tu ovlivňuje tvar zubů, který už se analyticky dost dobře popsat nedá, a relace mezi počty zubů statoru a rotoru. Jinak není za co se omlouvat, též dávám přednost ručním výpočtům, pokud je lze provést.
"...viděl jsem Vás žíznit a tak jsem se vrátil." | Díky, Kájo!
24.9.2008 08:43 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
Co už dost dobře předpovědět nejde je amplituda, tu ovlivňuje tvar zubů, který už se analyticky dost dobře popsat nedá, a relace mezi počty zubů statoru a rotoru.
Nějaký takový střet s realitou jsem coby student zcela jiného technického oboru čekal. :-)
22.9.2008 18:38 Aleš Kapica | skóre: 47 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
Ad zpracování obrázků, podle mne je mnohem lepší než imagemagick, použít nástrojů z balíku netpbm.
Daniel Kvasnička ml. avatar 23.9.2008 07:44 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
ZCU? To je to doupe, kde vznikla ta obludna hruznost, ktere rikate IS/STAG?... ;-)
FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
23.9.2008 11:53 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
No počkej, teď tam vznikají ještě lepší věci, klíčové slovo: portál :-D
Ještě na tom nejsem tak špatně, abych četl Viewegha.
pushkin avatar 24.9.2008 08:22 pushkin | skóre: 42 | blog: FluxBlog
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
Za to můžou FAVácí, my neee ;-)
"...viděl jsem Vás žíznit a tak jsem se vrátil." | Díky, Kájo!
24.9.2008 08:56 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
To není pravda, CIVácí! ;-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
Daniel Kvasnička ml. avatar 24.9.2008 09:07 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
To je fuk, nejaky obetni beranek se musi najit ;-)
FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
23.9.2008 09:15 CEST
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
Chlape, nemam vubec paru, o cem to pises (jak by tady v okoli rekli "Ich verstehe Bahnhof"), ale pripada mi to jako dobre zpracovana prikladova studie. Co jsem to cetl, tak mi do oka nepadla zadna silena pravopisna chyba a taky je to celkove dobre zpracovany (logicky). Mozna by stalo za to tohle nekam ulozit (at jako clanek nebo jako nejakej dokument treba do root.cz knihovny) pro pripadny zajemce linuxu ve skolstvi nebo naopak jako dukaz pro pripadny odpurce linuxu ve skolstvi, mozna i prumyslu nebo vede.
otasomil avatar 23.9.2008 16:20 otasomil | skóre: 37 | blog: puppylinux
Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
Tez pridavam kladne hodnoceni a spickove zpracovani daneho tematu.
Lamani rotorovych tyci v asynchronnich motorech kde se ona klec vytvari litim ve zvlastni kokile pod tlakem je zpusobena naslednym pnutim pri chladnuti a proto se rotorove plechy lisuji nepatrne do "talire" a skladaji stridave proti sobe nacez pri liti klece v kokile nejsou zcela stlaceny (chybi k tomu cca 1 mm u motoru vykonu radove nekolik kW).
Timto se temer zcela odstrani pnuti pri chladnuti rotoru a dojde k optimalnimu stazeni svazku rotorovych plechu.
Toliko praxe povalecnych let kdy se zacala medena svarovana klec nahrazovat hlinikovou strikanou.
Takto to muzete komentovat jako ja praktik v elektrotechnice a elektronice.
Aplikace open source na linuxove platforme velmi potesi obzvlaste ve vede a vyzkumu - jen tak dale.
K čemu hudba, která nevede k extázi... Stop MDMA !!! Už je to víc jak 50 let: http://buxlrerulbak7g3e.onion/

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.