Transcript MATLAB 5
Informace o programech MATLAB a COMSOL Multiphysics Karel Bittner [email protected] www.humusoft.cz [email protected] 1 HUMUSOFT s.r.o. HUMUSOFT s.r.o. • Založeno v r. 1990, sídlo v Praze • Produkty a služby v oblasti technických výpočtů, řídicí techniky, simulace dynamických systémů a podnikových procesů • MATLAB, Simulink, Stateflow – Inženýrské výpočty, simulace dynamických systémů – The MathWorks, Inc. • WITNESS – Interaktivní simulace a optimalizace podnikových procesů – Lanner Group, Ltd. • dSPACE - vývojové systémy – dSPACE GmbH. • Comsol Multiphysics – Otevřený systém pro multifyzikální analýzu (metoda konečných prvků) – Comsol AB • Vývoj vlastního software & hardware – Virtual Reality Toolbox, Real Time Toolbox, Real-Time Windows Target – Měřicí karty – Modely pro výuku teorie řízení • Paralelní pracovní stanice HeavyHorse – Multiprocesorové stanice pro High-Performance Computing 2 HUMUSOFT s.r.o. O společnosti The MathWorks • Společnost The MathWorks založena v roce 1984 • Vývoj programu MATLAB – Od numerických výpočtů po komplexní výpočetní a vývojové prostředí Testování, Verifikace, Validace • • Datové analýzy a vývoj algoritmů Technické výpočty • Rapid prototyping a HIL • Vestavěné programové vybavení • Software pro signálové procesory Simulink • • Návrhy DSP Komunikační systémy • Stavové diagramy • Fyzikální modelování • • • Zpracování obrazu • • Tvorba aplikací • • Optimalizace Statistika MATLAB 1985 3 Návrhy řídicích systémů Zpracování signálu Testování a měření • Automatické generování kódu Modelování systémů a simulace • 1990 1995 Kontrola • Verifikace integrity modelů kódu • VHDL a Verilog • • Systémy diskrétních událostí Zpracování videa Finanční modelování a analýzy • Výpočetní biologie Studentská verze Komunikace s databázemi a instrumenty • Distribuované a paralelní výpočty 2000 2005 HUMUSOFT s.r.o. O společnosti The MathWorks 1985 4 Obrat v roce 2007: asi 450 mil. USD Soukromě vlastněna Více než 1,800 zaměstnanců po celém světě Více než 1,000,000 uživatelů ve 175 zemích 1990 1995 2000 2005 HUMUSOFT s.r.o. Struktura systému MATLAB Aplikace v reálném čase Blocksety (knihovny bloků) Tvorba samostatných aplikací Toolboxy (knihovny funkcí) Simulink Simulace a modelování dynamických systémů MATLAB Výpočty, programování, vizualizace... 5 HUMUSOFT s.r.o. Přehled produktů firmy MathWorks Simulink Product Family Application-Specific Products MATLAB Product Family 6 HUMUSOFT s.r.o. Aplikační oblasti systému MATLAB • Aplikovaná matematika – technické výpočty – vývoj, výzkum – automobilový průmysl – elektrotechnika – výrobní zařízení – telekomunikace • Nadstavby vhodné pro – analýzu dat – tvorba matematických algoritmů – vývoj algoritmů – modelování, vizualizace – distribuované a paralelní výpočty 7 HUMUSOFT s.r.o. Aplikační oblasti systému MATLAB • Automatické řízení a regulace – SW – letectví – automobilový průmysl – průmyslová výroba a výrobní zařízení • Nadstavby vhodné pro: – modelování a simulace soustav – testování algoritmů v systémech řízení – embedded software – automatické generování kódu 8 HUMUSOFT s.r.o. Aplikační oblasti systému MATLAB Další oblasti využití • Zpracování obrazu • Zpracování signálu a komunikace • Modelování fyzikálních soustav • Měření a testování 9 HUMUSOFT s.r.o. Tok informací a dat v MATLABu vstupy 10 řešení výstupy HUMUSOFT s.r.o. Co je MATLAB • Integrované prostředí pro vědeckotechnické výpočty • Grafické a výpočetní nástroje • Intuitivní uživatelské rozhraní MATLAB Desktop • Rychlé výpočetní jádro • Programovací jazyk 4. Generace – více než 1 000 funkcí – objektově orientované programování • Grafická uživatelská rozhraní (GUI) • Rozsáhlá HTML nápověda – prohlížeč funkcí • Systém MATLAB je: – modulární – toolboxy – otevřený – uživatel může zobrazit i upravovat funkce 11 HUMUSOFT s.r.o. Parallel Computing Toolbox • Návrh, tvorba a zpracování paralelních výpočtů a algoritmů • Struktura – klient • sekce MATLABu pro zadání úloh a spouštění celého procesu – lokální plánovač (scheduler) • rozděluje úlohy do „workerů“, komunikuje s nimi a sbírá výsledky – worker • jednotka pro výpočet jednotlivých úloh • PCT umožňuje spustit až 8 lokálních „workerů“ v rámci jednoho PC 12 HUMUSOFT s.r.o. Parallel Computing Toolbox • Interaktivní paralelní mód – umožňuje pracovat s paralelními výpočty interaktivně • Jazyk pro paralelní výpočty – příkazy pro paralelní programování • parfor (paralelní cyklus) • spmd (simple program multiple data) – distribuovaná data • codistributed (zpřístupňuje distrib. data pro workery) • codistributor (vytváří objekty pro sdílená data) • S Parallel Computing Toolboxem lze – programovat paralelní algoritmy – provádět výpočet paralelních algoritmů na multiprocesorové stanici – testovat nastavení paralelního algoritmu před spuštěním na výpočetním clusteru 13 HUMUSOFT s.r.o. MATLAB Distributed Computing Server • Rozšiřuje Parallel Computing Toolbox • Je možné zpracovávat rozsáhlé výpočetní úlohy v rámci výpočetního clusteru – konfigurace pro 8, 16, 32, 64, 96 a 128 workerů • Lze využít vlastní nebo externí plánovač (Scheduler, Job Manager) 14 HUMUSOFT s.r.o. MATLAB Compiler • Vytváří stand-alone aplikace a sdílené knihovny z programů v MATLABu • Lze použít většinu výpočetních a grafických funkcí MATLABu včetně vlastního GUI • Aplikaci je možné distribuovat – ke spuštění aplikace není nutná instalace MATLABu • uživatel bez MATLABu musí mít nainstalován MATLAB Compiler Runtime (MCR) – k využívání aplikace není potřeba licence MATLABu – pokrývá licence MATLAB Compileru • v rámci komerční licence lze aplikaci zcela libovolně šířit • v rámci školní licence lze aplikaci šířit pouze bezplatně a musí být zajištěno její nekomerční (školní) využití 15 HUMUSOFT s.r.o. Co je Simulink • Nadstavba MATLABu • Modelování, simulace a analýza dynamických systémů • Prostředí blokových schémat – předdefinované knihovny bloků – systém práce „drag and drop“ – tvorba vlastních funkčních bloků • Prvky pro tvorbu algebraických a diferenciálních rovnic • Otevřené rozhraní pro tvorbu aplikací – začlenění kódu z programů MATLAB, C, Fortran • Platforma pro Model Based Design – následně může být automaticky generován kód pro cílovou platformu 16 HUMUSOFT s.r.o. Stateflow • Modelování událostmi řízených systémů – Teorie konečných automatů – Stavový popis a vývojové diagramy – Začlenění událostmi řízené logiky – Intuitivní grafické uživatelské rozhraní – Plná integrace do modelů Simulinku • Stateflow Coder – Automatické generování kódu v jazyce C 17 HUMUSOFT s.r.o. Simulink 3D Animation • Zahrnutí virtuální reality do prostředí MATLABu a Simulinku – zobrazení „živé“ virtuální scény během simulace – možnost vykreslení virtuální scény v okně Figure společně s grafy či ovládacími prvky • Modely jsou ve VRML – určení parametrů které se zadávají z MATLABu či Simulinku • Součástí VR Toolboxu je VRML editor • Model ve VRML lze exportovat z CAD systémů 18 HUMUSOFT s.r.o. Vehicle Network Toolbox • Komunikace s automobilovou komunikační sítí prostřednictvím protokolu CAN • Umožňuje přijímat a odesílat pakety komunikační sběrnice CAN – z MATLABu – ze Simulinku • CAN zprávy lze – kódovat – dekódovat – filtrovat • Umožnuje vizualizaci toku informací ve sběrníci 19 HUMUSOFT s.r.o. Simscape 20 modelování základních mechanických, elektrických a hydraulických soustav SimHydraulics modelování hydraulických soustav SimMechanics modelování trojrozměrných mechanických soustav SimDriveline modelování převodových soustav automobilů SimElectronics modelování elektronických obvodů SimPowerSystems modelování energetických soustav, pohonů a výkonové elektroniky SimElectronics SimDriveline • Propojení se Simulinkem přes bloky senzorů a akčních prvků SimMechanics • Propojení bloků signály s obousměrnou interakcí reprezentujícími tok energie SimHydraulics • Modelování soustav skládáním bloků, které reprezentují prvky reálného světa SimPowerSystems Fyzikální modelování Simscape MATLAB, Simulink HUMUSOFT s.r.o. Vývojový cyklus - Model Tradiční Based Design Požadavky a specifikace Návrh Modely prostředí Modely chování systému Spustitelný model Textová forma - Jednoznačné Nedovoluje pružné Pouze ladění a“jedna aktualizace pravda” Modely prostředí Implementace Modely fyzických komponent Algoritmy Testy a Verifikace Algoritmy Simulace Fyzické prototypy - Snižuje potřebu - fyzických Drahé, nekompletní prototypů Časově náročné - Umožňuje systematickou “what–if” analýzu C, C++ MCU DSP VHDL, Verilog FPGA ASIC Automatické „Ruční“ programování generování - Náchylné nakódu chyby -- Neefektivní Redukce času a úsilí - Minimalizace chyb při programování 21 Tradiční testování Hardware-in-the-Loop -Processor-in-the-Loop Chyby odhaleny pozdě vzhledem ke struktuře vývojového procesu HUMUSOFT s.r.o. Nástroje pro verifikaci a testování • Verifikace a validace modelů v Simulinku – Simulink Verification and Validation • sledování požadavků (RMI) – MS Word, MS Excel – DOORS • analýza pokrytí modelu testy • testování dodržování modelovacích standardů – DO-178B, IEC 61508, MAAB – Simulink Design Verifier • automatické generování testů • prověřování vlastností modelů v Simulinku • Detekce možného výskytu run-time chyb zdrojového kódu analytickými metodami – PolySpace • pro jazyky C/C++ a Ada • pro generovaný i ručně psaný kód 22 HUMUSOFT s.r.o. COMSOL Multiphysics • Řešení parciálních diferenciálních rovnic (PDE) – metodou konečných prvků – řešení ve 2D a 3D • Rozsáhlý modulární systém – AC/DC Module – RF Module – Heat Transfer Module – Acoustics Module – Structural Mechanics Module – MEMS Module – Chemical Engineering Module – Earth Science Module – COMSOL Reaction Engineering Lab® – Optimization Lab 23 HUMUSOFT s.r.o. Charakteristika programu • Řešení fyzikálních úloh popsatelných PDE, převod úlohy na FEM analýzu • Předdefinované aplikace (přenos tepla, dyn. tekutin, elektromagnetismus, atd.) • Jednoduché a intuitivní ovládání, uživatelsky příjemné grafické rozhraní • Otevřený systém, definice vlastních PDE • Kombinace několika aplikací do jedné úlohy – multifyzikální aplikace • Propojení s MATLABem a jeho využití jako programovacího prostředí, kombinace funkcí MATLABu a COMSOL Multiphysics • Komunikace s externími CAD systémy 24 HUMUSOFT s.r.o. Struktura systému COMSOL Multiphysics COMSOL Multiphysics Material Library CAD Import Module Heat Transfer Module Earth Science MEMS Module Acoustics Module AC/DC Module MATLAB CATIA V4, V5 Pro/E Autodesk Inventor VDA-FS SolidWorks Pro moduly AC/DC, RF a MEMS: GDS, ODB a NETEX-G RF Module Structural Mechanics Module Chemical Engineering Module Reaction Engineering Lab Optimization Lab 25 HUMUSOFT s.r.o. Struktura systému COMSOL Multiphysics 26 HUMUSOFT s.r.o. Co je to Multifyzika ? 27 • Provázanost jednotlivých aplikačních režimů • Lze řešit postupně nebo současně, podle typu úlohy a závislostí jednotlivých proměnných HUMUSOFT s.r.o. Pracovní postup – volba jednoho nebo více aplikačních režimů (PDE), multifyzika – vytvoření geometrického modelu – zadání fyzikálních veličin (subdomény, okrajové podmínky) – generování FEM sítě – řešní úlohy – postprocesor (následné zpracování) – komunikace s MATLABem 28 HUMUSOFT s.r.o. Příklady Interakce tekutiny s konstrukcí (FSI) – proudění tekutiny (vody) kanálem s ohebnou překážkou – materiál překážky ρ = 7850 kg/m3 a E = 8 MPa – rozměry kanálu a překážky jsou v μm – maximální vstupní rychlost vody je 1,5 m/s ve tvaru paraboloidu – stacionární řešení úlohy • Výsledky simulace – deformace překážky – rychlostní pole při proudění kanálem • Definice modelu v COMSOLMultiphysics – předdefinovaná multifyzikální aplikace – Solid, Stress-Strain (u, v, w, p) – Moving Mesh (ALE) (x, y, z) – Incompressible Navier-Stokes (u2, v2, w2, p2) 29 HUMUSOFT s.r.o. Příklady Zatížení háčku na úložné skříňce automobilu – Nelineární analýza (díky interakci mezi háčkem a zarážkou, elasto-plastická oblast pro háček, nelinearity v geometrii díky velkým deformacím) – Znalost síly pro posuv háčku: F = 2*sqrt(Fx^2+Fy^2+Fz^2) – Posuv ve směru osy x: -Displ_max*((para<=1)*para+(para>1)*(2-para)) – Parametrický řešič v rozsahu parametru: 0 0.2:0.1:2 – Manual Scaling počítaných proměnných a parametrů (velké rozdíly v hodnotách) 30 HUMUSOFT s.r.o. Příklady Žárovka Teplota inertního plynu Ag – model žárovky (60W) naplněné inertním plynem – wolframové vlákno kruhového průřezu B – při teplotě 2000K (1727°C) vyzařuje světlo A Zahřívání žárovky – po zapnutí lze analyzovat zahřívání žárovky ve dvou úsecích – krátkodobý úsek v intervalu 2, 6 a 10 sec. – při zahřívání se mění teplota a tlak plynu, změny vyvolávají proudění plynu 2 sec 6 sec 10 sec Rychlost proudění Ag – rychlost proudění plynu je kolem 0,24m/s – dlouhodobý úsek je interval 5 minut T = 580K 2 sec Nárůst teploty za 300s v bodě A 31 6 sec 10 sec Vyzářené teplo v t = 300s na B HUMUSOFT s.r.o. Příklady Žárovka – pokračování – 2D symetrický model v COMSOL Multiphysics – aplikační režim Weakly compressible Navier-Stokes (simulace proudění s proměnnou hustotou) – aplikační režim General Heat Transfer • zadání vlastností materiálu (oblasti) – kovové oblasti: E, ρ – materiá ve viskoelastických oblastech: K, ρ, Gi, ti – Zdroj tepla ve wolframovém vlákně odpovídá 60 W • zadání okrajových podmínek: – přestup tepla na vnitřních hranicích modelu je definován jako sálání z povrchu na povrch – vnější hranice je nastavena jako sálání z povrchu do okolí – hranice v místě patice žárovky je definována jako izolant 32 HUMUSOFT s.r.o. COMSOL Multiphysics • Požadavky na HW – Windows 2000, Windows XP, Windows XP Professional x64 Edition, Windows Vista (32 a 64 bit), Windows 2003 Server x64 Edition with Service Pack 2, Windows 2003 Compute Cluster Server, Windows HPC Server 2008 – Pentium III nebo novější (AMD Opteron, AMD Athlon 64, Pentium 4 s EM64T, nebo Xeon s EM64T) – OpenGL 1.1 Microsoft nebo akcelerátor podporující OpenGL 1.1, nebo Direct X verze 8.0 nebo pozdější. Grafická karta min. 32 MB paměti. – Pro práci s MATLABem verze 7.0, 7.0.1, 7.0.4, 7.1, 2006a/b, 2007a/b – minimální doporučená RAM 1 GB • Unix – – – – Solaris 8,9,10 (UltraSPARC II nebo pozdější) Linux (AMD Opteron, AMD Athlon 64, EM64T, Itanium 2) 32-bit: Debian 3.0, 3.1, RedHat Enterprise 4/5, Fedora Core 8, SUSE 10.3 64-bit: SUSE 9.0, 9.3 10.3, RedHat Enterprise 4/5 (AMD64/Intel EM64T), Fedora Core 8 – MAC, PowerPC G4 nebo PowerPC G5, Intel procesor www.comsol.eu/products/requirements/ 33 HUMUSOFT s.r.o. Spolupráce s MATLABem • Propojení CM a MATLABu – – – fem struktura M-soubor komunikace přes Export, Import % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.5a (COMSOL 3.5.0.585, $Date: 2008/11/18 16:53:37 $) flclear fem % COMSOL version clear vrsn vrsn.name = 'COMSOL 3.5'; vrsn.ext = 'a'; vrsn.major = 0; vrsn.build = 585; vrsn.rcs = '$Name: v35p $'; vrsn.date = '$Date: 2008/11/18 16:53:37 $'; fem.version = vrsn; 34 fem = version: [1x1 struct] appl: {[1x1 struct]} geom: [1x1 solid2] mesh: [1x1 femmesh] frame: {'ref'} shape: {'shlag(2,'c')'} border: 1 outform: 'general' form: 'general' % Constants units: [1x1 struct] fem.const = {'K','1e-11[m^3/(A*s)]'}; equ: [1x1 struct] bnd: [1x1 struct] % Geometry pnt: [1x1 struct] g1=rect2(2.8,0.4,'base','corner','pos',[-1.4,0]); expr: {'c1' 'c0*exp(a*(-(x/4e-4[m])^2))'} g2=circ2('0.3','base','center','pos',{'0','0.6'},'rot','0') descr: [1x1 struct] ; elemcpl: {[1x1 struct]} g3=geomcomp({g1,g2},'ns',{'g1','g2'},'sf','g1draw: [1x1 struct] g2','edge','none'); const: {'c0' '3[mol/m^3]' 'a' '1000' 'k_f' g3=scale(g3,1e-3,1e-3,0,0); '5[m/s]' 'D1' '1e-5[m^2/s]'} ode: [1x1 struct] % Analyzed geometry xmesh: [1x1 com.femlab.xmesh.Xmesh] clear s sol: [1x1 femsol] s.objs={g3}; s.name={'CO1'}; s.tags={'g3'}; HUMUSOFT s.r.o. Spolupráce s MATLABem • COMSOL Multiphysics a Simulink – 35 fem struktura jako přenosová funkce HUMUSOFT s.r.o. Rastrové soubory v Comsol Multiphysics • MRI – magnetická rezonance load mri i=[1 6 12 17 22 27]; figure for k=1:6 subplot(2,3,k) image(D(:,:,1,i(k))) title(sprintf('Image %d',k)); axis off end colormap(map) % th=[1 1 1 1 1 1]; kf=[0.11 0.10 0.112 0.115 0.129 0.165]; % clear c for k=1:6 [c{k},r]= flim2curve(D(:,:,1,i(k)),{th(k),[]},'KeepFrac', kf(k)); end % 36 HUMUSOFT s.r.o. Rastrové soubory v Comsol Multiphysics for k=1:6 c{k}=solid2(c{k}); end % s1=c{1} e1={18 18 18 19 19 18}; dvr={repmat(12.5,1,5),repmat(0,2,6),repmat(0,1,6)}; lg=loft(c,'loftedge',e1,'loftsecpos',dvr,'loftweights',repmat(0.1,2,5)); figure geomplot(lg) 37 HUMUSOFT s.r.o. Rastrové soubory v Comsol Multiphysics • Využití funkce flim2curve k detekování kontur v rastrovém obrázku – prostředí MATLABu clear all p=(peaks+7)*5;figure image(p) g = flim2curve(p,{[],[5:5:75]}); c=geomcsg({rect2(5,45,0,50)},{g}); s=solid2(c) • vizualizace pomocí funkce geomplot figure geomplot(s,'pointmode','off','sublabels','on'); 38 HUMUSOFT s.r.o. Humusoft HeavyHorse • Procesory AMD Opteron – dva nebo čtyři dvoujádrové – dva nebo čtyři čtyřjádrové – frekvence CPU 2.3 až 3 GHz • 8-64 GB RAM • Grafická karta ATI Radeon HD 4870 • Pevný disk 500 GB • Optická mechanika DVD±RW • Operační systém podle přání – OpenSuSE Linux 64-bit – Microsoft Windows XP 64-bit – Microsoft Windows Vista 64-bit • Možnost předinstalace aplikací – MATLAB Parallel Computing Toolbox 39 HUMUSOFT s.r.o. HUMUSOFT MF 624 a AD 622 • Aplikace – společné • • • • • • • Měření stejnosměrných napětí Připojení převodníků a snímačů Měření vibrací a přechodových jevů Řízení a monitorování procesů Snímání a analýza průběhu Vícekanálový sběr dat Simulace v reálném čase + MF 624 lze navíc využít pro • • • • • • • 40 Měření polohy Servosystémy Pulzně-šířková modulace Měření frekvence Měření času Generování pulzů/frekvence Čítání pulsů HUMUSOFT s.r.o. HUMUSOFT MF 624 a AD 622 • AD 622 – levná měřicí karta pro PC • Osm single-ended 14-bitových analogových vstupů • Osm 14-bitových analogových výstupů • 8 digitálních vstupů, 8 digitálních výstupů • MF 624 – multifunkční vstupně-výstupní karta • • • • • Osm single-ended 14-bitových analogových vstupů Osm 14-bitových analogových výstupů 8 digitálních vstupů, 8 digitálních výstupů 4 vstupy inkrementálních snímačů (diferenciální) 4 čítače/časovače • Společné vlastnosti – Nízká spotřeba – Krátká doba A/D převodu – Ovladače pro • Real Time Toolbox, Real-Time Windows Target • Windows, 32 i 64-bitové aplikace 41 HUMUSOFT s.r.o. Zdroje informací • Webové semináře (webinars) – on-line semináře zdarma probíhající na internetu v reálném čase v daný den a hodinu – v angličtině (COMSOL) – přehled připravovaných a archiv uskutečněných webových seminářů • www.comsol.com/events/webinars/ • Školení – Firma HUMUSOFT provádí jednodenní školení na COMSOL Multiphysics – zhruba 1x za dva měsíce, termíny jsou vyhlašovány 3 týdny předem • www.humusoft.cz/skoleni Zkušební verze • Plnohodnotná verze COMSOL Multiphysics • Časově omezena maximálně na 30 dní • V případě zájmu nás kontaktujte – [email protected] 42 HUMUSOFT s.r.o. Zdroje informací • Internetové stránky – www.humusoft.cz • domovská stránka firmy Humusoft s.r.o. – www.mathworks.com • domovská stránka firmy The MathWorks, Inc. • MATLAB central – prostor pro vzájemnou komunikaci mezi uživateli a příznivci systému MATLAB/Simulink (otevřená platforma pro prezentaci vlastních aplikací, výměnu souborů, názorů i zkušeností) • www.mathworks.com/matlabcentral/ 43 HUMUSOFT s.r.o. Zdroje informací • Webové semináře (webinars) – on-line semináře zdarma probíhající na internetu v reálném čase v daný den a hodinu – videa webových seminářů, které již proběhly, jsou ke stažení – v angličtině (The MathWorks), češtině, slovenštině – přehled připravovaných a archiv uskutečněných webových seminářů • www.humusoft.cz/wwwseminare • Školení – Firma HUMUSOFT provádí školení na MATLAB, Simulink, Stateflow, Real Time Workshop, fyzikální modelování – zhruba 1x za dva měsíce, termíny jsou vyhlašovány 3 týdny předem • www.humusoft.cz/skoleni 44 HUMUSOFT s.r.o. Děkuji za pozornost 45 HUMUSOFT s.r.o.