Jūs esate čia: Pradžia » Visos temos » Technologijos » Elektronika |
Tai straipsnis iš rašinių ciklo. Peržiūrėti ciklo turinį
|
Prieš keletą dienų apžvelgėme elektriniams laukams (ir ne tik elektriniams) modeliuoti skirtą programą "QuickField". Šį kartą pabandysime trumpai aptarti šios programos alternatyvą - "FlexPDE". Prisijunk prie technologijos.lt komandos! Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo. Sudomino? Užpildyk šią anketą! Modeliavimui naudojamą programą (jos nemokamą studentams skirtą versiją) galima parsisiųsti adresu: FlexPDE 6.32s (http://www.pdesolutions.com/v6student.html). Programos aprašas anglų kalba pasiekiamas adresu http://www.pdesolutions.com/bookstore.html. 1. „FlexPDE“ įdiegimas ir konfigūravimas. Programos „FlexPDE“ įdiegimas iš esmės yra vienodas visose kompiuterių platformose. Įdiegimo failų rinkinį reikia išskleisti iš įdiegimo failų archyvo ir įdiegti, naudojantis standartinėmis konkrečios operacinės sistemos priemonėmis. Įdiegus „FlexPDE“, ši programa automatiškai susiejama su failų plėtiniu „*.pde“, tad vėliau programą įjungti galima du kartus paspaudus bet kurį jos aplinkoje sukurtą užduoties aprašą. Jei programa įdiegta įsigijus gamintojo licenziją ir ją aktyvavus bus rodomas vartotojo licenzijos tipas (Professional). Papildomas licenzijos lygis vaizduojamas programos lango antraštėje („1D“, „2D“ arba „3D“). Jei programa naudojama nekomerciniais tikslais, tačiau neįsigijus Professional licenzijos, aktyvuojama ribotos veikos nemokama licenzija Student. Laikino tipo licenzijos atveju skydelyje vaizduojamas likęs galiojimo laikas. Pagrindinėje „FlexPDE“ meniu juostoje patalpintos visos pagrindinės per grafinę vartotojo sąsają prieinamos funkcijos. Kai kuriais atvejais dalis funkcijų gali būti neaktyvios – tai priklauso nuo konkretaus užduoties sprendimo etapo. Pagrindinio meniu elementų paskirtis yra tokia:
„FlexPDE“ turi du skirtingus darbo režimus: redagavimo (Edit) ir grafikos (Plot). Redagavimo režime vartotojas gali redaguoti konkretaus užduoties aprašo tekstą. Grafikos režime vaizduojama su uždaviniu susijusi grafinė informacija. Abiejų režimų pagrindinės funkcijos pasiekiamos per Controls meniu (2 pav.). Šių funkcijų paskirtis yra tokia:
Kartais sprendimo procesą tenka pertraukti priverstinai. To gali prireikti tais atvejais, kai vartotojas nustato kokių nors užduoties formuluotės netikslumų ir pageidauja patikslinti jos aprašą. Stop meniu numatyti keli būdai šiam veiksmui atlikti – funkcijos surikiuotos prioriteto tvarka; didžiausio prioriteto funkcija patalpintą sąrašo viršuje (3 pav.).
2. „FlexPDE“ uždavinio aprašymo failai ir jų redagavimas.
Programos „FlexPDE“ uždavinio aprašo failas susideda iš pilno baigtinių elementų modelio aprašo. Jame apibrėžiama konkretų fizikinį reiškinį nusakanti dalinių diferencialinių lygčių sistema, kurios pagrindu bus atliekami skaičiavimai, sprendimo metu naudojami parametrai ir ribinės sąlygos, geometrinis modelis ir pageidaujamas grafinės išvesties formatas.
Uždavinio aprašo redagavimo lango pavyzdys parodytas 4 paveiksle. Iš esmės tai yra standartinis NOTEPAD tipo teksto redaktorius, rodantis tekstinį pasirinkto aprašo failo turinį. Failą galima peržiūrėti ir redaguoti kaip ir įprastinius tekstinius failus, naudojantis bazinėmis teksto įterpimo komandomis. Raktiniai „FlexPDE“ programinio kodo žodžiai yra nuspalvinami raudonai, komentarams automatiškai suteikiama žalia spalva, o tekstinės simbolinio tipo eilutės yra vaizduojamos mėlynai.
Pagrindinio meniu skiltyje Edit (5 pav.) patalpintos visos reikiamos aprašo redagavimo funkcijos.
Pastaba: „FlexPDE“ aprašo (skripto) redaktorius yra analogiškas programavimo aplinkai, tad jo nepatartina laikyti paprastu teksto redaktoriumi. Šis redaktorius neturi sudėtingesnių teksto tvarkymo funkcijų.
Anksčiau minėta Domain Review funkcija (pasiekiama per Controls meniu) yra patogus įrankis apraše sudarytam geometriniam modeliui patikrinti, prieš tęsiant tolesnę analizę. Peržiūrint dvimačius (2D) geometrinius modelius, aprašo failas automatiškai išsaugomas kompiuterio diske. Tada automatiškai pradedama modelio geometrijos sudarymo fazė. Apraše nurodyti geometriniai elementai išvedami atskirame programos lange. Jei matomas vaizdas tenkina vartotojo poreikius, galima spausti mygtuką Continue. Jei modelį reikia koreguoti, spaudžiamas mygtukas Edit ir taip sugrįžtama į aprašo redaktoriaus langą. Toliau automatiškai aktyvuojamas tinklelio generavimo procesas. Baigus generuoti tinklelį, „FlexPDE“ sustabdo modeliavimo procesą ir pakartoja užklausą, per kurią vartotojas vėl gali rinktis arba tęsti, arba grįžti į redagavimo etapą. Trimačių (3D) geometrinių modelių peržiūra yra sudėtingesnė nei 2D. Vykdant tokio modelio peržiūrą, pirmiausia baigiamas formuoti brėžinys, kuriame vaizduojamos kiekvieno iškiliojo paviršiaus ribos ir sluoksniai, eiliškumu nuo žemiausios iki aukščiausios Z koordinatės. Peržiūrimos kiekvieno modelį sudarančio paviršiaus ribos ir atskiri modelio sluoksniai. Jei bet kuriame etape vartotojas pastebi netikslumų, jis gali dialogo lange paspausti Edit ir pakoreguoti klaidą grįžęs į uždavinio aprašo redaktorių.
Peržiūrėjus atskirus paviršius ir sluoksnius, vartotojui pateikiamas bendras viso geometrinio modelio vaizdas (6 pav.).
Kai įsitikinama geometrinio modelio tinkamumu, „FlexPDE“ pereina prie dvimačio baigtinių elementų tinklelio sudarymo. Toks tinklelis sudaromas kiekvienai modelio erdvei atskirai. Peržiūros metu jos vaizduojamos pradedant nuo žemiausios ir baigiant viršutine. Sudarius baigtinių elementų tinklelius, „FlexPDE“ pereina prie trimačio baigtinių elementų tinklelio sudarymo. Pirmiausia vaizduojami atskiri pirmojo sluoksnio segmentai ir tinklelis sudaromas juose. Baigus šią procedūrą, programa išveda grafinį sudaryto tinklelio vaizdą (7 pav.). Šį procesą pakartojus visiems sluoksniams, programa pavaizduoja pilnutinį 3D tinklelį. Vartotojas po bet kurio sluoksnio peržiūros gali grįžti į uždavinio aprašo redaktorių. Aktyvavus funkciją Run arba tęsiant Domain Review, pradedamas uždavinio sprendimas. Sprendimo metu programos langas gali atrodyti taip arba panašiai, kaip parodyta 8 paveiksle. Kairėje pusėje yra būsenos skydelis (Status Panel), kuriame pateikiami užduoties parametrai. Žemiau taip pat vaizduojama skalė, rodanti, kiek liko laiko iki uždavinio sprendimo pabaigos, keli sprendimo parametrus vaizduojantys grafikai (History plots) ir sumažintas skaičiavimuose naudojamo baigtinių elementų tinklelio vaizdas. Konkretų elektromagnetinių (ir ne tik) laukų modeliavimo uždavinį aprašantis tekstinis failas (užduoties aprašas arba skriptas) yra laisvai skaitomas tekstinis failas. Jo turinys susideda iš skirtingų segmentų, kuriuos visus identifikuoja jiems būdingos antraštės. Pagrindinės antraštės pateiktos 1 lentelėje. 1 lentelė. Uždavinio aprašymo failo segmentų aprašas
Komentarų tekstą galima patalpinti bet kurioje užduoties aprašo vietoje. Galimos dvi komentarų formos:
Pavyzdys:
Paprasta kvadrato formos objekte vykstanti šilumos difuzija gali būti aprašoma tokiu programiniu tekstu:
Norint išspręsti dalinių diferencialinių lygčių sistemą, būtina tinkamai aprašyti ribines sąlygas. „FlexPDE“ užduoties apraše ribinės sąlygos priskiriamos aprašant geometrines modelio ribas. Pagrindiniai ribinių sąlygų tipai aprašomi naudojant raktinius žodžius VALUE ir NATURAL. Raktinis žodis VALUE (arba Dirichlė ribinė sąlyga) nusako, kokią vertę turi įgyti kintamasis ties geometrinio modelio erdvės ribomis. Raktinis žodis NATURAL aprašo modelio erdvės ribose esantį fizikinio dydžio srautą. Tiksli šios sąlygos prasmė priklauso nuo to, kokio tipo dalinėmis diferencialinėmis lygtimis aprašomas uždavinys. Aukščiau pateiktą šilumos difuzijos uždavinio aprašą galime papildyti pastoviomis šilumos reikšmėmis išilgai kvadrato apatinės ir viršutinės kraštinių, o šoninėms kraštinėms suteiksime nulinio srauto sąlygą:
Raktiniai žodžiai VALUE arba NATURAL nustato sąlygą, kuri turi būti tenkinama visiems vėliau aprašomiems segmentams, iki kol jos reikšmė yra pakeičiama kita. Du pagrindiniai dalykai, kurie yra reikalingi programai „FlexPDE“ uždavinio sprendimo metu, yra:
Šią informaciją aprašo programinio teksto segmentai VARIABLES ir EQUATIONS. Abu jie yra glaudžiai susiję vienas su kitu, kadangi tinkamai sudarytoje fizikinėje sistemoje kiekvienam kintamajam aprašyti turi būti priskirta viena lygtis. Paprasčiausiuose uždaviniuose galite analizuoti tik vieną kintamąjį – pavyzdžiui, elektrinę įtampą arba temperatūrą. Tokiu atveju galima tiesiog įvardinti šį kintamąjį ir jį aprašančią lygtį:
Sudėtingesniu atveju gali būti naudojama daug kintamųjų ir daug lygčių. „FlexPDE“ bus reikalinga informacija apie tai, kaip susieti lygtis su kintamaisiais, kadangi nuo šio susiejimo priklauso kai kurios galutinio modelio sudarymo detalės. Tada kiekvienai lygčiai turi būti priskirta kintamojo, kurį ji aprašo, žymė. Žymė susideda paprasčiausiai iš kintamojo pavadinimo ir iškart po jo einančio dvitaškio, pavyzdžiui:
Po to, kai pereinama prie ribinių sąlygų nustatymo, šios žymės bus naudojamos ribinėms sąlygoms susieti su atitinkamomis lygtimis. 3. Geometrinio modelio sudarymas, naudojantis „FlexPDE“ įrankiais. Dvimačio uždavinio atveju modeliuojama erdvė aprašoma naudojantis segmentu BOUNDARIES. Šis segmentas sudaromas iš atskirų regionų, kuriems galima priskirti unikalias medžiagų savybes. Kiekviename regione gali būti apibrėžti keli modelio kontūrai, tačiau automatiškai priimama sąlyga, jog į vieną regioną patenkantiems geometriniams objektams bus priskiriamos tos pačios medžiagų savybės. Šiam segmentui būdingi tokie aspektai:
Regionų formos aprašomos „einant“ jų perimetru – pereinant nuo vieno taško link kito linijomis (raktinis žodis LINE), splainais (raktinis žodis SPLINE) arba lankais (raktinis žodis ARC). Priimama sąlyga, jog kiekvienas regiono segmentas bus tęsiamas nuo ankstesnio segmento pabaigos. Šis procesas pradedamas raktiniu žodžiu START. Į pradinį regiono kontūro tašką grįžtanti tiesė nubrėžiama naudojant raktinį žodį CLOSE (arba TO CLOSE). Pavyzdžiui:
Jei atstumas nuo centro iki galutinio taško skiriasi nuo atstumo centro iki pradžios taško, programa tai interpretuos kaip elipsinės formos lanką. Elipsės ašys bus išdėstomos išilgai horizontaliosios ir vertikaliosios koordinačių ašių. Koordinačių ašis galima pasukti naudojant komandą ROTATE = laipsnių_skaičius. Kontūrams galima suteikti pavadinimus; pavadinimais galima naudotis tolesniame aprašo tekste, kadangi tame pačiame apraše jis visada bus susietas su tuo pačiu kontūru: START "Kontūro pavadinimas" (…)
Atsižvelgiant į aukščiau pateiktus pavyzdžius, aprašo segmento BOUNDARIES struktūra sudaroma tokiu principu:
4. Elektrinių bei magnetinių laukų ir medžiagų parametrų priskyrimas geometriniam modeliui. Naudojantis raktiniu žodžiu DEFINITIONS prasidedantį aprašo segmentą, medžiagų parametrams suteikiami pavadinimai ir pradinės vertės. Antra, medžiagų parametrams kiekviename regione suteikiamos lokalios vertės. Ankstesnių pavyzdžių esmė visiškai nepriklausė nuo to, kokio tipo fizikinis reiškinys nagrinėjamas – elektrostatika ar, pavyzdžiui, šilumos pasiskirstymas, ar dar kas nors. Tačiau, siekdami sukonkretinti uždavinį, priimkime, kad tai yra šilumos perdavimo lygtis, aprašanti tarp dviejų šilumos šaltinių patalpintą dielektriką. Apskritimo formos dielektrikui suteiksime elektrinio laidžio vertę 0,001, o jį supančiai laidžiai medžiagai – laidį, lygų 1,0. Pirmiausia apibrėšime konstantos pavadinimą ir jai priskirsime pradinę vertę:
Ši pradinė vertė turės tą patį pavadinimą „k“ kiekviename uždavinio regione, nebent kuriame nors aprašo segmente ją pakeistume kita. Toliau šią konstantą įterpiame į lygtį:
Toliau konstantai k regione 2 priskiriame lokalią vertę:
Ribinės sąlygos, kaip jau minėta, nurodomos apibrėžiant modelio geometriją. Kiekvienas ribinę sąlygą nusakantis sakinys kaip argumentą naudoja kintamojo pavadinimą. Šis pavadinimas susieja ribinę sąlygą su viena iš aprašytų lygčių. Pavyzdžiui, raktinis žodis VALUE(u)=0 nurodo, kokią reikšmę turi įgyti kintamąjį u aprašančios lygties sprendinys ties konkrečia riba; tuo tarpu raktinio žodžio NATURAL(u) reikšmė priklauso nuo kintamąjį u nusakančios lygties formos. Tolesniame pavyzdyje priimkime, jog ties apatiniu modeliavimo erdvės pakraščiu temperatūra lygi nuliui, dešinėje ir kairėje pusėse – šilumą izoliuojanti riba, viršutiniame pakraštyje temperatūra lygi 1. Šiuos parametrus įvesti galime tokiomis komandomis: 5. „FlexPDE“ aplinkoje suformuluoto uždavinio sprendimas. Ankstesniuose pavyzdžiuose mes palaipsniui sudarinėjome užduoties aprašą. Sudėjus visus segmentus į vieną failą ir papildžius juos antrašte TITLE bei grafinės informacijos išvestimi, gautasis tekstas atrodys taip:
Taip šiomis 27 tekstinėmis eilutėmis mes aprašėme išbaigtą ir fizikinę prasmę turintį uždavinį. Šio programinio teksto grafinės informacijos išvestis parodyta 9 paveiksle. Svarbu prisiminti, jog „FlexPDE“ užduoties aprašo tekstas nėra tiesiog aprašas procedūrų, kurias reikia atlikti, norint išspręsti dalinių diferencialinių lygčių sistemą. Šis tekstas aprašo įvairių modelio elementų tarpusavio priklausomybes. Pavyzdžiui, parametras, apibrėžtas kaip P = 10, reiškia, jog kada šis parametras yra panaudojamas aprašo tekste, jis rodo konstantą, kurios reikšmė lygi 10. Jei parametras apibrėžiamas kaip P = 10*X, tada jis visose savo buvimo vietose rodo 10 kartų didesnę X vertę. Jei parametras apibrėžiamas kaip P = 10*U, kur U yra aprašytas kaip kintamasis (segmente VARIABLES), tada šis parametras visoje modelio erdvėje ir kiekviename sprendimo etape reikš iš 10 padaugintą U vertę. Kitaip tariant, apibrėžimas P = 10*U nurodo, jog šio parametro reikšmė turi būti pakartotinai perskaičiuojama kiekvienoje skaičiavimo iteracijoje.
|