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 04:44 | IT novinky

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl v březnu 5,33 % (Windows -4,28 %, OSX +1,19 %, Linux +3,10 %). Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 24,48 %. Procesor AMD používá 67,48 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | IT novinky

    Společnost Apple slaví padesáté narozeniny. Založena byla 1. dubna 1976.

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

    FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.24.0. Toto velké opravné vydání implementuje SABR (Server-Based Adaptive Bit Rate), což řeší část nedávných problémů s načítáním videí z YouTube, a aktualizuje základní komponenty jako Electron nebo přehrávač Shaka Player.

    |🇵🇸 | Komentářů: 0
    včera 16:33 | Humor

    Je tu opět apríl. O víkendu zmizel kamion s 12 tunami tyčinek KitKat. Firmy to využívají k aprílovým žertům. Groupon má super akci. Koupíte 1 tyčinku a dostanete 100 zdarma. Ryanair si přelepil letadla. Šéf Outlooku se ptá, proč mají v baráku 14 beden tyčinek KitKat (𝕏). Prusa Research představuje Prusa Pro ACU a vysvětluje proč přílišné sušení škodí vaším filamentům. Telefon Sony Xperia má miliónnásobný zoom (𝕏). PC.net představil Super Ultrabox 2600 se zajímavými parametry. Další aprílové novinky například na April Fools' Day On The Web.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | IT novinky

    Společnost OpenAI, která stojí za chatovacím robotem s umělou inteligencí (AI) ChatGPT, získala od investorů 122 miliard USD (2,6 bilionu Kč). Hodnota společnosti tak dosáhla 852 miliard dolarů (více než 18 bilionů Kč). Nejnovější kolo investování se stalo největší, jaké zatím firma uskutečnila, a peníze mají posílit ambiciózní plány rozšíření výpočetní kapacity, datových center a nábor talentů.

    Ladislav Hagara | Komentářů: 9
    včera 13:11 | IT novinky

    Nástroj k identifikaci občanů v on-line komunikaci s úřady byl dnes dopoledne zhruba dvě hodiny částečně nedostupný. Problém se objevil kolem 09:00 a podařilo se ho vyřešit kolem 11:00. Částečně nedostupná byla služba Národní identitní autority (NIA), problémy podle DIA (Digitální a informační agentura) ovlivňovaly přihlašování například i přes bankovní identitu. „Dostupnost NIA byla plně obnovena, přihlášení k digitálním službám

    … více »
    Ladislav Hagara | Komentářů: 3
    včera 13:00 | IT novinky

    Eben Upton oznámil další zdražení počítačů Raspberry Pi kvůli růstu cen pamětí a představil Raspberry Pi 4 s 3 GB RAM za 83,75 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Humor

    Anthropic patrně omylem zveřejnil celý zdrojový kód svého CLI nástroje Claude Code prostřednictvím přiloženého sourcemap souboru v npm balíčku. Únik odhalil doposud nijak nezveřejněné funkce jako je například režim v utajení, autonomní agent 'KAIROS', orchestrace multi‑agentů, režim snění nebo dokonce virtuální mazlíček Buddy. Zajímavostí je detekce naštvání uživatele pomocí obyčejného regexpu. Anthropic rychle odstranil sourcemap a vydal opravu, nicméně kopie kódu se již stihly na GitHubu rozšířit mezi prostým lidem.

    NUKE GAZA! 🎆 | Komentářů: 12
    31.3. 14:33 | Humor

    Copilot automaticky vkládal do pull requestů 'propagační tipy', reklamní text se na GitHubu objevil ve více než jedenácti tisících pull requestech. Po vlně kritiky byla tato funkce zablokována a produktový manažer Tim Rogers připustil, že umožnit Copilotovi upravovat cizí pull requesty bez vědomí autorů byla chyba.

    NUKE GAZA! 🎆 | Komentářů: 4
    31.3. 12:55 | Upozornění

    Je 31. března a tedy Světový den zálohování (World Backup Day). Co by se stalo, kdyby Vám právě teď odešel počítač, tablet nebo telefon, který používáte?

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (5%)
     (1%)
     (14%)
     (24%)
    Celkem 1204 hlasů
     Komentářů: 29, poslední 31.3. 11:17
    Rozcestník

    Svobodný software v rukách vědy

    22.9.2008 17:29 | Přečteno: 2327× | 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ář

    22.9.2008 18:01 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    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: 13 | 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
    23.9.2008 06:32 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    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: 43 | 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.
    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: 52 | 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: 43 | blog: FluxBlog
    Rozbalit Rozbalit vše Re: Svobodný software v rukách vědy
    Za to můžou FAVácí, my neee ;-)
    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: 39 | 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 !!! I spam umí být roztomilý

    Založit nové vláknoNahoru

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