Vyšla nová verze XMPP (Jabber) klienta Gajim, která přidává podporu reakcí pomocí emoji (XEP-0444: Message Reactions) a citace zpráv (XEP-0461: Message Replies). Přehled dalších vylepšení je k dispozici na oficiálních stránkách.
Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
V současné době si snad již nelze představit vývoj nového zařízení bez předem provedené simulace některého z fyzikálních polí nebo jejich kombinací. Vývoj elektrických strojů a přístrojů bylo možné podstatně zlevnit a zkvalitnit díky výpočtům rozložení magnetického pole a následné optimalizaci magnetického obvodu. Tepelné izolace budov jsou díky výpočtům teplotního pole ve zdivu mnohem efektivněji uloženy a podstatně šetří investorům jejich vklady. Tyto simulace jsou většinou založeny na metodě konečných prvků implementované v mnoha sofistikovaných a také velice drahých profesionálních programech. Cílem tohoto příspěvku je ukázat volnou alternativu k těmto programům a motivovat případné uživatele k dalšímu vývoji aplikace.
Program využívá pro řešení příslušných parciálních diferenciálních rovnic knihovnu Hermes2D založenou na adaptivní metodě konečných prvků vyššího řádu přesnosti. Tato knihovna je vyvíjena skupinou Pavla Šolína, který v současné době působí na univerzitě v Renu v USA a je v této oblasti uznávaným odborníkem. Více informací naleznete na webových stránkách projektu http://hpfem.org/.
Samotná aplikace je primárně vyvíjena na linuxovém desktopu, je napsána v jazyce C++ a šířena pod licencí GNU GPL v2. Na vývoji aplikace se začalo pracovat v květnu roku 2009 a jedná se tedy o poměrně mladou aplikaci. Grafické prostředí je vytvořeno pomocí knihovny Qt a je plně multiplatformní. Díky této knihovně je aplikace také lokalizovaná do českého jazyka. Pro vykreslování geometrie a vypočtených dat je použita knihovna OpenGL. Agros2D umožňuje, jak název napovídá, řešení polí ve 2D kartézském nebo osově symetrickém uspořádání. Je určena pro vědecké pracovníky, inženýry, studenty technických fakult a všechny, kdo se zabývají řešením fyzikálních polí. Aplikace je vyvíjena s důrazem na jednoduchost a snadnost použití a přitom co největší komplexnost.
Agros2D umožňuje řešit problémy elektrického, elektrického proudového, magnetického a teplotního pole v kartézském a osově symetrickém uspořádání. K dispozici je analýza ustáleného stavu, harmonická analýza a analýza přechodného děje. Jednotlivé části aplikace lze rozdělit na preprocesor, který slouží k definování problému, procesor řešící příslušná pole a postprocesor určený k analýze vypočtených dat. V následujících kapitolách představíme jednotlivé moduly aplikace.
Modul preprocesoru slouží k vytváření geometrie řešené oblasti a definici materiálů a okrajových podmínek. Obsahuje základní operace pro práci s uzly, hranami a značkami oblastí, jako jsou například geometrické transformace (posun, otočení a zvětšení). Geometrii lze také nakreslit v CAD programu a importovat pomocí formátu DXF. Na obrázku vidíme detail budovy obsahující zdivo (horní část) a okno (spodní část) oddělených stropní konstrukcí.
Na následujícím obrázku vidíme definici fyzikálních vlastností jednoho z použitých materiálů. Obdobným způsobem lze definovat okrajové podmínky řešené oblasti.
K diskretizaci geometrie řešeného problému je využíván program Triangle založený na Delaunay triangulaci, který umožňuje vytvoření vysoce kvalitní nestrukturované trojúhelníkové sítě. Procesor využívá při výpočtu elementy vyššího řádu přesnosti a automatickou hp-adaptivitu (automatické zjemnění sítě a řádu polynomu na elementu dle potřeby). Pro řešení získané soustavy algebraických rovnic je použit oblíbený UMFPACK z balíku SuiteSparse.
Postprocesor slouží k analýze vypočtených dat. Získané hodnoty pole lze zobrazit pomocí barevných map a vektorů nebo dále zpracovat jako povrchové a objemové integrální veličiny charakterizující dané pole (v případě teploty například celkový tepelný tok zdivem případně průměrnou teplotu v oblasti). Příklad lokálních veličin pole ukazuje pravá část obrázku.
Na následujícím obrázku vidíme příklad rozložení teploty (skalární mapy) v detailu budovy. Mezi další možnosti zobrazení postprocesoru patří ekvičáry (v případě teplotního pole jsou to izotermy), vektory pole ve formě neproporčních šipek, mapa použitého polynomiálního řádu (na obrázku je řád polynomu po spuštění automatické adaptivity u modelu válcového kondezátoru) a také 3D zobrazení barevné mapy.
Získané lokální veličiny pole lze také zobrazit ve formě grafu v závislosti na souřadnicích nebo u přechodného děje v čase. Získané průběhy lze exportovat pro další zpracování ve formě bitmapového obrázku nebo textového CSV (comma separated values) souboru.
Mezi další možnosti exportu patří celková zpráva řešeného projektu ve formě HTML stránky obsahující obecné informace o problému, geometrii, materiálové vlastnosti a okrajové podmínky, použitou diskretizační síť, barevnou mapu vypočtené veličiny a konečně skript k jeho vytvoření.
V případě přechodných dějů lze obsah okna postprocesoru vygenerovat jako sérii obrázků a s použitím programu FFmpeg vytvořit animaci.
Díky jazyku Python a jeho velice snadné implementaci do C++ aplikace získává Agros2D mocný skriptovací nástroj využitelný k automatizaci často prováděných úkonů. Umožňuje například rychlý výpočet statické charakteristiky elektromagnetického akcelerátoru (závislost magnetické síly na poloze jádra), kdy je potřeba po malých krocích posouvat jádro a v každém kroku počítat působící magnetickou sílu. K automatickému výpočtu pak stačí jeden cyklus, funkce pro posuv části geometrie a výpočet příslušného integrálu.
Ukázku editoru skriptů vidíme na obrázku. Editor obsahuje jednoduchý terminál pro výpis vypočtených dat a vstupní dialog pro zadání příkazu. Dále umožňuje spouštění celých skriptů nebo jejich částí a automatické vytvoření skriptu z již vytvořeného modelu. Tato funkce je velice výhodná, protože lze často nakreslit model přímo v preprocesoru, vytvořit skript a následně jej parametrizovat.
Výrazy v Pythonu lze také využít při zadávání fyzikálních vlastností a okrajových podmínek. Je pak možné v rámci projektu nadefinovat proměnné (například teplotní vodivosti jednotlivých oblastí) a ty pak využívat ve skriptu nebo přímo v celé aplikaci.
Jedna z největších výhod oproti jiným skriptovacím jazykům (dostupné komerční programy obsahují své vlastní a tím i velice omezené jazyky) je obrovské množství dostupných knihoven. Z hlediska použití je velice zajímavý projekt SciPy (http://www.scipy.org/), obsahující velké množství algoritmů pro vědecké výpočty a využívaný po celém světě nejen vědeckou komunitou. Obsahuje funkce pro numerické řešení obyčejných diferenciálních rovnic nebo optimalizační algoritmy. S touto knihovnou jsou úzce svázány projekty matplotlib (http://matplotlib.sourceforge.net/) pro kreslení kvalitních 2D grafů a Mayavi (http://code.enthought.com/projects/mayavi/) podporovaný firmou Enthought určený k vizualizaci 3D struktur.
Agros2D využívá velké množství open-source knihoven, jejichž seznam je uveden v následující tabulce.
Produkt | Webové stránky | Stručný popis |
---|---|---|
Hermes2D | http://www.hpfem.org/hermes2d | knihovna pro řešení PDE pomocí hp-FEM |
Nokia Qt | http://www.qtsoftware.com/products | multiplatformní framework převážně pro tvorbu GUI |
Python | http://www.python.org | univerzální interpretovaný programovací jazyk |
dxflib | http://www.ribbonsoft.com/dxflib.html | knihovna pro práci s formátem DXF |
Qwt | http://qwt.sourceforge.net | knihovna komponent technických grafů |
Triangle | http://www.cs.cmu.edu/~quake/triangle.html | kvalitní generátor sítě založený na Delaunay triangulaci |
FFmpeg | http://ffmpeg.org | aplikace pro práci s videem pomocí libavcodec |
SuiteSparse | http://www.cise.ufl.edu/research/sparse/SuiteSparse/ | UMFPACK pro řešení soustav řídkých rovnic |
Stručné porovnání s některými dostupnými aplikacemi pro řešení fyzikálních je uvedeno v následující tabulce. Mezi klíčové vlastnosti, které nejsou dostupné u jiných programů, patří díky knihovně Hermes2D automatická hp-adaptivita a také použití Pythonu jako skriptovacího jazyka aplikace. Díky němu získává Agros2D možnost využití obrovského množství knihoven pro vědecké výpočty.
Produkt | Licence | Geom. | Platforma | Max. řád polynomu | Adapt. | Skript. | Fyzikální vlastnosti |
---|---|---|---|---|---|---|---|
ANSYS | prop. | 2D/3D | windows, linux (část.), osx (část.) | 2 | h, p | Ansys | lineární, nelineární |
Comsol | prop. | 2D/3D | windows, linux, osx | 5 | h | Comsol Script (Matlab komp.) | lineární, nelineární |
QuickField | prop. | 2D | windows | 1 | - | ActiveX objekty | lineární, nelineární |
FEMM | Aladdin | 2D | windows, linux (wine) | 1 | - | LUA | lineární, nelineární pouze BH charakteristika |
Agros2D + Hermes2D | GPL v2 | 2D | windows, linux, osx | 10 | h, p, hp | Python | lineární (Hermes2D nelineární) |
Tento měsíc byla vydána první stabilní verze aplikace a je ke stažení na adrese http://hpfem.org/agros2d/. K dispozici je repozitář v GITu a instalátor binární verze pro Windows. Balíčky pro Ubuntu se nachází na Launchpadu na adrese https://launchpad.net/~pkarban/+archive/ppa.
Do dalších verzí Agros2D je plánováno rozšíření o další fyzikální pole, jako jsou pole termoelastických deformací popsané Lamého rovnicemi a proudění nestlačitelné tekutiny popsané Navierovými-Stokesovými rovnicemi. Implementovány budou také nelineární závislosti fyzikálních veličin, které v současné verzi chybí. V případě zájmu je vítána jakákoliv spolupráce na vývoji aplikace, propagaci, tvorbě dokumentace, testování nebo i podněty pro zlepšení aplikace.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
Pokud bude zájem, tak určitě krátký seriál sepíšeme.OK, jen doplňuji, že takový seriál na AbcLinuxu rád vydám.