ČVUT FS Ústav procesní a zpracovatelské techniky
FEMINA V2.x Programy pro Metodu konečných prvků
Část I. Uživatelský manuál
Autor: R.Žitný březen-listopad 2002
FEM1.DOC last update 24.11.2002
Page 1 of 116
FEM1.DOC last update 24.11.2002
Page 2 of 116
OBSAH Seznam symbolů Použitá literatura 1. Úvod 6 2. Příklady formulace a řešení problémů v programech FEMINA…………………….. 7 2.1. Ovládání programů 8 2.2. Teplotní pole v desce 10 2.3. Uživatelský program (výpočet plochy oblasti) 16 2.4. Vlastní program výpočtu stacionárního teplotního pole 17 2.5. Plouživé proudění 18 2.6. Potrubní síť 19 2.7. Rotační skořepiny 20 2.8. Serie mísičů se zpětným promícháváním – integrální model 21 2.9. FFT konvoluce, dekonvoluce, korelace 23 2.10.Lineární regrese 24 3. Příkazy programu FEMINA a interpret příkazů……………………………………….. 25 3.1. Entity 25 3.2. Zahájení a ukončení úlohy 26 3.3. Nastavení kreslicího okna MODEL 26 3.4. Definice geometrie 26 3.5. Definice vlastností elementů 27 3.6. Definice funkčních závislostí 27 3.7. Příkazy pro výpis entit na displeji 27 3.8. Příkazy pro export import dat 28 3.9. Vykreslování a identifikace entit v okně MODEL 28 3.10.Vytvoření sítě elementů 30 3.11.Zadávání hodnot atributů uzlových parametrů 31 3.12.Výpočet (OPERACE) 32 3.12.1. TRANEQ 32 3.12.2. PIPEQ 33 3.12.3. STRESS 34 3.12.4. RTD 34 3.13.Interpretace příkazového souboru (řídící příkazy) 37 3.14.Optimalizace parametrů matematického modelu systému 3.15.Způsoby zpracování příkazů 41 3.16.Předdefinované proměnné interpretu výrazů 38 3.17.Abecední seznam příkazů a proměnných interpretu výrazů 42 4. Základy teorie vybraných problémů……………………………………………………… 43 4.1. Proudění, transportní rovnice 4.1.1. Plouživé proudění newtonské kapaliny (proudová funkce) 4.1.2. Navierovy Stokesovy rovnice, formulace s proudovou funkcí * 4.1.3. N-S rovnice, formulace s proudovou funkcí a vířivostí (UPWIND) 4.1.4. N-S rovnice – formulace v proměnných rychlosti a tlak, nestlačitelná kapalina, 4.1.5. N-S rovnice – formulace v proměnných rychlosti a tlak, pseudostlačitelná tekutina 4.1.6. N-S rovnice – formulace pouze s ux uy (eliminace tlaku – metoda pokutové funkce) 4.1.7. Proudění s minimální dissipací a kinetickou energií (metoda nejmenších čtverců) 4.1.8. Proudění s minimální kinetickou energií (metoda Lagrangeových multiplikátorů) 4.1.9. Teplotní pole ve známém rychlostním poli kapaliny s ohmickým ohřevem 4.1.10. Rozložení elektrického potenciálu FEM1.DOC last update 24.11.2002
Page 3 of 116
4.1.11. Transport hmoty s chemickou reakcí prvního řádu 4.1.12. Potrubní sítě – rozložení tlaků 4.1.13. Potrubní sítě – teplotní pole, výměníky tepla 4.1.14. Potrubní sítě – transport hmoty 4.2. Strukturní analýza pružných těles 4.2.1. Systém táhel (velké deformace metodou Monte Carlo) 4.2.2. Nosníky, potrubní sítě 4.2.3. Rotačně symetrické skořepiny 4.2.4. Dvourozměrná napjatost a deformace, rotačně symetrická tělesa 4.3. RTD zpracování časových závislostí a modely obyčejných diferenciálních rovnic 4.3.1. Vyhlazování funkčních průběhů 4.3.2. Import dat s kvadratickou interpolací 4.3.3. Aproximace chvostu 4.3.4. Korekce na zvýšení pozadí 4.3.5. Výpočty momentů 4.3.6. FFT konvoluce, dekonvoluce, korelace, filtrace 4.3.7. Řešení soustavy obyčejných diferenciálních rovnic 4.3.8. Lineární a nelineární regresní analýza Příloha: Výpis struktury databáze $FEM
FEM1.DOC last update 24.11.2002
Page 4 of 116
Seznam symbolů a AN cp cN D DN EN E Ε f g h k Li Lij Μij Ni p Pé r R t ∆t T TW Te ux,uy ux,ur U W x,y x,r
teplotní vodivost preexponenciální faktor reakce rozkladu proteinů měrná tepelná kapacita koncentrace proteinů průměr trubky součinitel difúze aktivační energie reakce rozkladu proteinů aktivační energie v Ebert Panchalově modelu foulingu ropy modul pružnosti Fanningův třecí součinitel gravitační zrychlení charakteristický rozměr elementu součinitel přestupu tepla, ale též součinitel prostupu tepla plošná souřadnice v trojúhelníku délka tyčového elementu i-j matice hmotnosti nebo tepelných kapacit bázová funkce tlak Pecletovo číslo elementu radiální souřadnice univerální plynová konstanta =8.314⋅10-3 čas časový krok teplota teplota stěny teplota vnějšího media složky rychlosti v kartézském souřadném systému složky rychlosti v cylindrickém souřadném systému elektrický potenciál testovací (váhová) funkce kartézské souřadnice cylindrické souřadnice
[m2.s-1] [s-1] -1 -1 [J.kg .K ] [kg.m-3] [m] [m2.s-1] [kJ.kmol-1] [kJ/mol] [Pa] [-] [m.s-2] [m] [W.m-2.K-1] [-] [m] [kg] [-] [Pa] [-] [m] [kJ/mol] [s] [s] [C] [C] [C] [m.s-1] [m.s-1] [V] [-] [m] [m]
α α β γ γ λ
koeficient asymetrie testovacích funkcí (upwind) koeficient Ebert Panchalova modelu foulingu ropy součinitel objemové roztažnosti (=1/(273.15+T) pro plyny) smyková rychlost koeficient Ebert Panchalova modelu foulingu ropy tepelná vodivost ale též penalizační parametr dynamická viskozita, ale též Poissonova konstanta hustota proudová funkce vířivost
[-] [m2.K/J] [K-1] [s-1] 2 [Pa.m .K/J] [W.m-1.K-1] [Pa.s] [Pa.s] [-] [kg.m-3] [kg.m-3] [s-1]
µ ρ ψ ω
FEM1.DOC last update 24.11.2002
Page 5 of 116
Použitá literatura 1. Bazeley G.P., Cheung Y.K., Irons B.M., Zienkiewicz O.C.: Triangular elements in bending – conforming and nonconforming solutions, Proc.Conf.Matrix method in Struct.Mech., Air Force Inst. of Tech., Wright Patterson A.F.Base, Ohio, Oct. 1965 2. Bell K.: A refined triangular plate bending element, Int.J.Num.Meth.in Eng., Vol.1, (1969), pp.101-122 3. Bird R.B., Stewart W.E., Lightfoot E.N.: Přenosové jevy, Academia Praha 1968 4. Ebert W., Panchal C.B.: Analysis of Exxon crude-oil, slip-stream coking data, Engineering Foundation Conference on Fouling mitigation of heat Exchangers, California, 18-23 June 1955 5. Fortran PowerStation Programmer’s Guide, Microsoft Corporation 1995 6. Hood P.: Frontal solution program for unsymmetric matrices, Int.Journal for Numerical Methods in Engineering, Vol.10, (1976), pp.379-399 7. Hughes T.J.R., Brooks A.: A multi-dimensional upwind scheme with no crosswind diffusion, In: Finite Element Methods for Convection Dominated Flows, AMD, Vol.34, (1979), pp.19-36 8. Huyakorn P.S. et al.: A comparison of various mixed-interpolation finite elements in the velocitypressure formulation of the navie-Stokes equations, Computer and Fluids, Vol.6, (1978), pp.25-35 9. Kawahara M. et al: Steady and unsteady finite element analysis of incompressible viscous fluid, Int.Journal for Numerical Methods in Engineering, Vol.10, (1976), pp.437-456 10. Schneider P., Vykutil J.: Stavba chemických zařízení II, Brno 1990 11. Thýn J. et al: Analysis and diagnostics of industrial processes by radiotracers and radioisotope sealed sources, CTU Prague 2000 12. Zienkiewicz O.C., TaylorR.L.: The Finite Element Method, 5-th edition, Butterworth Heinemann, Oxford, 2000 13. Zienkiewicz O.C.: Metod konečnych elementov, MIR Moskva, 1975, překlad z The Finite Element Method in Engineering Science, McGraw-Hill, London, 1971. 14. Žitný R., Šesták J., Tsiapouris A., Linke L.: Thermal pressure forming of a starch based materials A simplified thermodynamic model, 12th IHTC Grenoble 2002 15. Žitný R.: Knihovna VTV podprogramů, část II. MKPF-metoda konečných prvků pro jedno a dvoudimensionální problémy, 16.sdělení, ČVUT FS Praha 1980 16. Žitný R.: Knihovna VTV podprogramů, část IV. MKPF-metoda konečných prvků pro jedno a dvoudimensionální problémy, 17.sdělení, ČVUT FS Praha 1980 17. Žitný R.: MINIPF.LIB, interní zpráva, ČVUT FS Praha, 2002
FEM1.DOC last update 24.11.2002
Page 6 of 116
1. Úvod Program FEMINA je malý1 vývojový nástroj pro testování nových algoritmů a výuku metody konečných prvků (FEM) se zvláštním zřetelem na analýzy různých variant výpočtu proudění a teplotních polí. FEMINA byl původně koncipován jen jako 2D systém, především proto, že modul geometrie pro 3D by byl příliš komplikovaný. V současné době existují dvě varianty programu FEMINA, verze 1 a 2. FEMINA1 byla uvolněna pro výuku předmětu Numerická analýza zařízení již v roce 2001 (v současné době již ale není podporována a stažena z WWW). Varianta FEMINA2 je modifikace programu FEMINA1, vynucená tím, že se v koncepci datových struktur FEMINA1 projevila omezení, která by znemožňovala některé aplikace na problémy proudění (byla totiž zavedena konvence, že ve všech uzlech budou stejné uzlové parametry, takže nebylo možné definovat elementy s tlaky a rychlostmi ve vrcholech a pouze rychlostmi ve středech stran). FEMINA ve verzi 1 prostě všechny datové struktury (s výjimkou matice konektivity) deklaruje jako dvourozměrné matice, jejichž řádek odpovídá uzlu, nebo např. skupině materiálových konstant, a význam sloupců je pevně dán, např. první sloupec matice uzlových parametrů představuje teploty,… To má nespornou výhodu v čitelnosti a jednoduchosti programu, předností je i to, že uzlové parametry určitého typu jsou v paměti řazeny jako vektor a mohou být snadno využívány interaktivním interpretem příkazů (např. na teploty se lze odvolávat jako na vektor, s fixním počátečním umístěním v paměti). Varianta FEMINA2 používá koncepci s proměnným počtem uzlových parametrů i za cenu jistých omezení interpretu příkazů. FEMINA2 má navíc strukturu databáze 3D, tzn. že zahrnuje souřadnice X,Y,Z, rychlosti Vx,Vy,Vz, a geometrické entity typu šestistěn, jenomže zatím není vybaven operacemi pro vytváření trojrozměrné sítě, modifikaci uzlových parametrů ve 3D a ani potřebnou grafikou (jedinou možností je import 3D dat). Z uživatelského hlediska jsou ale obě verze FEMINA1 i FEMINA2 téměř totožné, a např. dále uváděné příklady fungují v obou verzích téměř stejně (včetně parametrů příkazů). Kompatibilita není zcela zajištěna pouze u interpretu příkazů a jiná je pochopitelně i struktura databáze, což je třeba respektovat při vývoji aplikačních programů využívajících export/import této databáze.
Program FEMINA je psaný v Power Station Fortranu pro Windows (režim QuickWin), a využívá knihovnu MINIPF.LIB, v níž jsou procedury pro frontální metodu, generování stítě a grafiku (překlad i sestavení je zajištěno jediným příkazem fl32 /MW /4Yb %1 /link minipf.lib). Dokumentaci knihovny MINIPF zajišťuje program LIST.EXE, vypisující seznam procedur ZQUICK.TXT a stručný referenční manuál ZREFER.TXT. Překlad knihovních podprogramů zajišťuje procedura FT.BAT, doplňování knihovny lze provádět programem LIB minipf.lib novaproc.obj, resp. LIB /REMOVE:procedura.obj minipf.lib. Aktuální verze programu, knihovny a dokumentace je přístupná na adrese http://www.fsid.cvut.cz/en/u218/public/default.htm#SOFTWARE Následující kapitoly se věnují ukázkám použití (kapitola 2 je něco jako rychlý úvod a přehled o možnostech programu FEMINA), kapitola 3 je stručný popis příkazů programů FEMINA (jakási quick reference). Kapitola 4 popisuje metody řešení diferenciálních rovnic přenosu tepla a hybnosti, použité pro konstrukci programu FEMINA. V druhém dílu manuálu je uveden popis těch klíčových procedur knihovny MINIPF.LIB, které souvisí s metodou konečných prvků (generátory sítí, frontální metodu, bazové funkce,…) a grafikou (kreslení vrstevnic a grafů funkcí). Tato knihovna může být využita i pro implementaci vlastních algoritmů metody konečných prvků, zejména pro vývoj nových programů, které by byly volány z programů FEMINA. Třetí díl manuálu popisuje některé implementační detaily, použité datové struktury a především obsahuje aktuální výpis programu FEMINA.
1
Aktuální verze FEMINA má cca 10000 řádek textu zdrojového programu, a opírá se o knihovnu MINIPF.LIB jejíž délka je cca 8400 řádek programu (včetně komentářů). Velké programy jako je COSMOS nebo FLUENT mají více než 100000 řádků a jsou tedy zhruba o řád větší. Aplikace navazující na FEMINA mohou být ale docela krátké, např. nezávislý program pro výpočet teplotního pole uvedený v kapitole 2.6 má 45 řádek, což znamená, že je to práce maximálně na jeden den (včetně analýzy).
FEM1.DOC last update 24.11.2002
Page 7 of 116
2. Příklady formulace a řešení problémů v programech FEMINA Programy FEMINA jsou trochu podobné podstatně rozsáhlejšímu programu COSMOS z hlediska cílů (řešených aplikací) i způsobu ovládání. Zahrnují tyto etapy zpracování problému: •
•
•
•
•
• •
•
Vytvoření geometrického modelu. Definice oblasti řešení prostřednictvím entit BOD (PT), KŘIVKA (CR), PLOCHA (SF), OBJEM (VL). Základem je bod, neboť všechny nadřazené entity jsou definovány výčtem bodů, a tudíž změna souřadnic bodu se automaticky promítne do změny geometrie křivek a ploch (a to je zásadní rozdíl proti COSMOSu). Vytvoření konečněprvkového modelu. V této etapě se specifikovaná oblast geometrického modelu pokrývá konečnými elementy (EL) a uzlovými body (ND), které elementy spojují. Každý vytvořený element je definován výčtem uzlů určujících jeho geometrii (matice konektivity) a dále je mu přiřazena skupina parametrů EGROUP (upřesnění algoritmu), skupina MPROP (materiálové vlastnosti) a RCONST (další charakteristiky elementu, které nelze odvodit jen ze souřadnic uzlů). Každému uzlu je kromě souřadnic x,y,z přiřazeno několik parametrů DOF (Degree Of Freedom – stupňů volnosti), které jsou cílem výpočtu, např. teploty,tlaky, rychlosti, posunutí. To, které DOF budou vytvářeným uzlům přidělovány, je dáno zvoleným typem analýzy. Zadání počátečních a okrajových podmínek či zatížení. V libovolném uzlu je možné „zafixovat“ libovolný uzlový parametr (to je pak silná okrajová podmínka) nebo jen nastavit jeho výchozí hodnotu, která se bude během výpočtu měnit (počáteční podmínky). Stejně tak je možné libovolnému uzlovému parametru přiřadit odpovídající zatížení nebo obecněji řečeno zdrojový člen, např. teplotě přiřadit bodový zdroj tepla, posunu ve směru x osamělou sílu ve směru x atd. Nastavované hodnoty uzlových parametrů nemusí být konstanty, ale mohou to být funkce času, teploty či souřadnic, a tyto funkce lze definovat buď výrazem nebo tabulkou funkčních hodnot. Výpočet vybraných uzlových parametrů (teplot, rychlostí, tlaků, koncentrací) řešením diferenciálních rovnic, které popisují zvolený problém (může být stacionární i nestacionární). Převod diferenciálních rovnic na soustavu algebraických rovnic pro uzlové parametry je založen na metodě vážených residuí a sestavení i řešení této soustavy rovnic se provádí tzv. frontální metodou. Postprocesing probíhá většinou automaticky hned po vyřešení soustavy rovnic a spočívá ve výpočtu veličin odvozených z uzlových parametrů (např. stanovení hodnot napětí v elementech z vypočtených posuvů v uzlových bodech, nebo rychlostí v uzlech z vypočtených hodnot proudové funkce a jejích derivací). Grafické a číselné výstupy. Zobrazení vrstevnic odpovídajících zvolenému uzlovému parametru nebo parametru elementu. Vykreslení časových průběhů libovolného uzlového parametru v libovolných uzlech. Operativní výstupy parametrů přímo na displeji. Import a export dat. Vstupní data (popis geometrického modelu i konečněprvkového modelu) i výsledky výpočtu je možné zapsat do textových souborů. Celou databázi je možné uložit a zase načíst i v binárním tvaru. Při běhu programu se vytváří protokol zadávaných příkazů, které se ukládají do souborů (session-file) jež lze později znovu načíst a řádek po řádku interpretovat. Součástí těchto souborů mohou být i pokyny k řízení výpočtu (cykly, příkazy skoku, podmíněné příkazy), které se jinak v manuálním režimu provádět nemohou. Takto připravený soubor může představovat parametrický popis určitého problému, jehož řešení lze snadno opakovat pro různé hodnoty vstupních parametrů (a hledat tak např. optimální řešení minimalizující odchylku mezi predikcí modelu a experimentálními daty). Začátkem roku 2002 byly do verze 2 programu FEMINA začleněny i některé operace týkající se modelování systémů popisovaných soustavou obyčejných diferenciálních rovnic a řešených metodami Runge Kutta. Současně se tím vytvořily nástroje pro porovnání predikcí numerického řešení (časových průběhů) s experimentálními daty, např. regrese.
FEM1.DOC last update 24.11.2002
Page 8 of 116
2.1. Ovládání programů Programy FEMINA jsou ovládány příkazy, nikoliv prostřednictvím menu. Příkazy se píší do řídícího panelu a mají jednoduchou strukturu klíčové slovo seznam parametrů, oddělovaných mezerami nebo čárkami, ukončený event.středníkem; Klíčové slovo je na 6 znaků (přesněji, rozlišuje se 6 prvních znaků), používají se i synonyma, např. MPL je totéž jako MPLIST (výpis materiálových parametrů). Maximální počet parametrů příkazu je 20 a každý parametr se zpracovává jako výraz nebo krátký program, což znamená, že se v něm mohou vyskytnout číselné konstanty a předdefinované proměnné. Často je ovšem třeba jen specifikovat určitou veličinu (stupeň volnosti): tento výběr lze provést napsáním indexu této veličiny (1-teplota, 2posun ve směru x, atd), nebo přímo napsáním jména proměnné TEMP /teplota/, UX,UY,UZ /posuvy/, RX,RY,RZ /rotace/, VOLT /napětí/, VX,VY,VZ /rychlosti/, PRES /tlak/, OMG /vířivost/, PS,PSX,PSY,PSXX,PSYY,PSXY /proudová funkce a její derivace/, CA,CN,CD /koncentrace/, KT /kinetická energie turbulence/, EPS /dissipace kinetické energie/. Hodnotám těchto proměnných jsou totiž před zpracováním příkazu přiřazeny odpovídající indexy, takže je lhostejné zda napíšeme např. NFCR 17,TEMP nebo
NFCR 17,1 (čti jako Nodal degree of Freedom on CuRve 17 for TEMPerature).
Zpracování příkazové řádky začíná identifikací klíčového slova. Pokud toto slovo není na seznamu, pokouší se FEMINA interpretovat text řádku jako program dle syntaxe, jejíž popis je uveden u knihovních procedur MINIPF.LIB pro překlad a interpretaci výrazů a programů. Můžeme tedy napsat jako příkaz např. FOR I=1,4 DO DISP V1(I) který v cyklu od 1 do 4 zobrazí hodnoty vektoru V1(I). Proměnná I i vektor V1(*) jsou předdefinované (úplný popis viz. kap.2), zde jen krátce: jako jednoduché pracovní proměnné jsou k dispozici všechna písmena abecedy A,B,…Z, proměnné NPT, ND, NE udávají počet bodů, uzlů, elementů, DT časový krok atd. Vektory VH(*), VD(*) obsahují charakteristické rozměry (H,D) pro elementy určité skupiny, a podobně VKX(*),VCP(*),VDEN(*),VE(*),VISC(*) materiálové parametry (vodivost, tepelnou kapacitu, hustotu, modul pružnosti, viskozitu) zvolené skupiny elementů. Protože program může být i přiřazovací příkaz, lze hodnoty všech těchto proměnných snadno měnit, a např. VKX(1)=0.6 nastaví hodnotu tepelné vodivosti skupiny materiálových parametrů číslo 1. Proměnné A,B,…,Z lze použít i pro parametrizaci programu např. při definici geometrie. Přiřazení hodnoty se dá provést současně se zadáním hodnoty parametru. Např. PT 1,X=0.2,Y=0.5 definuje bod číslo 1 se souřadnicemi 0.2,0.5, které jsou ale přiřazeny proměnným X,Y a ty lze použít v následujících příkazech, např. PT 2,X+3,Y. Podobně jako u programu COSMOS není nutné zadávat všechny parametry na příkazovém řádku a stačí napsat jen klíčové slovo. Další parametry se pak zadávají v režimu řízeného dialogu. Pokud je navíc za posledním parametrem v příkazovém řádku uveden středník, dialog doplňování chybějících parametrů neproběhne a dosadí se implicitní hodnoty. Interpret příkazů umožňuje spouštění jakýchkoliv cizích programů (EXE) příkazem RUN prog.EXE. Libovolný problém lze tedy napsat jako nezávislý program, zpracovávající data exportovaná příkazem WRITEB (kompletní zápis zóny dat do souboru problem.BIN v binárním tvaru).
FEM1.DOC last update 24.11.2002
Page 9 of 116
Poněkud odlišně se zpracovávají příkazy, které využívají myš jako lokátor. Je to např. příkaz pro definici vztažného bodu PT, kde jsou dvě možné varianty: buď se na příkazovém řádku napíší všechny tři parametry (PT index,x,y) a žádný dialog ani aktivace myši neproběhne, nebo se napíše jen index a pak je aktivován lokátor (nitkový kříž se souřadnicemi x,y) potvrzovaný levým tlačítkem myši. Tímto způsobem lze „naklikat“ libovolný počet bodů – zadávací sekvence končí stisknutím pravého tlačítka myši. Podobným způsobem funguje identifikace uzlového nebo vztažného bodu NIDENT, PIDENT, elementu EIDENT, křivky CIDENT, atd (příkazy bez parametrů, kdy okamžitě dochází k aktivaci grafického okna a lokátoru; prohlížení končí opět stisknutím pravého tlačítka myši). Programy FEMINA fungují (někdy) pod operačními systémy Windows 95,98,2000. Po spuštění se zobrazí následující okna ovládaná standardním způsobem (vždy jen jedno okno je aktivní, což je indikováno fialovou horní lištou, okna aktivujeme kliknutím na lištu nebo do plochy okna):
MODEL – znázornění sítě, v tomto okně je možné definovat vztažné body myší.
Stavový řádek aktuálních hodnot: Počty bodů (PT), křivek (CR), ploch (SF), elementů (NE), uzlů (ND), indexy definovaných funkcí (F) nebo tabulek (T), počet skupin EGROUP,RC,MPROP, čas a stupně volnosti DOF definované v uzlech (ne všechny musí být počítané).
CONSOLE: sem se píší příkazy. Všechny napsané příkazy se ukládají do souboru s příponou SES. První příkaz je jméno problému, poslední příkaz EXIT.
LIST: Výpisy aktivované příkazy FUNLIST, PTLIST, Pohyb v okně příkazy U n (nahoru) D n (dolů), resp. PU, DU (o stránku PageUp/Down)
GRAF-zobrazení výsledků, nebo funkcí
HELP. Tady najdete jen seznam jmen příkazů a předdefinovaných proměnných
Informace o tom, jaká činnost operátora programu se očekává (teď např. napsání textu do okénka CONSOLE).
Po tomto úvodu je možné odstartovat FEMINA.EXE a vyzkoušet některé příklady:
FEM1.DOC last update 24.11.2002
Page 10 of 116
2.2. TEPLOTNÍ POLE – kondukce (THOLE3) Teplotní pole v desce s výřezem. V každém uzlu je využíván jediný stupeň volnosti TEMP. Ukázka stacionárního i nestacionárního řešení, zadávání počátečních i okrajových podmínek funkčním předpisem, iterační řešení nelineárního problému. Použité operace: SCALE xmin,xmax,ymin,ymax PT i,x,y
jak nastavit rozsahy os X,Y
definice vztažných bodů (i=index bodu) geometrického modelu (použití myši)
CIRCLE i,bod ve středu, bod na obvodě SF8FP i,i1,i2,…,i8
kružnice zadaná dvěma body (a tvořená 4 křivkami)
definice plochy 8-mi body (první čtyři v rozích zakřiveného čtyřúhelníku)
Poznámka: Seznam vytvořených entit (bodů křivek, ploch, uzlů, elementů,…) je možné vypsat na displeji příkazy, které končí na LIST, např. PTLIST, CRLIST, SFLIST pro body, křivky resp. plochy.
MSF index plochy, Nx,Ny, Lx,Ly, počet uzlů generování konečných elementů, které pokrývají specifikovanou plochu. Každý vytvářený element bude stejného typu (bude míst stejné číslo skupiny materiálových vlastností MPROP, skupiny reálných konstant RCONST i skupiny EGROUP upřesňující algoritmus výpočtu matic elementů). Počet uzlů elementu určuje i topologii elementu: např. 3 a 6 jsou trojúhelníky (se třemi, resp šesti uzly), 4 a 8 čtyřúhelníkové elementy. Záporná hodnota indikuje uzel v těžišti elementu, např. –4 znamená čtyřuzlový trojúhelníkový element se třemi uzly ve vrcholech a čtvrtým v těžišti. Parametry Nx,Ny určují na kolik úseků budou děleny dvě přilehlé strany čtyřúhelníkové plochy a Lx,Ly určují nerovnoměrnost dělení těchto stran. Kladná hodnota udává poměr délky posledního a prvního úseku (tj. Lx=1 rovnoměrné dělení, Lx<1 zhuštění elementů směrem ke konci strany). Orientace strany, tj. určení toho co je míněno pod pojmem začátek a konec, je zobrazeno graficky symbolem kosočtverce poblíž počátku. Záporná hodnota Lx je pokynem k tomu, aby byly generovány elementy s délkou stran symetricky se zhušťujících směrem ke krajům (Lx<-1) nebo ke středu (-1
Page 11 of 116
COSMOS/M. Pokud příslušná funkce není definovaná, uvažuje se rovna jedné, a výpočet pak probíhá přímo se zadanými konstantními hodnotami P1,P2,P3, což jsou hodnoty parametru ve vztažných bodech křivky (dva krajní body a bod uprostřed) – tyto tři hodnoty definují kvadratický interpolační polynom, pokud jsou stejné, zadává se ve všech uzlech konstanta. FUNDEF index funkce, f(XX,YY,TIME,TEMP) Takto se definuje funkce jako algebraický výraz (s běžnými operátory + - * / **, závorkami ( ) a funkcemi, sin,cos,abs,exp,log,…). Jako proměnné jsou předdefinována jména XX,YY – souřadnice, TIME-čas, TEMP-teplota a řada dalších, zpravidla méně důležitých veličin. Index funkce je ve stejném rozsahu jako typ zadávaných uzlových parametrů tj. od –10 do 50. Tyto funkce je možné použít např. v příkazech NFCR (viz výše) nebo MPROP (viz dále). Někdy se požadovaný průběh nedá dost dobře vystihnout jedním algebraickým výrazem a pak je možné použít tabulku hodnot v níž se interpoluje, viz. operace CURDEF. Pak ale zase není možné definovat funkční závislost pro více proměnných současně, např. současně pro XX i YY. MPROP index skupiny materiálových parametrů, p1, f1, p2, f2, … Materiálové vlastnosti skupiny elementů. FEMINa uvažuje 11 parametrů p1 až p11: tepelnou vodivost, tepelnou kapacitu, hustotu, elektrickou vodivost, modul pružnosti, Poissonovu konstantu, viskozitu, teplotní objemovou roztažnost, difuzní součinitel, aktivační energii a frekvenční faktor pro popis kinetiky jedné chemické reakce. Každému parametru je přiřazen index funkce f1,f2,… - pokud je nenulový a pokud je příslušná funkce definována, násobí se jí zadávaná hodnota parametru. Takto se definuje především teplotní závislost materiálových parametrů (ale třeba i závislost viskozity na druhém invariantu rychlosti deformace). RCONST index skupiny reálných konstant, p1, p2,.. Reálné parametry elementů, které se nedají odvodit jen ze souřadnic uzlových bodů, např. tloušťka desky, průměr trubky apod. EGROUP index skupiny elementů, i1,i2,… Celočíselné parametry elementů, které zpravidla blíže specifikují algoritmus výpočtu lokálních matic elementů. Předávají např. informaci o tom, zda se má počítat matice tepelných kapacit, potřebná pro výpočet nestacionárního teplotního pole, zda se má uvažovat kartézský či cylindrický souřadný systém, či jakým způsobem se mají počítat integrály (počet bodů Gaussovy numerické integrace). THERMAL t0,počet časových kroků,∆t Spuštění externího programu (COMPEX.EXE), který přečte aktuální databázi a provede výpočet teplotního pole. Výsledky ukládá do souboru s příponou OUT, kde je lze prohlížet libovolným textovým procesorem. Po ukončení programu COMPEX a návratu do FEMINy je databáze aktualizována a výsledky řešení lze zobrazovat v grafické formě nebo jako tabulky: GRAPH jméno parametru, zona parametrů Znázornění vrstevnic specifikovaného parametru na základě aktuálních hodnot v databázi. Zona parametrů je 1 až 4: V zoně 2 jsou aktuální výsledky řešení, v zoně 3 počáteční podmínky, v zoně 4 hodnoty z předchozí iterace. V zoně 1 jsou jen zadávané okrajové podmínky, což pro kreslení nemá valný význam. GRATIM jméno parametru Zobrazení časových průběhů parametru v uzlech vybraných myší. Protože výsledky z předchozích časových kroků nejsou v databázi, využívá se soubor OUT. NID
Identifikace uzlu myší a zobrazení aktuálních hodnot parametrů tohoto uzlu.
FEM1.DOC last update 24.11.2002
Page 12 of 116
EXIT Ukončení programu FEMINA.
FEM1.DOC last update 24.11.2002
Page 13 of 116
Program vždy začíná zadáním jména problému (např.THOLE3), které se stane i jménem vytvářených souborů, konkrétně THOLE3.SES (kopie příkazů), THOLE3.DBG (kopie výpisů posílaných na displej, např. výpis uzlů), THOLE3.OUT (výsledky numerického řešení, např. vypočtené teploty). SCALE -0.1,1.1,-0.1,1.1; Měřítko X,Y pro grafy PT 1,0,0; (xmin,xmax,ymin,ymax) PT 2,.5,0; PT 3,1,0; PT 4,1,.5; Vztažné vody (points). Je možné použít myš a potvrdit bod L-click, RPT 5,1,1; PT 6,.5,1; click ukončí zadávací sekvenci. PT 7,0,1; PT 8,0,.5; Střed kružnice PT 9,.2,.2; PT 10,.2,.8; PT 11,.8,.8; Bod na kružnici, která bude PT 12,.8,.2; rozdělena na 4 kvadr.křivky PT 13,.5,.5; PT 14,.65,.65; Plocha z 8mi bodů CIRCLE 1,13,14; SF8PT 1,1,3,20,18,2,12,19,9; SF8PT 2,3,5,22,20,4,11,21,12; SF8PT 3,5,7,16,22,6,10,15,11; SF8PT 4,7,1,18,16,8,9,17,10; MSF MSF MSF MSF
Generování sítě 10 x 9, rovnoměrné (1,1), z trojúhelníků (3 uzly, přípustné hodnoty 3,4,6,8)
1,10,9,1,1,3; 2,10,9,1,1,3; 3,10,9,1,1,3; 4,10,9,1,1,3;
Vyřadí uzly se stejnými souřadnicemi x,y z matice konektivity. Tyto uzly jsou zrušeny a dojde k přečíslování.
NMERGE ;
NFCR fixuje hodnoty vybraného uzlového parametru na křivce 17
Teplota (1)
Zadávané hodnoty představují okrajové podmínky (znaménko minus) s transformací číslo –1. V našem případě transformace č. -1 nebyla definovaná, takže teploty na hranici jsou fix. V krajních bodech se zadává hodnota 10, uprostřed 0 0C. Tím je definován kvadratický průběh teploty na křivce číslo 17. 10
20
0
50
NFCR 17,TEMP,-1,10,10,0; NFCR 9,1,-1,100,20,50;
10
FEM1.DOC last update 24.11.2002
100
Page 14 of 116
MPROP 1,.600E+00,0,4200,0,998,0;
Skupina materiálových vlastností č.1, Kx-tepelná vodivost, číslo transformace Kx (0-žádná), cp, transformace cp, ρ, transformace ρ. Eventuální transformace by umožnily definovat vlastnosti závislé na T,t,x,y,… EGROUP 1,0,4,0; RCONST 1,1; EGROUP Skupina elementů č.1. Dle těchto údajů se řídí procedura výpočtu lokálních matic. 0-stacionární teplotní pole, 4 = čtyřbodová Gaussova integrace (přípustné hodnoty pro trojúhelníkové elementy 1,3,4,7, pro čtyřúhelníky 1,2,3), 0-rovinná úloha (1=osová symetrie). RCONS podobně pro reálné konstanty (1= znamená tloušťku desky)
THERMAL 0,1,1 Spuštění teplotní analýzy. 0 je počáteční čas, 1=počet časových kroků, 1=časový krok. Protože byla požadována jen stacionární analýza (viz. EGROUP) na velikosti časového kroku vůbec nezáleží a při výpočtu matice soustavy se neuplatní matice tepelných kapacit. Před sestavením a řešením soustavy algebraických rovnic nejprve proběhnou transformace (procedura LOADIN) počátečních podmínek, okrajových podmínek (číslo transformace <0) i vnitřních zdrojů tepla (číslo transformace >0). Transformací se rozumí násobení zadávané číselné hodnoty okrajové podmínky nebo zdroje tepla nějakou funkcí času, teploty, souřadnic, přičemž funkce může být definovaná buď výrazem (viz FUNDEF) nebo tabulkou, v níž se lineárně interpoluje (viz CURDEF). Při vlastním řešení soustavy frontální metodou je v každém elementru volána procedura, jejímž úkolem je vytvořit lokální matice tepelných kapacit a tepelných vodivostí, které ovšem mohou záviset na teplotě. Proto se nejprve počítá střední teplota elementu (na základě předchozí iterace) a poté se volají transformační funkce materiálových parametrů. Tímto způsobem lze řešit i nelineární problémy s proměnnými termofyzikálními vlastnostmi, musí se ovšem zadat větší počet „časových“ kroků – vlastně iterací. Po provedení každého časového kroku se vypočtené teploty zapíší do souboru xxxxx.OUT ve znakovém tvaru a současně přenesou do zony „počátečních podmínek“. Výsledky (teploty v uzlových bodech) jsou dostupné ve vytvořeném souboru xxxx.OUT, a lze je i vykreslit. První parametr příkazu GRAPH určuje proměnnou (zde teplota), jejíž rozložení (x,y) má být znázorněno formou isoterm. Druhý parametr (2) určuje zda se má vykreslit výsledek (2) nebo počáteční podmínky (3). Hodnota 1 odpovídá vykreslování vrstevnic z výchozího pole, kde jsou zadávány okrajové (netransformované) okrajové podmínky – tato varianta slouží spíš jen pro kontrolu těchto podmínek.
GRAPH TEMP,2
Výsledné izotermy získané použitím příkazu GRAPH jsou zobrazeny na předchozí straně. Takto vypočtené řešení odpovídá okrajovým podmínkám prvního druhu (zafixované teploty na části hranice) nebo okrajovým podmínkám druhého druhu (tzv.Neumannovým) na dokonale izolované části hranice. Trochu komplikovanější jsou okrajové podmínky třetího druhu (Newtonovy), odpovídající přestupu tepla do vnějšího prostředí s teplotou Te přičemž je znám součinitel přestupu tepla α.
TE(1)=200
Vnější teplota se zadává jako parametr elementu (jehož některá strana je součástí uvažované části hranice) a můžeme ji zadat jednoduše přiřazovacím příkazem
Součinitel α se zadává přímo jako uzlový parametr v uzlech, zde např. v uzlech ležících na křivce číslo 10 (horní strana) NFCR 10,TEMP,21,100,100,100 Uzlovým parametrům typu teplota, které leží na křivce 10 je přiřazen status 21, což znamená, že je tam předepisována okrajová podmínka třetího druhu (mohlo to být jakékoliv číslo od 21 do 50, záporné hodnoty by označovaly silné okrajové podmínky). V těchto uzlech je nastavena hodnota α=100 (trojice konstant naznačuje, že bylo možné použít i kvadratický průběh α, hodnoty 100,100,100 odpovídají třem definičním bodům křivky). NID
Příkaz NID (Node IDentification) s výpočtem nesouvisí – je jen ukázkou toho, jak se rychle přesvědčit o tom, jaké parametry charakterizují uzlový bod – stačí na něj ukazát myší a kliknout. Informace se objeví ve stavovém okénku.
Node 0477 XY:
FEM1.DOC last update 24.11.2002
.2000
1.0000
Zone 1: TEMP status[ 21] value=
.200E+03
Page 15 of 116
Pokračování předchozího případu, tentokrát pro nestacionární řešení s počáteční podmínkou definovanou funkčním předpisem Přepíšeme první atribut elementů na TRANSIENT (1)
EGROUP 1,1,4,0
FUNDEF 1,100*(1+sin(10*XX*YY)) FUNLIST Definice transformace č.1 (v tomto případě výraz). Ve výrazu lze použít proměnné TIME,TEMP,XX,YY,UX,UY INITIA TEMP,1
GRAPH TEMP,3
Počáteční podmínky: první parametr (TEMP) znamená teplotu, druhý číslo funkce. Prochází se seznam uzlových bodů a jejich uzlových parametrů. Pokud mají příznak okrajové podmínky (<0) násobí se zadané hodnoty transformačními funkcemi okrajových podmínek, když ne (tj. když jde o počítaný parametr), dosadí se do pole počátečních podmínek přímo hodnota specifikované transformace (zde transformace číslo 1). Funkce GRAPH vykresluje izotermy v poli poč.podmínek (3)
10 kroků výpočtu s časovým krokem 10000 s. THERMAL 0,10,10000 Vykreslování nýsledků nestacionárních řešení, 1 znamená teplotu. Pak je třeba myší GRATIM 1 (nejde to z klávesnice) lokalizovat uzly v nichž chceme vykreslit časové průběhy (opět L-click výběr, R-click konec výběru). Spustí se animace isoterm a vykreslí se graf T(t) s průběhy teplot ve vybraných bodech. Na rozdíl od GRAPH (která kreslí to, co je v operační paměti) zpracovává GRATIM data z výstupního souboru xxx.OUT. Výsledky všech časových kroků se zapsaly do souboru xxx.OUT ve znakovém tvaru (viz ukázka, 440 uzlových bodů a 10 časových kroků). Z tohoto souboru lze příkazem LOADT načíst uzlové hodnoty z libovolného časového kroku do zony počátečních podmínek a pokračovat ve výpočtu např. s jiným časovým krokem – příkaz CONTHE (dal.ších 10 kroků, s délkou 20000 s). CONTHE 10,20000
THERMAL ANALYSIS test ND= 440 .0 1000.000 (time, dtime) INITIAL 1 10.000 2 100.000 .... 440 194.081 1000.0 1000.000 (time, dtime) 1 10.000 2 101.050 .... 440 .000 .... 10000.0 1000.000 (time, dtime) 1 10.000 .... 440 .000
Ukázka nestacionárního teplotního pole s časově proměnnou okrajovou podmínkou (sinusovitě se měnící teplota na části vnitřní kružnice, na křivce číslo 3). FUNDEF –2,50*(1+SIN(1E-6*TIME)) FUNLIST;
Index_RPN_Function -02 015 : 50*(1+SIN(1E-6*TIME)) -01 005 : 1 01 018 : 100*(1+SIN(10*XX*YY))
NFCR 3,TEMP,-2,1,1,1 Na křivce 3 (čtvrtkružnice) je zadávána teplota (1) jako okrajová podmínka číslo –2 (a to je funkce času TIME). Trojice 1,1,1 jsou teploty v definičních bodech křivky, které budou násobeny funkcí číslo –2. INITIA TEMP,1 THERMAL 0,100,1e5 GRATIM TEMP
FEM1.DOC last update 24.11.2002
Page 16 of 116
Ukázka iteračního výpočtu s nelinearitami, které jsou způsobeny teplotní závislostí materiálových parametrů (tepelné vodivosti – Kx). Tepelná vodivost byla původně konstantní (λ=0.6 W/m/K) – nahradíme ji lineární teplotní závislostí . u −u u +u Eh Eh u −u Nα = 2(εβ +µεα)= 2[µ( x2 x1cos α+ r2 r1sin α)+ r2 r1] L L 2R 1−µ 1−µ
Znovu nastavíme atribut elementů skupiny 1 na stacionární režim (kdy se nepočítá matice tepelných kapacit)
EGROUP 1,0,4,0 FUNDEF 2,0.6+0.01*temp MPROP 1,1,2,4200,0,998,0
materiálovému parametru Kx přiřadíme hodnotu 1 a funkci 2 (tzn. že vodivost bude 1 * funkce číslo 2 střední teploty elementu).
THERMAL 0,5,1 EXIT
Necháme proběhnout 5 iteračních kroků (velikost časového kroku DT=1, ale na její hodnotě v tomto případě vůbec nezáleží). Po vykreslení izoterm (GRAPH) je patrná změna rozložení teplot.
Regulérní ukončení programu FEMINA
Původní řešení s konstantní vodivostí
Řešení s teplotně závislou vodivostí
Poznámka: I Femina na titulní stránce tohoto manuálu byla vykreslována na základě řešení teplotního pole
FEM1.DOC last update 24.11.2002
Page 17 of 116
2.3. Uživatelský program Jak napsat svůj vlastní program, jak načíst data exportovaná z programu FEMINx a jak předat zpátky výsledky. Budeme uvažovat jednoduchou aplikaci, jejímž úkolem nebude nic jiného než vypočítat a sečíst plochy všech trojúhelníkových elementů. Text programu, který má tuto akci zajistit, napíšeme v jazyce Fortran a uložíme do souboru PROBLEM.FOR: include ‘$fem’ dimension x(3),y(3) equivalence (interc(41),a)
Databáze programů FEMINA a FEMINA se liší, a při konkrétní aplikaci je třeba prostudovat aktuální strukturu COMMON /$FEM/. V programu FEMINA je např.proměnná A již na pozici 7 a ne 41. open(1,file=’problem.bin’,form=’binary’) read(1)ityp,interc
V souboru $FEM jsou uvedeny všechny deklarace proměnných a vektorů, které FEMINA používá - celá databáze je v jediném vektoru COMMON /$FEM/INTERC(MAXEND).
V tomto vektoru jsou uloženy mimo jiné všechny jednoduché proměnné, využívané interpretem programu FEMINA, a např. jednoduché proměnné A,B,…,Z začínají na pozici 41 (proměnnou A použijeme pro uložení výsledku, součtové plochy) Celou databázi pak můžeme přečíst jediným příkazem READ ze souboru PROBLEM.BIN. Parametr ityp určuje typ databáze (nevyužijeme)
Proměnná NE je součást deklarací (stejně jako souřadnice uzlů XX(i), YY(i) a=0 a vektor konektivity LUE(i)). N uvedeném textu jsou všechny systémové do ie=1,ne proměnné podtrženy. V cyklu přes všech NE elementů stanovíme loc=lue(ie) souřadnice trojice uzlů trojúhelníkových elementů a vypočteme jejich do j=1,3 ind=iabs(iue(loc+j)) plochu. Výsledek je v součtové proměnné A, která je součástí databáze. x(j)=xx(ind) y(j)=yy(ind) enddo s=abs(y(1)*(x(2)-x(3))+y(2)*(x(3)-x(1))+y(3)*(x(1)-x(2)))/2. a=a+s enddo Celou databázi (v níž byla změněna jediná proměnná, A) rewind(1) pak zapíšeme na disk – přepíšeme původní soubor write(1)ityp,interc PROBLEM.BIN. Jednoduchá proměnná ITYP určuje typ end databáze (zkrácená, úplná), ponecháme původní hodnotu.
Soubor PROBLEM.FOR musíme přeložit a sestavit fortranským kompilátorem, čímž vznikne soubor PROBLEM.EXE. Teď teprve můžeme spustit program FEMINA PROBLEM FILE THOLE3
Pro generování sítě elementů použijeme soubor THOLE3, který byl vytvořen při zadávání úlohy 2.2 (teplotní pole v desce, kde byly použity právě trojúhelníkové elementy).
WRITEBIN PROBLEM
Příkazem WRITEBIN exportujeme celou databázi do souboru PROBLEM.BIN (mohli jsme zvolit i jiné jméno než PROBLEM)
RUN PROBLEM.EXE
Spustíme náš program, který databázi přečte a po úpravě ji přepíše. Řízení se okamžitě vrací do programu FEMINA.
DISP A READBIN PROBLEM DISP A
A=0 A=0.861
FEM1.DOC last update 24.11.2002
Podíváme-li se do proměnné A je tam stále nula. Databáze není automaticky načtena, což musíme zajistit příkazem READBIN. Teprve pak se obsah databáze aktualizuje a vypočtenou plochu můžeme vypsat příkazem DISP.
Page 18 of 116
2.4. Vlastní program výpočtu stacionárního teplotního pole Využití procedur knihovny MINIPF.LIB pro sestavení a řešení soustavy lineárních algebraických rovnic frontální metodou. Ukázka toho, jak napsat svůj vlastní program pro metodu konečných prvků. Budeme řešit tu nejjednodušší možnou úlohu: stacionární teplotní pole v desce s konstantními vlastnostmi. Použijeme trojúhelníkové elementy T3 s lineární aproximací teplot (teorie viz. 4.1.8). Text programu, který má řešení zajistit, napíšeme v jazyce Fortran a uložíme do souboru TEPLO.FOR: include '$fem' external theat open(1,file='teplo.bin',form='binary') read(1)ityp,interc c
Přečtení celé konečně prvkové databáze je úplně stejné jako v předchozím případě (soubor TEPLO.BIN).
Vektor IPU informuje o tom, zda je teplota v uzlu
do iu=1,nd IU předepsaná jako okrajová podmínka (IPU<0). loc=lpu(iu)+1 Vynulování vektoru VAL(*,2) a překopírování if(ipu(loc).lt.0)then okrajových podmínek z vektoru VAL(*,1). val(loc,2)=val(loc,1) else FEFRIN – preprocesor frontální metody val(loc,2)=0 endif upraví matici konektivity. enddo call fefrin(iue,lue,mue,ne,nd) FTFRON – frontální metoda. Sestavení
matic elementů 3 x 3 počítaných procedurou THEAT a řešení soustavy rovnic. Vektor JDOF informuje o tom, které DOF se mají počítat, zde jenom teplota (index 1)
jdof(1)=1 call ftfron(0,jdof,1,ipu,jpu,lpu,mpu,val(1,2), / iue,lue,mue,ne,1e-7,5,0,theat) rewind(1) write(1)ityp,interc Přepsání původního obsahu end
souboru TEPLO.BIN
subroutine theat(icontr,ie,nl,nue,al,bl) include '$fem' Úkolem této procedury je vypočítat matici tepelných vodivostí dimension x(3),y(3),al(nl,nl),bl(nl) AL(NL,NL) elementu IE. NL i NUE je v našem případě 3. l0=lue(ie) do iu=1,nue ind=iabs(iue(l0+iu)) Stanovení souřadnic vrcholů trojúhelníku IE na základě matice konektivity IUE x(iu)=xx(ind) (Index Uzlu Elementu) a globálního vektoru souřadnic všech uzlů XX(*) a YY(*) y(iu)=yy(ind) enddo det=x(1)*(y(2)-y(3))+x(2)*(y(3)-y(1))+x(3)*(y(1)-y(2)) Plocha trojúhelníka do i=1,3 i1=mod(i,3)+1 Výpočet koeficientů matice tepelných i2=mod(i1,3)+1 vodivostí na základě lineárních do j=1,3 j1=mod(j,3)+1 bázových funkcí (jejich derivace je j2=mod(j1,3)+1 konstantní, takže integrál al(i,j)=((y(i1)-y(i2))*(y(j1)-y(j2))+ ∂N ∂N j ∂N i ∂N j alij = ∫ ( i )dS + / (x(i2)-x(i1))*(x(j2)-x(j1)))/(2*det) ∂x ∂x ∂y ∂y enddo Vektor pravé strany je nulový, protože se snadno vypočítá analyticky). bl(i)=0 neuvažujeme objemové zdroje tepla enddo end
Soubor TEPLO.FOR zkompilujeme, čímž vznikne soubor TEPLO.EXE. Spustíme program FEMINA s libovolným názvem úlohy: FILE THOLE3 WRITEB TEPLO RUN TEPLO.EXE READBI TEPLO GRAPH 1,2
Opět použijeme pro generování sítě elementů i pro specifikaci okrajových podmínek soubor THOLE3 a zapíšeme vytvořenou databázi do souboru TEPLO.BIN. Spustíme vlastní program TEPLO.EXE, načteme jeho výsledky a GRAPH nás ujistí o tom, že jsou stejné jako kdybychom pro řešení použili FEMINA (příkaz THERMAL).
FEM1.DOC last update 24.11.2002
Je to jednoduché… Proč to nezkusíte také?
Page 19 of 116
2.5. Plouživé proudění (TCREEP1) Plouživé proudění newtonské kapaliny minimalizující dissipovanou energii. Řešení biharmonické rovnice pro proudovou funkci, používají se kubické bázové funkce zajišťující spojitost funkčních hodnot a prvních derivací pouze ve vrcholech trojúhelníkových elementů. Stupně volnosti PS,PSX,PSY,VX,VY. Při řešení se uplatní pouze PS,PSX,PSY, rychlosti VX,VY se dopočítají až ex post. Rovinné proudění SCALE -.1,1.1,-.1,1.1; PT 1,0,0; PT 2,.15,0; PT 3,.3,0; PT 4,.4,0; PT 5,.5,0; PT 6,.7,0; PT 7,1,0; PT 8,0,.2; PT 9,.3,.2; PT 10,.5,.4; PT 11,1,.5; PT 12,0,.4; PT 13,.15,.4; PT 14,.3,.4; PT 15,.4,.5; PT 16,.5,.7; PT 17,.7,.9; PT 18,1,1; SF8PT 1,1,3,14,12,2,9,13,8; SF8PT 2,3,5,16,14,4,10,15,9; SF8PT 3,5,7,18,16,6,11,17,10; MSF 1,15,10,1.5,1,3; MSF 2,10,10,1,1,3; MSF 3,15,10,1,1,3; NMERGE ; EGROUP 1,0,0,0; RCONST 1,1; MPROP 1; NFCR 4,PS,-1,1,0,.5625; NFCR 4,PSX,-1,0,0,0; NFCR 3,PS,-1,1,1,1; NFCR 3,PSX,-1,0,0,0; NFCR 3,PSY,-1,0,0,0; NFCR 7,PS,-1,1,1,1; NFCR 7,PSX,-1,0,0,0; NFCR 7,PSY,-1,0,0,0; NFCR 10,PS,-1,1,1,1; NFCR 10,PSX,-1,0,0,0; NFCR 10,PSY,-1,0,0,0; NFCR 1,PS,-1,0,0,0; NFCR 5,PS,-1,0,0,0; NFCR 8,PS,-1,0,0,0;
ux =
∂ψ ∂y
uy = −
∂ψ ∂x
Rotačně symetrické proudění (osa z horizontální)
ur =
1 ∂ψ r ∂z
uz = −
1 ∂ψ r ∂r
EGROUP umožní rozlišit pouze dvě varianty: rovinné nebo rotačně symetrické proudění (třetí parametr). Řeší se vždy jenom stacionární proudění a Gaussova integrace je vždy na 7 uzlů.
Stěna kanálu (nulové rychlosti, ψ=1) Výstup-všechny parametry se počítají
Zadaný rychlostní profil
Osa kanálu (ψ=0)
CREEP GRAPH PS,2 GRAPH PSY,2
FEM1.DOC last update 24.11.2002
Page 20 of 116
2.6. Potrubní síť (PIPE) V programu FEMINA jsou implementovány operace umožňující stanovit rozložení tlaků a průtoků při toku Newtonské kapaliny v potrubní síti, tvořené dvouuzlovými elementy (pipe). Uvažuje se laminární i turbulentní režim proudění, vliv vztlaku a řešení lze rozšířit i na reologicky komplikovanější kapaliny (co nelze řešit je dynamika stlačitelných tekutin – hydraulický ráz). Kromě hydraulických poměrů lze vypočítat i rozložení teplot v kapalině a koncentrací značkovací látky (ve stacionárním i nestacionárním režimu). Součástí potrubní sítě mohou být nejenom přímé úseky potrubí, ale i výměníky tepla, ideální mísiče nebo aparáty s hydraulickou charakteristikou zadanou uživatelem programu. Na základě vypočtených tlaků a teplot je možné řešit i problém dimenzování potrubí s ohledem na dilatační a tlakové zatížení. ANALYS 5; PT 1,.000E+00,.300E+00; PT 2,.200E+00,.300E+00; PT 3,.350E+00,.950E+00; PT 4,.750E+00,.950E+00; PT 5,.800E+00,.300E+00; PT 6,.100E+01,.300E+00; PT 7,.000E+00,.150E+00; PT 8,.200E+00,.150E+00; PT 9,.800E+00,.150E+00; PT 10,.100E+01,.150E+00; CR2PT 1,1,2; CR2PT 2,2,3; CR2PT 3,3,4; CR2PT 4,4,5; CR2PT 5,5,6; CR2PT 6,2,5; CR2PT 7,7,8; CR2PT 8,8,9; Charakteristiky CR2PT 9,9,10;
potrubí (skupina 1): D=0.005[m], α [W/(m.K)], Te (slouží k výpočtu tepelných ztrát Te je vnější teplota)
RCONST 1,1,0.005,10,20,0,0,0,0,0; MPROP 1,.600E+00,0,4200,0,998,0,.400E-01,0,.100E-02,0,0,0,0,0,0,0,0,0; MCRC 1,3,1,2,1,1; Úsek potrubí 1 je modelován 3MCRC 2,3,1,2,1,1; MCRC 3,3,1,2,1,1; elementy PIPE (stejné délky) MCRC 4,3,1,2,1,1; MCRC 5,2,1,2,1,1; Na paralelních křivkách 8 a 6 je vytvořeno pět MCRC 7,2,1,2,1,1; MCRC 9,2,1,2,1,1; elementů výměníku tepla. Elementu výměníku jsou MCR2 8,6,5,1,1,1,1,2;
vlastně 2 elementy PIPE (dva proudy) a čtyřuzlový prvek popisuje přenos tepla mezi nimi.
NMERGE ; NF 1,PRES,-1,2E4; NF 15,PRES,-1,1E4; NF 16,PRES,-1,2E4; NF 21,PRES,-1,1E4;
Zadání tlaků na vstupech a výstupech potrubní sítě. Specifikuje se číslo uzlu, veličina (PRES), typ (-1 fixovaná hodnota) a velikost tlaku (např. 104 Pa).
PIPE 0,5,0 WRITE 4
Kapalina: (voda): λ=0.6 W/(m.K), c=4200 J/(kg.K), ρ=998 kg/m3, κ=0.04 S/m, µ=0.001 Pa.s Neuvažuje se závislost těchto parametrů na teplotě ani na rychlosti deformace.
5 iterací výpočtu rozložení tlaků. V operaci PIPE se provádí nejprve preprocessing (prefront, vynechání elementů, které nesouvisí s výpočtem tlakových ztrát, tj. 4-uzlových elementů výměníků), dále 5 iterací výpočtu tlaků frontální metodou (iterace jsou nutné jen v případě, že soustava rovnic je nelineární buď proto, že viskozita není konstantní nebo je v některých úsecích potrubí turbulence) a konečně postprocessing (výpočet průtoků v jednotlivých elementech). Vypočtené průtoky jsou v zoně parametrů elementů a lze je uložit do výstupního souboru PIPE.EPA příkazem WRITE 4 (write 1 ukládá uzlové souřadnice a parametry, write 2 konektivitu elementu, write 3 materiálové parametry).
FEM1.DOC last update 24.11.2002
Page 21 of 116
2.7. Skořepina (TSHEL) Rotačně symetrická skořepina, zatížená vnitřním přetlakem. Používají se Vykutilovy konečné prvky (v každém uzlu jsou 3 stupně volnosti, posuvy UX,UY a natočení RZ). Asi každý program by měl začínat příkazem ANALYSIS. 1 znamená strukturní analýzu, v našem případě výpočet rotačně symetrických skořepin, zatížených přetlakem. Tím je určen i typ počítaných veličin UX,UY (posuvy) a RZ (natočení) – každý uzel má 3 stupně volnosti. Dříve to nebylo nutné, protože default je 2 (PSI).
ANALYSIS 1; SCALE 0,1,0,1; Y je osa rotace – to bylo ve PT 1,.658E+00,.115E+00; verzi 1, u FEMINA2 je osa PT 2,.655E+00,.386E+00; rotace vždy X PT 3,.582E+00,.564E+00; PT 4,.431E+00,.655E+00; PT 5,.325E+00,.787E+00; PT 6,.314E+00,.914E+00; Křivky definované 3 body jsou CR3PT 1,1,3,2; kvadratické, 2 body úsečky CR3PT 2,4,6,5; CR2PT 3,3,4; MPROP 1,.210E+12,0,.280E+00,0; Modul pružnosti a Poissonova RCONST 1,0.001,1E6;
konstanta
Tloušťka H a přetlak
EGROUP 1,0,0,1; MCR 1,20,1,2; MCR 2,20,1,2; MCR 3,10,1,2; NMERGE ; FND 1,UX,-1,0; FND 1,UY,-1,0;
20 elementů, rovnoměrné dělení (1), dva uzly
Fixování posuvů Ux,Uy v uzlu 1 (okrajová podmínka č.-1, s hodnotou 0). Stejně tak dobře se mohlo psát např. FND 1,UX,-1,0.
SHELLAX GRAPH
Nα normálová napětí ve směru poledníků
Nβ normálová napětí ve směru rovnoběžek
Mα ohybové momenty ve směru poledníků
NDLIST 1,2,1 NIDENT
WRITE 1 WRITE 2 WRITEBIN F
výpis na displeji
Uzlové body (*.NOD) Elementy (*.ELE)
Binár (F.BIN) – celá databáze včetně funkcí. Zpětné načtení READBIN F. READBIN
FEM1.DOC last update 24.11.2002
Mβ ohybové momenty ve směru rovnoběžek
Q posouvající síly
ND_____X______Y______ UX ___IP__ UY ___IP__ RZ ___IP__ 001: .66E+00 .12E+00 .00E+00 -01 .00E+00 -01 .77E-01 00 002: .66E+00 .15E+00 -.12E-03 00 .16E-02 00 .26E-01 00 test 53 Node 1 2
3 (Number of nodes, DOF) X Y Kind UX .658E+00 .115E+00 1: .000E+00 .661E+00 .146E+00 1: -.122E-03
test 50 (Number of elements) Elem. Eg Mp Rc Nue N1 1 1 1 1 2 -1 2 1 1 1 2 -2
N2
N3
N4
UY .000E+00 .161E-02
N5
N6
2 3
Page 22 of 116
RZ .765E-01 .261E-01
N7
N8
2.8. Serie mísičů se zpětným promícháváním – integrální model Ukázka použití předdefinovaných modelů se soustředěnými parametry (typická aplikace pro RTD – integrální modely rozložení dob prodlení). Výpočet impulsní odezvy systému numerickou integrací soustavy obyčejných diferenciálních rovnic. Zpracování časových závislostí. Tyto modely neoperují nad konečněprvkovými datovými strukturami (uzly, elementy, maticí konemktivity apod), nýbrž nad maticí bodů pozorování v níž jsou uloženy časové závislosti: První sloupec matice je interpretován jako čas, jemuž odpovídají data v následujících sloupcích (2,3,…,10). Matice bodů pozorování tedy popisuje až 9 různých funkcí času reprezentovaných tabulkou funkčních hodnot se společnou časovou základnou (matice pozorování má 1024 řádků – bodů pozorování). Každému sloupci matice bodů pozorování je přiřazena dvojice parametrů: TYP a INDEX, které určují typ veličiny, kterou funkce (sloupec) reprezentuje TYP=0 Nedefinovaný (prázdný) sloupec TYP=1 Hodnoty času TYP=2 Časový průběh vybraného uzlového parametru (INDEX je index uzlu) TYP=3 Experimentální data (zpravidla importovaná příkazem READ) TYP=4 Vzruchová funkce modelu (INDEX je index této funkce u modelů s více vstupy) TYP=5 Odezva modelu (INDEX je index funkce u modelů s více výstupy) TYP=6 Predikce regresního modelu TYP=7 Směrodatná odchylka bodu pozorování Tato typologie není příliš závazná a má význam spíše jen u hlaviček výstupních souborů. Základní operace týkající se matice bodů pozorování TC READ 6 čtení celé matice bodů pozorování ze souboru, který byl vytvořen operací WRITE 6 READ 7 import jednoho sloupce matice bodů pozorování READ 8 import jednoho sloupce matice bodů pozorování na základě dat tabulky (t,c) v níž hodnoty času neodpovídají časové základně (prvnímu sloupci matice bodů pozorování). V tomto případě se provádí kvadratická regresní interpolace tabulkových dat. Tato metoda je popsána detailněji v odstaci 4.3.2. TCEDIT (TCE) editace bodů vybrané křivky myší (lze zvolit několik různých režimů editace) TCINPUT (TCI)zadávání hodnot vybraného sloupce přímo z klávesnice TCSET (TCS) specifikace typu sloupců matice bodů pozorování TCLIST (TCL) zobrazení matice bodů pozorování TCF přiřazovací příkaz tímto způsobem je možné definovat celý sloupec jako algebraický výraz. Pro označení sloupce jsou vyhrazeny proměnné C1,C2,…,C10 a součástí příkazu může být i proměnná I – index bodu pozorování (index řádku matice bodů pozorování). Příklady: C1=0.1*I definuje ekvidistantní časy (první sloupec 0.1, 0.2, 0.3,…), C2=EXP(-0.05*C1),… TCSM TAIL
TCBGR
vyhlazení funkce (regresní spliny), blíže viz 4.3.3 aproximace chvostu křivky (vymezeného lokátorem-myší) buď funkcí A+B exp(-Ct), A+B t exp(-Ct), nebo A+B/t3. Koeficienty A,B,C jsou stanoveny regresí; A je limitní hodnota funkce pro velmi dlouhé časy, interpretovaná jako velikost pozadí, které se od funkčního průběhu automaticky odečítá. korekce na pozvolné stoupání pozadí.
Kromě těchto víceméně editačních operací, je možné generovat odezvy na základě řešení soustav diferenciálních rovnic, které popisují vyšetřovaný systém (lumped parameter model, compartment model). A o tom je následující příklad
FEM1.DOC last update 24.11.2002
Page 23 of 116
C* Opening TEST date:11.09.02 at 13:45 RMODEL Back;
Aktivace modelu BACK (serie mísičů se zpětným promícháváním). Ve skutečnosti se přečte textový soubor : Ideal mixers series with backmixing PM1-backmixing ratio PM2-mean residence time PM3-number of mixers (integer) \\ini real tm neq=pm(3) f=pm(1) tm=pm(2)/neq cm(1)=1/tm \\mod dcm(1)=(xv(1)+f*cm(2)-(1+f)*cm(1))/tm for i=2,neq-1 do dcm(i)=((1+f)*cm(i-1)+f*cm(i+1)-(1+2*f)*cm(i))/tm dcm(neq)=((1+f)*(cm(neq-1)-cm(neq)))/tm yv(1)=cm(neq) \\par idenum=3000003 method=1 inp=1 out=1 npar=3 NEQ=5 x1=2 y1=3 Backmixing ratio f: pm(1) default=0.5 min=0.001 max=10 relafakt=0.2 Mean residence time: pm(2) default=1 min=0.01 max=50 relFAKT=0.2 No.of mixers: pm(3) default=5 min=1 max=100 relFAKT=0.1
IMPULS -2,5,500,0.01;
Výpočet impulsní odezvy (odezvy na delta-funkci) řešením soustavy NEQ=5 diferenciálních rovnic metodou Runge Kutta, s rel. přesností 10**(-2). Ukládá se 500 kroků s časovým krokem 0.01. Jsou použity hodnoty parametrů modelu f=0.5, N=5 a střední doba prodlení 1 tak, jak jsou uvedeny v definičním souboru (tyto hodnoty parametrů lze samozřejmě měnit). Výsledek, odezva y1(t), je uložen do sloupce 3 matice bodů pozorování (sloupec číslo 1 je čas společný pro všechny křivky, číslo 2 vzruch. funkce).
TCRND
Superpozice šumu (původní křivka č.3, zašuměná křivka č.4, šum úměrný amplitudě signálu (1), se střední hodnotou 0.05
3,4,1,0.05;
TCYSHF 4,4,.1; TAIL
Posunutí křivky číslo 4 o 0.1. Tím simulujeme zvýšení pozadí.
4,5,0,161,475,204; Aproximace chvostu křivky číslo 4, výsledkem je křivka č.5. Použije se exponenciální aproximace (0) identifikovaná regresí bodů 161 až 475, přičemž nahrazení exponenciálou začíná bodem 204 (viz obr.). Tyto body jsou lokalizovány myší. Regresí vypočtená hodnota pozadí 0.099 poměrně velice dobře souhlasí se simulovanou hodnotou 0.1.
Y(t)= .99E-01+ .49E+01*EXP(- .18E+01*t)
FEM1.DOC last update 24.11.2002
Page 24 of 116
2.9. FFT konvoluce, dekonvoluce, korelace Časové průběhy v matici bodů pozorování mohou být zpracovány víceméně klasickými technikami zpracování signálů, které jsou založeny na rychlé Fourierově transformaci. To umožňuje snadný výpočet konvolučních integrálů (odezvy známého systému na specikovanou vzruchovou funkci), dekonvoluci, tj. výpočet impulsní odezvy systému ze známé vzruchové a odezvové funkce, popřípadě výpočet korelačních funkcí. Obecným rysem těchto operací je i možnost filtrace šumu, spočívající v potlačení vyšších harmonických složek spektra upravované funkce. Aplikace FFT ukážeme na příkladu identifikace systému, který je tvořený dvěma paralelními seriemi mísičů (3+9), střední doba prodlení je 1. Jako vzruchovou funkci použijeme impulsní odezvu serie 3 mísičů se střední dobou 3. Odezvu vypočítáme konvolucí (to by měla být „přesná“ odezva) a přičteme k ní náhodný šum, stejně jako ke vstupní funkci. Operací dekonvoluce se potom pokusíme získat impulsní odezvu systému. C* Opening TEST date:12.11.02 at 11:43 TSTEP 500,0.02; Impulsní odezva teoretického PASERI 3,3,9,.500E+00,3,1; modelu (funkce číslo 3) N1=3, N2=9, f=0.5, α=3 IDMSER 2,3,3;
Vzruchová funkce číslo 2. Použit model serie N1=3 mísičů se střední dobou 3. Výpočet odezvy systému operací konvoluce (2) mezi dvojicí funkcí číslo 2 (vzruch) a 3 (impulsní odezva). Výsledkem je funkce číslo 4. Poslední parametr (0 až 1) určuje míru filtrace: když je 1 zobrazí se graf výkonové spektrální hustoty (PSD=Power Spectral Density) a myší se vybere mezní frekvence.
TCFFT
2,2,3,4,1;
TCRND TCRND
2,2,1,.05; 4,4,1,0.05;
TCFFT
1,2,4,5,1,4,.100E-03;
Výkonová spektrální hustota počítané impulsní odezvy
Superpozice šumu ke vzruchové a odezvové funkci.
Výpočet impulsní odezvy systému (funkce číslo 5) ze zadané vrzruchové funkce (2) a odezvy (4). Využívá se stejně jako u konvoluce FFT s filtrací vyšších harmonických výsledku (parametr 1 opět aktivuje graf PSD). Je použit regularizační model 4 mísičů s vahou w=10-4. IDMSER TCFFT TCRND TCRND TCFFT
Opakování celé sekvence, ale pro 2,3,1; kratší vzruchovou funkci (střední 2,2,3,4,1; doba 1). Tím se zlepší stabilita a 2,2,1,0.05; přesnost řešení. 4,4,1,0.05; 1,2,4,5,1,4,.100E-03;
FEM1.DOC last update 24.11.2002
Page 25 of 116
2.10. Lineární regrese Průběhy veličin (např. časové závislosti teplot), vypočtené metodou konečných prvků nebo stanovené experimentálně, je možné aproximovat buď modelem soustavy obyčejných diferenciálních rovnic (viz předchozí příklad 2.8) nebo ještě jednodušeji nějakými algebraickými vztahy, např. polynomy. Tento příklad je právě ukázkou regrese dat (typu čas – hodnota), která jsou uložena ve znakovém souboru, kde každý řádek popisuje jeden bod pozorování, tj. hodnoty nezávisle i závisle proměnných (měřených dat). V našem případě budeme zpracovávat soubor TC.TXT, jehož druhý sloupec je nezávisle proměnná (čas) a třetí sloupec jsou naměřené hodnoty. Femina umí načítat tato data jen postupně, sloupec po sloupci, do matice bodů pozorování. READ import dat z ASCII souboru. První parametr (7) je typ operace READ (čtení sloupce matice bodů pozorování), TC.TXT jméno souboru v němž jsou data, 2druhý sloupec dat z tohoto souboru, 1-bude umístěn do prvního sloupce matice bodů pozorování. Poslední parametr (2) říká, od kterého řádku souboru dat se začínají načítat data (první řádek je hlavička a musí se přeskočit). l k h b l
READ 7,Tc.txt,2,1,2; READ 7,Tc.txt,3,2,2;
TCFUN
C4=0.06;
LINREG 3,1,2,3,4;
Data TC.TXT 1 0 0 2 1 .3 3 2 .6 4 3 .8 … 10 20 .6 11 30 .3 12 40 .24
Příkazem TCF (nebo TCFUN) můžeme definovat najednou celý sloupec matice bodů pozorování. I-tý prvek čtvrtého sloupce je C4(i) (stačí napsat jen C4) a proměnná I se mění od jedné do maximálního počtu bodů pozorování. V tomto případě nadefinujeme celý čtvrtý sloupec jako konstantu 0.06 – směrodatnou odchylku naměřených dat. Linární regrese kubickým polynomem (první parametr je stupeň polynomu). Další parametry udávají sloupce matice bodů pozorování, kde jsou uloženy nezávisle proměnné (x), odpovídající naměřené hodnoty (y), predikce regresního modelu (polynom) a směrodatná odchylka (poslední čtvrtý sloupec)
TCLIST 1
Poznamenejme, že úplně stejným způsobem se provádí nelineární regrese některým předem připraveným regresním modelem (exponenciální funkce, racionální funkce, Gaussova distribuce, impulsní odezvy serie mísičů, modely axiální disperze,…). Regresní model není nutné specifikovat – pak jsou automaticky propočítány všechny modely a vybrán ten nejlepší (s nejmenší hodnotou χ2).
FEM1.DOC last update 24.11.2002
Page 26 of 116
3. Seznam příkazů programu FEMINA 3.1. Entity Definice konkrétního problému zahrnuje definici entit popisujících geometrii, konečné elementy, uzlové body a vlastnosti materiálu. Používají se podobné názvy entit (např. PT) a z nich odvozených operací (např. PTLIST) jako u programu COSMOS: PT bod (jako základní geometrická entita, není to uzlový bod) CR křivka (definovaná výčtem 2 nebo 3 bodů PT) SF plocha (čtyřúhelník určený výčtem 4 nebo 8 bodů) VL objem (šestistěn určený výčtem 8 nebo 20 bodů) EL element (definovaný výčtem uzlových bodů) ND uzlový bod. Každému uzlovému bodu jsou přiřazeny stupně volnosti DOF (Degree Of Freedom), které mají svá jména a ta lze použít jako parametr příkazů: 1 TEMP
2 UX
teplota
3 UY
4 UZ
5 RX
posuvy
6 RY
7 RZ
natočení
8 VOLT
9 VX
napětí
13 OMG
14 PS
15 PSX
16 PSY
17 PSXX
18 PSYY
19 PSXY
vířivost
ψ
ψ,x
ψ,y
ψ,xx
ψ,yy
ψ,xy
10 VY
11 VZ
12 PRES
rychlosti
20 CN
21 CD
tlak
22 CA
koncentrace
23 KT
24 EPS
k
ε
Pořadí parametrů v předchozí tabulce určuje i strukturu aktivních stupňů volnosti v uzlových bodech a tím i význam řádků a sloupců lokálních matic elementů. Pokud je např. při řešení aktivována proudová funkce (PS) a vířivost (OMG) bude prvním uzlovým parametrem OMG (číslo 13) a teprve druhým PS (číslo 14). To má význam především v případě, že budete psát vlastní aplikace, protože pořadí DOF určuje význam řádků/sloupců matice soustavy. Uzlovým bodům je přiřazována vždy jen určitá podmnožina výše uvedených DOF a tento výběr závisí na zvoleném typu analýzy (když by se řešila např. standardní pružnostní úloha je zbytečné rezervovat místo třeba pro proudovou funkci, stačí posuvy a natočení). Význam použitých zkratek: . STR- structural (analýza pružných těles), PSI, PSBL-použití proudové funkce , UVP-rychlosti a tlak, RTD-potrubní sítě a modely rozložení dob prodlení, FULL-kombinace pružnostních úloh i výpočtů proudění. ANALYS
'1-STR,2-PSI,3-UVP,4-PSBL,5-RTD,6-FULL...'
Tímto příkazem se nastaví počet a význam uzlových parametrů uzlů, které budou generovány následujícími příkazy MCR nebo MSF (Mesh CuRve, Mesh SurFace): STR UX PSI TEMP PSBL TEMP UVP TEMP RTD TEMP FULL TEMP
UY
UZ
RX
RY
RZ
VOLT VX
VY
PRES
OMG
PS
PSX
VX
PRES
PS
PSX
PSY
PSXX PSYY PSXY
VOLT VX
VY
VZ
PRES
CN
UX
UY
RZ
VOLT VX
PRES
CN
UX
UY
UZ
RX
RZ
VOLT VX
VY
RY
PSY
CN
VY
VZ
PRES
OMG
PS
PSX
PSY
CN
Stejně jako jsou každému uzlovému bodu přiřazeny uzlové parametry, musí být i elementům přiřazeny informace o tom, z jakého jsou materiálu, jaké jsou jejich rozměry (pokud se nedají odvodit přímo ze souřadnic uzlů, které konkrétní element definují) apod. Včechny tyto informace jsou roztříděny do tří skupin a každá skupina je popisována tabulkou: tabulkou materiálových parametrů (řádek je materiál, a sloupec určitá vlastnost, např. první sloupec je tepelná vodivost), dále tabulkou reálných konstant (např. první sloupec je tloušťka elementu, druhý jeho průměr, třetí vnitřní přetlak,…) a konečně FEM1.DOC last update 24.11.2002
Page 27 of 116
tabulkou, která upřesňuje použitý algoritmus výpočtu (např. zda se má vyčíslovat matice hmot, kolik bodů Gaussovy integrace se má použít atd). Příkaz ANALYS nastavuje i dialog zadávání potřebných materiálových parametrů, parametrů elementů a reálných konstant, které mají význam pro určitý typ analýzy (vlastně jen výběr relevantních sloupců výše uvedených tabulek): STR ostatní STR PSI RTD
EX
MI
KX
CP
H
DENS
KAPP
D
p
Area
Jz
alpha
Te
Area
Perim.
VISC
BETA
DN
H D
Vol.
Ratio
k
EN
AN
MPROPmateriálové vlastnosti
RCONSTcharakteristiky elementů
3.2. Zahájení a ukončení úlohy (řízení běhu úlohy je uvedeno až na konci tohoto odstavce) NEWPROB
name
FILE UNDO EXIT
filename 'no. of backsteps'
otevření souborů name.SES,name.OUT,name.DBG počáteční nastavení databáze interpretace příkazů (typu *.SES) návrat o specifikovaný počet kroků zpět ukončení činnosti programu
3.3. Nastavení kreslicího okna MODEL SCALE
'xmin','xmax','ymin','ymax'
CLS ZOOMI (ZI) ZOOMOUT (ZO)2 GRIDON 'x0','y0','dx','dy' GRIDOF
při zadání nulových hodnot xmin,… se nastaví automatické měřítko) vymazání obrazovky nastavení rozsahu souřadnic lokátorem zapnutí mřížky (týká se zadávání souřadnic myší) vypnutí mřížky
3.4. Definice geometrie PT
'PT index',x,y definice bodu Jsou dvě možnosti: buď na příkazovém řádku vypíšeme všechny tři parametry (index a souřadnice) nebo zadáme z klávesnice jen počáteční index a souřadnice určíme myší. Tímto druhým způsobem můžeme v jediné operaci zadat libovolný počet bodů s rostoucími indexy (nový bod se vytvoří po stisknutí L-Click) a sekvence se ukončí pravým tlačítkem myši. Do protokolu (souboru *.SES) se ovšem u každého vytvářeného bodu zapisuje jeden příkaz PT. ZD 'Z-coordinate' z-souřadnice, která bude automaticky přiřazována k souřadnicím X,Y definovaným buď příkazem PT nebo ND (bod nebo uzel). CR2PT (C2P) 'CR index','PT1','PT2' definice úsečky z již existujících bodů CR3PT (C3P) 'CR index','PT1(left)','PT2(right)','PT3(mid)' definice křivky z již existujících bodů CIRCLE (CIR) 'CR first','PT-center','PT-zero degree line' kružnice ze 4 kvadratických křivek SF4PT (S4P) 'SF index','PT1','PT2','PT3','PT4' definice plochy ze 4 bodů SF8PT (S8P) 'SF index','PT1','PT2','PT3','PT4','pt5','pt6','pt7','pt8' definice plochy z 8 bodů (zakřivené) SFCR (SC) 'SF index','CR1','CR2' definice plochy ze dvou libovolných křivek (protilehlých či přilehlých stran) VLCR (VC) 'VL index','CR1','CR2','CR3' objem ze tří libovolných křivek (hran) VLSF (VS) 'VL index','SF1','SF2' objem ze dvou libovolných ploch (stran)
2
Slova v závorce jsou synonyma – zpravidla zkrácené názvy příkazů
FEM1.DOC last update 24.11.2002
Page 28 of 116
3.5. Definice vlastností elementů MPROP (MP) 'Mprop group no.',seznam termofyzikálních parametrů dle přednastaveného typu analýzy (viz příkaz ANALYS). U každého parametru se zadává dvojice čísel: hodnota parametru a číslo funkce času, teploty, EGROUP (EG) RCONST (RC)
invariantu rychlosti defirmace nebo souřadnic, kterým se tato hodnota násobí (funkce číslo 0 znamená identitu – příslušný parametr je konstantní) 'Egroup no.',seznam parametrů dle typu analýzy 'RC group no.',seznam parametrů dle typu analýzy
3.6. Definice funkčních závislostí FUNDEF (FDEF,FD)
'Index of Function (-10:50)','f(TIME,TEMP,XX,YY,UX,UY,SINV,…)'
Takto definované funkce slouží k definici počátečních podmínek (argumenty jsou zpravidla XX,YY ale i teplota TEMP) , okrajových podmínek (např. závislosti hraniční teploty na čase TIME), pro popis termofyzikálních vlastností (v závislosti na TEMP a druhém invariantu deformace nebo rychlosti deformace SINV), a konečně pro definici hydraulické charakteristiky prvku potrubní sítě (DP-tlak.ztráta, RE-Reynolds, DE-ekvivalentní průměr, HE-délka elementu).
CURDEF (CDEF,CD,TABLE,TAB) 'Index of curve (-10:50)','0-time,1-x,2-y,3-z,4-temp,5-ux,6-uy,7-uz,8-sinv', 'No of points (max 8)', 'x1','y1','x2','y2','x3','y3','x4','y4','x5','y5','x6','y6','x7','y7','x8','y8' Poznámka: Pro popis jakékoliv závislosti lze použít obě z těchto možností, buď interpretovanou funkci nebo tabulku. Omezení tabulky je v tom, že může mít pouze jeden argument. Interpretovaná funkce je ale jen jeden výraz, takže se nedá použít pro popis komplikovanějších, např. nespojitých, průběhů.
3.7. Příkazy pro výpis na displeji (všechny výstupy jsou směrovány do souboru *.DBG a výsek 13 řádků je zobrazován v okně LIST) U D PU PD REM PTLIST (PTL) CRLIST (CRL) SFLIST (SFL) VLLIST (VLL) NDLIST (NDL) NFLIST (NFL) ELIST (EL) EPLIST (EPL)
'n-lines up' posun v okně LIST o specifikovaný počet řádek nahoru 'n-lines down' posun v okně LIST o specifikovaný počet řádek dolů posun v okně LIST o jednu stránku nahoru posun v okně LIST o jednu stránku dolů zapis poznámky do výstupního souboru *.DBG
'first point','last point','increment' výpis souřadnic bodů 'first curve','last curve','increment' výpis tvořících bodů křivek 'first surface','last surface','increment' výpis tvořících bodů ploch 'first surface','last surface','increment' výpis tvořících bodů objemů 'first node','last node','increment','DOF' souřadnice uzlů a uzlové parametry 'first node','last node','increment', 'DOF' uzly s IPU≠0 (okraj.podmínky,zatížení) 'first element','last element','increment' matice konektivity a čísla skupin 'first element','last element','increment','index EPAR' výsledky postprocessingu jsou v
matici parametrů elementů EPAR. Konkrétní parametr je určen indexem sloupce (např. napětí Nα v prvním sloupci). 'group of material properties' materiálové vlastnosti 'group of real constants' další charakteristiky elementů 'group of elements' upřesnění algoritmu zpracování elementu vypíše nastavení přepínačů (blokování upwindu,…) vypíše seznam všech definovaných tabulek vypíše seznam všech definovaných funkcí 'Zone 1-BC,2-res,3-IC' vypíše min/max hodnoty všech DOF (BC-okrajové podmínky, RES-výsledek výpočtu, IC-počáteční podmínky) VARLIST (VARL) 'List of variables=0, with comments=1' info o všech proměnných interpretu výrazů LOC 'Výraz' výpis informací o hodnotě proměnné (nebo výrazu) MODLIST (MODL) vypíše info o aktivním modelu soustavy obyčejných dif.rovnic
MPLIST (MPL) RCLIST (RCL) EGLIST (EGL) CLIST (CL) CURLIST (CURL) FUNLIST (FUNL) DOFLIST (RANGE)
FEM1.DOC last update 24.11.2002
Page 29 of 116
3.8. Příkazy pro export / import do souboru se jménem aktivní databáze (name) WRITE (W)
'Write 1-Nod,2-Ele,3-Groups,4-Epar,5-Dbs,6-Dat,7-TC' zápis do souborů name.NOD (uzly a uzlové parametry), name.ELE (matice konektivity), name.GRP (vlastnosti elementů a materiálové parametry), name.EPA (parametry elementů jako výsledek postprocesingu), name.DBS (výpis kompletní databáze ve znakovém tvaru), name.DAT (výpis matice bodů pozorování), name.TC (výpis části matice „bodů pozorování“).
Formát souborů NOD – uzlové body test 441 1 (Number of nodes, DOF-active) Node X Y Z Kind MPU 1 -.103E-02 -.630E-02 .000E+00 1 17 2 .490E-01 -.615E-02 .000E+00 1 17
IPU JPU TEMP IPU JPU UX -1 1 .000E+00 0 2 .000E+0 -1 1 .000E+00 0 2 .000E+0
… 441
.101E+01
.997E+00
.000E+00
1
17
-2
1
.847E+02
0
2
.000E+0
Formát souboru ELE – matice konektivity test 400 (Number of elements) Elem. Eg Mp Rc Nue N1 1 1 1 1 4 -1 2 1 1 1 4 -2 399 1 1 1 4 -418 400 1 1 1 4 -419
N2 2 3 419 -420
N3 23 24 440 -441
N4 22 23 -439 -440
N5
N6
N7
N8
Formát souboru DAT – matice bodů pozorování EMPTY 1 2
XINPUT YOUTPU EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY EMPTY 0 4 5 0 0 0 0 0 0 0 .000E+00 .000E+00 .000E+00 .000E+00 .000E+00 .000E+00 .000E+00 .000E+00 .000E+00 .000E+00 .100E+00 .000E+00 .275E-01 .000E+00 .000E+00 .000E+00 .000E+00 .000E+00 .000E+00 .000E+00
… 20
.190E+01
READ (R)
.000E+00
.148E+00
.000E+00
.000E+00
.000E+00
.000E+00
.000E+00
.000E+00
.000E+00
'Read 1-Nod,2-Ele,3-Groups,4-Epar,5-Dbs,6-Dat,7-txt,8-txt' Import dat v tom tvaru jak byly zapisovány do souborů příkazem WRITE. To se týká matice uzlů, elementů, skupin vlastností a parametrů elementů, rovněž pak formátu matice bodů pozorování. Zvláštní význam mají varianty 7 a 8, které importují data *.txt ve víceméně volném formátu do matice bodů pozorování a to buď jako jednotlivé sloupce (varianta 7) nebo dokonce s interpolací z tabulky (přepočet dat zadávaných s jinými hodnotami časů než odpovídá časové základně matice bodů pozorování).
READBI (RB) name WRITEB (WB) name,typ
čtení databáze ze souboru name.BIN (binární tvar) zápis databáze do souboru name.BIN. Parametru typ =0 odpovídá zápis zkrácené databáze (vypouští se jen některé dočasné hodnoty), pro typ=1 se ukládá kompletní zona databáze (včetně prvků, které nejsou vůbec využity).
3.9. Vykreslování a identifikace entit v okně MODEL PTPLOT (PTP) CRPLOT (CRP) SFPLOT (SFP) NDPLOT (NDP) NFPLOT (NFP) PFPLOT (PFP)
'first point','last point','increment' 'first curve','last curve','increment' 'first surface','last surface','increment' 'first node','last node','increment' 'first node','last node','increment', 'DOF:TEMP,UX,..RX,...PS, PSX,...' 'Zone 1-BC,2-res,3-IC', 'DOF:TEMP,UX,…' , 'Size' Zatímco příkaz NFPLOT zobrazuje jen příslušné značky DOF v uzlech s předepsanou okrajovou podmínkou pro specifikovaný DOF, zobrazuje PFPLOT hodnoty DOF v bodech PT (pro každý bod PT se vyhledá nejbližší uzel a znázorní se jemu odpovídající hodnota DOF na analogovém ukazateli s velikostí Size (0-malý,1-středně velký,2-…))
EPLOT (EP) DEFPLOT
'first element','last element','increment' vykreslení deformované sítě
FEM1.DOC last update 24.11.2002
Page 30 of 116
NIDENT (NID)
PIDENT (PID) CIDENT (CID) EIDENT (EID) TIDENT (TID)
'Zone 1-BC,2-res,3-IC', 'DOF:TEMP,UX,…' výběr uzlu myší v okně MODEL (L-click výběr nejbližšího uzlu, R-click ukončení příkazu), zobrazení souřadnic a parametrů ve stavovém řádku. Prvním parametrem je zona z níž se vybírají zobrazované hodnoty BC-okrajové podmínky, RES-výsledky, IC-počáteční podmínky. Vždy se zobrazují hodnoty prvních pěti DOF uzlu a kromě toho i explicitně specifikovaný stupeň volnosti DOF. výběr vztažného bodu myší, zobrazení souřadnic. výběr křivky myší, výpis tvořící bodů a informací o síťování křivky. '1-Egroup,2-Rconst,3-Mprop,4-EPAR' výběr elementu myší (L-click výběr, Rclick ukončení operace). Informace zaměřené buď na parametry EGROUP, RCONST, MPROP nebo výsledky postprocessingu jsou zobrazovány ve stavovém okně. výběr časového průběhu (Time Curve) myší, výpis charakteristik (momentů),…křivky.
Aktivace číslování entit při jejich vykreslování ACTNUM '1-nd,2-el,3-pt,4-cr,5-sf' INACTNUM '1-nd,2-el,3-pt,4-cr,5-sf' ACTSET '1-egroup,2-mprop,3-rconst','group no.' skupiny přiřazované následně generovaným elementům Grafické znázornění výsledků uložených v zonách uzlových parametrů GD1 (G1) 'DOF:TEMP,UX,..RX,...PS, PSX,...','[1-BC,2-result,3-init]' Znázornění hodnot specifikovaného uzlového parametru u jednorozměrného modelu (např. potrubní sítě). Dvouuzlové elementy se vykreslují jako obdélníky vyplněné barvou, přičemž barevná škála odpovídá hodnotě uzlového parametru (černá min. , zářivě žlutá max.). Druhý parametr příkazu specifikuje zónu v níž jsou uzlové parametry ukládány: 1-BC znamená okrajové podmínky (to slouží spíše jen pro kontrolu zadání), 2-aktuální výsledky, 3-jsou počáteční podmínky.
GD2 (G2,GRAPH)
'DOF:TEMP,UX,..RX,...PS, PSX,...','[1-BC,2-result,3-init]' Znázornění hodnot specifikovaného uzlového parametru u dvourozměrného modelu (s trojúhelníkovými nebo čtyřúhelníkovými elementy). Elementy se vyplňují barvou, která odpovídá hodnotě uzlového parametru (černá min. , zářivě žlutá max.) a současně se čarami vykreslují hodnoty vrstevnic.
GCR (GC)
'index of curve','DOF:TEMP,UX,..RX,...PS, PSX,...','[1-BC,2-result,3-init]' Průběh specifikovaného uzlového parametru podél vybrané křivky. Je to XY graf, kde na horizontální ose je parametr t parametricky definované křivky (0 až 1). Výběr uzlových bodů je dán maximální vzdáleností od této křivky (tuto hodnotu lze nastavit parametrem TOL).
Grafická znázornění výsledků postprocessingu uložených v zonách parametrů elementů GE1 (GRAPS) '1-Nalfa,2-Nbeta,3-Malfa,4-Mbeta,5-Q' Tato varianta se uplatní při vykreslování výsledků jednodimenzionálních problémů (rotačně symetrické skořepiny, nebo potrubní sítě. Jako parametr se zadává index sloupce matice EPAR.
GE2
'1-EP1, 2-EP2, 3-EP3, 4-EP4,5-EP5' Stejná operace jako GE1, ale pro dvourozměrné problémy s trojúhelníkovými nebo čtyřúhelníkovými prvky. Každý element je vyplněn barvou, která odpovídá hodnotě ve specifikovaném sloupci matice EPAR (1 až 5). Význam parametrů závisí na typu analýzy (STR,UVP,…)
Grafické znázornění výsledků z předchozích časových kroků uložených v souboru *.OUT GRATIM (GT) 'Recorded parameter DOF' …a následuje výběr uzlů myší, podobně jako u operace PT. Vykreslí časové průběhy specifikovaného uzlového parametru v uzlech vybraných lokátorem (čtení souboru výsledků řešení všech časových kroků *.OUT). Během načítání časových kroků probíhá animace stejným způsobem jako u předchozí operace GD2 (kreslí se vrstevnice) a teprve poté se okno GRAPH přepne do zobrazeni X-Y a vykreslí se časové průběhy vybraného DOF.
LOADT (LT)
'Results from time [s]' Tato operace čte soubor *.OUT a vyhledává výsledky (uzlové parametry), které odpovídají specifikovanému času. Ty pak přenese do zony počátečních podmínek. Lze použít pro restart výpočtu nebo tehdy, když chceme vykreslit výsledky v určitém časovém kroku operací GD2.
Grafické znázornění průběhů předdefinovaných funkcí nebo tabulek GRAFUN 'Function (-10:50)','from','to' slouží spíše jen pro kontrolu správné definice CURDEF a FUNDEF FEM1.DOC last update 24.11.2002
Page 31 of 116
3.10. NMERGE
Vytvoření sítě elementů a uzlových bodů úprava matice konektivity spočívající ve ztotožnění odkazů na uzly, které mají stejné souřadnice (za totožné jsou považovány uzly, jejich relativní vzdálenost je dána parametrem TOL). V nové úpravě bezprostředně po modifikaci matice konektivity následuje ZRUŠENÍ nevyužitých uzlů (NCOMPRESS v Cosmosu)
Generování uzlů a elementů nezávisle na geometrických entitách (PT,CR,SF,VL) ND 'Kind (1-vertex,2-mid,3-center)', 'X', 'Y' nový uzel, definovaný podobně jako bod PT (možnost zadávat souřadnice myší): generují se stejné DOF jako v uzlech typu vrchol, strana nebo těžiště, tak jak je definováno u zvoleného typu analýzy (STR,…). Podobná operace jako PT. 'No of nodes', 'ND1', 'ND2', 'ND3',… generuje se nový element na základě již vytvořených uzlů
E
Generování sítě elementů na křivce nebo ploše. MCR 'CR index','Nx','Last/First(+/-)','NUE(2,3)' MSF 'SF index','Nx','Ny','Lx/Fx(+/-)','Ly/Fy(+/-)','NUE(3,4,5,6,7,8,9/-center/)' Vytvoří se elementy a uzly s alokovanými uzlovými parametry dle přednastaveného typu analýzy (STR,PSI,UVP). Parametr Last/First ovlivňuje zhušťování elementů k jedné straně (kladná hodnota) nebo symetricky na obě strany (záporná hodnota). NUE je počet uzlů elementu, což většinou už samo o sobě určuje zda jde o trojúhelník nebo čtyřúhelník; případná nejednoznačnost se řeší znaménkem NUE – záporná hodnota znamená, že poslední uzel je uprostřed elementu (NUE=-4 tedy označuje trojúhelník se čtvrtým uzlem v těžišti).
MCRC
'CR index','Nx','Last/First(+/-)','RC-group', 'Kind' Speciální elementy typu KIND (např. 1=trubka, 2=ideální mísič, 3=dělič). Explicitně se zadává číslo skupiny reálných konstant (bez ohledu na to, která skupina reálných konstant byla aktivní)
MCR2 (MHEX,MCRHEX) 'CR pipe 1', 'CR pipe 2','Nx', 'MPROP-pipe 1', 'MPROP-pipe 2', 'RC-pipe 1', 'RC-pipe 2', 'RC-HEXC', elementy typu VÝMĚNÍK – generuje se Nx dvojic stejně dlouhých dvouuzlových elementů typu PIPE na křivkách 1 a 2 (s explicitne zadanými skupinami reálných konstant a materiálových vlastností) a současně se vytvoří Nx čtyřuzlových elementů, které spojují dvojice odpovídajících elementů PIPE (explicitně se uvádí jen skupina reálných konstant v níž je specifikována mj. teplosměnná plocha). Pro každý 4-uzlový element se ukládají do zóny parametrů elementů IEPAR indexy elementů PIPE z nichž je element výměníku tvořen (využívá se poslední a předposlední sloupec matice IEPAR) – toto opatření slouží ke zrychlení výpočtu.
3.11. Zadávání hodnoty a atributu zvoleného uzlového parametru v uzlech na křivce nebo na ploše (uvnitř plochy, ne na její hranici). Tímto způsobem se definují silné okrajové podmínky (status parametru IPU<0) i zatížení (status IPU>0) nebo slabé okrajové podmínky 3.druhu (IPU>20). NFCR (FCR)
'CR index', 'DOF:TEMP,UX,..RX,...PS, PSX,...','status (BC)', 'P1(left)','P2(right)','P3(midpoint)' Příklad, definice rychlostního profilu funkcí FUNDEF -2,1.5*(1-YY**2) (funkce č.-2, např.parabola) NFCR 17,VX,-2,1,1,1 (rychlost uy na křivce 17) Příklad okrajové podmínky přestupu tepla TE(1)=20 (vnější teplota jako RC konstanta elementů) NFCR 10,TEMP,21,200,200,200 (α=200 na křivce 10)
NFSF (FSF) NF (F) NFPT (FPT)
'SF index', 'DOF:TEMP,UX,..RX,...PS, PSX,...' ,'status (BC)', 'P1','P2','P3','P4','P5m','P6m', 'P7m','P8m' 'ND index', 'DOF:TEMP,UX,..RX,...PS, PSX,...' ,'status (BC)','Value' 'PT index', 'DOF:TEMP,UX,..RX,...PS, PSX,...','status (BC)','Value'
FEM1.DOC last update 24.11.2002
Page 32 of 116
Pro zjednodušení postupu zadávání okrajových podmínek pro složky rychlostí, proudové funkce a jejích derivací jsou k dispozici příkazy WALL 'CR index', 'PSI' INLETA 'CR index', 'u-mean', 'Cyl.-1' (centrální kanál, Cyl=0 rovinné, =1 osově symetrické proudění) INLET 'CR index', 'u1', 'u2', 'Cyl.-1' (zadány hodnoty rychlostí v koncových bodech křivky) Přiřazení počátečních podmínek (implicitně jsou to nuly) INITIA (INI) 'DOF:TEMP,UX,..RX,...PS, PSX,...', 'Function (-10:50)' MOFE 'DOF', 'Index of EPAR(1:5)' MOve degree of Freedom to Element parameters Tato operace vypočítá aritmetický průměr specifikovaného DOF v každém elementu a uloží do zony parametrů elementu (do zvoleného sloupce matice EPAR).
FEM1.DOC last update 24.11.2002
Page 33 of 116
3.12.
Výpočet (OPERACE)
Následující příkazy spouští řešení vybraných problémů. Až na výjimky je pro řešení použita frontální metoda, opakovaná u nestacionárních nebo nelineárních problémů v několika časových/ iteračních krocích. Specifikum problému (operace) je ukryto v procedurách, které definují element (tj. lokální matici soustavy a vektor pravé strany), přičemž jméno procedury je totožné se jménem operace. Operace implementované v jádru programu FEMINA pokrývají čtyři oblasti: transportní rovnice, potrubní sítě, statická analýza pružných konstrukcí, a konečně modely diskrétních průtočných systémů popisovaných soustavami obyčejných diferenciálních rovnic (bližší popis jednotlivých operací a příslušných procedur je uveden v kapitole 4). 3.12.1. TRANEQ. První skupina operací se týká nestacionárního proudění se současným přenosem tepla i hmoty, chemickou reakcí a objemovým zdrojem tepla. V každém časovém kroku se řeší posloupnost dílčích problémů, přičemž je možné zvolit různou CFD kombinaci metod výpočtu proudění (i když ne každá kombinace je přípustná, a např. pro výpočet proudění je obvykle třeba vybrat jen jednu metodu, záleží na tom, jaké elementy 2D byly vytvořeny). Protože většina těchto subproblémů je nelineární (výjimkou je rozložení elektrického potenciálu a transport hmoty) je možné na každé časové hladině iterovat až do té doby, než je dosaženo zvolené přesnosti – celočíselné parametry PENS,UVP,… určují max. počet iterací. Zadání nulového počtu iterací znamená vyřazení příslušné operace z celé sekvence. TRANEQ
'Initial Time','No. of time steps','dt [s]' sekvence různých metod řešení vybraných transportních rovnic závísí na nastavení přepínačů THER,ELEC,CONC,PSOM,PSIN,PSBL,UVP,UVPP,PENS (použitelné pro uzlové parametry odpovídající typu analýzy PSI nebo UVP, elementy T3,T6,Q4,Q8)
TRANEC
'No. of new time steps','new dt [s]' -pokračování TRANEQ se změněným časovým krokem nebo jinou sekvencí operací
A_TRAN
základní parametry operace TRANEQ (především výběr jedné ze šesti možných metod výpočtu proudění /PENS,UVP,UVPP,PSOM,PSIN,PSBL/, nastavení upwindu, příznaků požadujících respektování vztlaku, či vnitřního ohřevu, specifikace počtu iterací jednotlivých operací v každém časovém kroku atd). Po zadání těchto parametrů se provádí některé kontroly, např. se zjišťují chybějící materiálové parametry, okrajové podmínky. I=1,…,N (∆t) PENS
PENS
NS rov., rychlosti, eliminace tlaku met. pokutové funkce
UVP
UVP
NS rov., rychlosti a tlak
UVPP
UVPP
NS rov., rychlosti a tlak (pseudostlačitelná kap.)
PSOM
PSOM
NS rov., proudová funkce a vířivost
PSIN
PSIN
NS rov., proudová funkce (kubické polynomy)
PSBL
PSBL
NS rov., proudová funkce (Bellovy polynomy 5-stupně)
ELEC
ELEC
Elektrický potenciál
THER
THER
Teplotní pole
CONC
CONC
Rozložení koncentrace
end loop ∆t
FEM1.DOC last update 24.11.2002
Page 34 of 116
Provádění jednotlivých operací samostatně (jen některé z nich jsou součástí výše uvedené sekvence řešení nestacionárních úloh)
THER (THERMAL) 'Initial Time','No. of time steps','dt [s]' teplotní pole (uzlové parametry typu PSI nebo UVP, elementy T3,T6,Q4,Q8)
CONT
'No. of new time steps','new dt [s]'
CREE (CREEP) CRBL PSIN PSBL PSOM UVP UVPP PENS MIKE MIDE ELEC CONC
teplotní pole-pokračování THERMAL (uzlové parametry PSI nebo UVP) plouživé proudění – proudová funkce ψ ψ,x ψ,y (uzlové parametry typu PSI, element T3) plouživé proudění – proudová funkce ψ ψ,x ψ,y ψ,xx ψ,yy ψ,xy (uzlové parametry typu PBL, element T3) Navier Stokes, proudová funkce ψ ψ,x ψ,y (uzlové parametry typu PSI, element T3) Navier Stokes, proudová funkce ψ ψ,x ψ,y ψ,xx ψ,yy ψ,xy (uzlové parametry typu PSBL, Bellův element T3) Navier Stokes, proudová funkce ψ, vířivost ω (uzlové parametry typu PSI, element T3,T6,Q4,Q8) Navier Stokes, rychlosti ux uy tlak p, nestlačitelná kapalina (uzlové parametry typu UVP, element T6) Navier Stokes, rychlosti ux uy tlak p, pseudostlačitelnost (uzlové parametry typu UVP, element T6) Navier Stokes, rychlosti ux uy , eliminace tlaku metodou pokutové funkce (uzlové parametry typu UVP, element T3,T6,Q4,Q8) rychlostni pole ux uy s minimální kinetickou energií, tlak p je stanoven metodou Lagrangeových multiplikátorů. Uzlové parametry typu PSI nebo UVP, elementy T3,T6,Q4,Q8. rychlostni pole ux uy s minimální dissipovanou a kinetickou energií, a minimálním kvadrátem rezidua rovnice kontinuity (metoda nejmenších čtverců). Uzlové parametry PSI/UVP, elementy T3,T6,Q4,Q8. Elektrický potenciál (uzlové parametry typu PSI nebo UVP, elementy T3,T6,Q4,Q8) Přenos hmoty s reakcí (uzlové parametry typu PSI nebo UVP, elementy T3,T6,Q4,Q8)
Poznámka: Uvedená klíčová slova mají dva významy, jsou jménem operace a zároveň i jménem proměnné určující počet iterací opakovaných v rámci jednoho časového kroku. Příklad: ELEC=3 (tři iterace) ELEC (spuštění operace ELEC)
3.12.2. PIPEQ. Podobný způsob provádění operací jako při řešení transportních rovnic je použit i při analýze potrubních a výměníkových sítí (1D problémy, dvouzlové elementy typu trubka nebo čtyřuzlové elementy popisující dvouproudý výměník tepla). Analogií PIPE operací TRANEQ/TRANEC jsou PIPEQ/PIPEC, kombinující tři elementární operace: PIPE (výpočet rozložení tlaků), HEXC (teplotní pole) a RTD (koncentrace). PIPEQ
'Initial Time','No. of time steps','dt [s]' sekvence PIPE,HEXC,RTD dle nastavení přepínačů (použitelné pro uzlové parametry odpovídající typu analýzy RTD, a dvouuzlovén elementy L2)
PIPEC
'No. of new time steps','new dt [s]' -pokračování PIPEQ se změněným časovým krokem nebo jinou sekvencí operací
A_PIPE
základní parametry operace PIPEQ (nastavení upwindu, počtu iterací jednotlivých operací v každém časovém kroku atd). Podobné příkazu A_TRANE. I=1,…,N (∆t) PIPE
PIPE
rozložení tlaků
HEXC
HEXC
rozložení teplot (ohmic.ohřev) a výpočet výměníků
RTD
RTD
rozložení koncentrací značkovací látky
ELE1
ELE1
elektrický potenciál
end loop ∆t
FEM1.DOC last update 24.11.2002
Page 35 of 116
Provádění jednotlivých operací PIPE Rozložení tlaků a výpočet průtoků v potrubní síti (uzlové parametry typu RTD, elementy L2) HEXC Teplotní pole v potrubní síti s výměníky tepla (uzlové parametry typu RTD, elementy L2, V4) Rozložení koncentrací látky v potrubní síti (uzlové parametry typu RTD, elementy L2) RTD 3.12.3. STRESS. Třetí skupinu tvoří několik operací statických výpočtů elastických těles. I tyto operace však mohou navazovat na předchozí; např je možné vypočítat rozložení tlaků v potrubní síti, stanovit střední hodnoty tlaku v jednotlivých elementech, vložit je do zony STR parametrů elementů (příkazem MOFE) a pak propočítat napjatost potrubních prvků odpovídající vnitřnímu přetlaku a silovému či momentovému zatížení. Stejně tak je ESS možné využít výsledky operace HEXC (rozložení teplot v potrubní síti) pro zahrnutí vlivu dilatací na deformace a napjatost. BEAM nosníky, potrubní síť TRUS (TRUSS) 'Number of random trials', '∆u' SHEL (SHELLAX) PLAN (PLANE2)
táhla nelineární problém metodou Monte Carlo (uzlové parametry typu STR) rotační skořepina (uzlové parametry typu STR) rovinná napjatost, rovinná deformace a rotačně symetrická (i symetricky zatížená) tělesa.
3.12.4. RTD. Čtvrtou skupinu příkazů představují operace, zaměřené na modelování časových průběhů, především koncentračních odezev systémů, popisovaných soustavami obyčejných diferenciálních rovnic (jde o modely, nazývané někdy kompartmentové, nebo RTD „lumped parameter“ modely). Tato skupina operací není založena na metodě konečných prvků, ale na numerické integraci soustavy obyčejných diferenciálních rovnic metodami typu Runge Kutta. Výsledkem jsou časové průběhy predikované matematickým modelem a ty je možné porovnávat s experimentálně stanovenými časovými průběhy odezev systému s čímž souvisí řada operací pro výpočet charakteristik (momentů) časových průběhů, jejich vyhlazování, interaktivní editace atd. Všechny tyto operace lze ale využít i pro zpracování výsledků nestacionárního řešení předchozích problémů. Časové průběhy jsou v databázi FEMINA uloženy jako tabulka ti, yi nazývaná matice bodů pozorování. První sloupec tabulky je čas, který tvoří společnou časovou základnu pro všechny funkční průběhy. Maximální počet bodů tabulky je 1024 a maximální počet sloupců 10 – jednotlivé časové průběhy jsou označovány indexem 2 až 10. Základní operace s maticí bodů pozorování byly popsány v kap. 2.8: TCEDIT (TCE) editace bodů vybrané křivky myší (lze zvolit několik různých režimů editace) TCINPUT (TCI)zadávání hodnot vybraného sloupce přímo z klávesnice TCSET (TCS) specifikace typu sloupců matice bodů pozorování TCLIST (TCL) zobrazení matice bodů pozorování TCF přiřazovací příkaz
Pro označení sloupce jsou vyhrazeny proměnné C1,C2,…,C10 a součástí příkazu může být i proměnná I – index bodu pozorování (index řádku matice bodů pozorování). Příklady: C1=0.1*I definuje ekvidistantní časy (první sloupec 0.1, 0.2, 0.3,…), C2=EXP(-0.05*C1),…
TSTEP
'No. of time steps','Time step dt [s]'
FEM1.DOC last update 24.11.2002
Page 36 of 116
RMODEL
'Model name' Čtení modelu popisujícího soustavu obyčejných diferenciálních rovnic z textového souboru. Model je definován jednoduchým jazykem se stejnou syntaxi jako jazyk používaný používaný pro zápis parametrů (výrazů) příkazů programu FEMINA (dokonce lze používat stejné předdefinované systémové proměnné).
Příklad: Ideal mixers series Toto je jen úvodní text, slovní popis modelu (v tomto případě jde o model serie ideálních misičů se dvěma PM1-number of mixers parametry, počtem mísičů a celkovou střední dobu prodlení) PM2-mean residence time \\ini real tm Sekce programu, která se provádí jen jednou, před začátkem numerického řešení. Deklarace, definované v této neq=pm(1) sekci, mají platnost i v sekci následující (např. proměnná TM-časová konstanta jednoho mísiče). V INI sekci se tm=pm(2)/neq ale především definují počáteční podmínky (např. počáteční koncentrace v prvním mísiči). cm(1)=1/tm \\mod Teprve v sekci MOD je definován vlastní model: pod definicí se rozumí předpis výpočtu prvních dcm(1)=(xv(1)-cm(1))/tm derivací počítaných veličin (zde např. koncentrací CM(1),CM(2),…,CM(NEQ) jejichž derivace jsou for i=2,neq do označeny DCM(1),…,DCM(NEQ)). [ dcm(i)=(cm(i-1)-cm(i))/tm ] yv(1)=cm(neq) \\par Definice parametrů (default). IDENUM idenum=1000001 method=1 inp=1 out=1 npar=2 NEQ=5 je číslo určující grafické zobrazení x1=1 y1=2 modelu, METHOD způsob řešení No.of mixers: pm(1) default=5 min=1 max=100 relFAKT=0.1 Mean residence time: pm(2) default=1 min=0.01 max=50 relFAKT=0.2 soustavy rovnic, INP,OUT počet
Řádek začíná textem dialogu zadávání parametru, zakončeným dvojtečkou. Pak následuje jméno parametru – pro potřeby těchto modelů byl vyhrazen vektor PM, nicméně jako parametr může být použit libovolný prvek databáze specifikovaný jménem systémové proměnné. Pro definici modelu tedy lze použít třeba souřadnici vztažného bodu XPT(20). Následující položky jsou již identifikovány klíčovými slovy, takže na jejich pořadí nezáleží a mohou být vynechány.
vstupů/výstupů, NPAR-počet parametrů modelu, NEQ-rovnic, X1,Y1 indexy vstupních a výstupních průběhů. Pro každý parametr modelu je pak rezervován jeden řádek dat.
Poznámka: Syntaxe jazyka použitého pro definici modelu spolu s výčtem předdefinovaných proměnných databáze jsou uvedeny až v následujícím odstavci.
PARDEF PARLIM PARSET
‘No.of parameters’,’P1-name’,’P2-name’,…definice (lokalizace) parametrů modelu ‘MIN P1’,’MAX P1’,’MIN P2’,’MAX P2’,… určení mezí parametru modelu 'P1', '0-supressed,1-linear,2-nonlin,3-search', 'P2', '0-supressed,…', .. Určení toho, které parametry modelu se mají počítat regresí – porovnáním predikce modelu s experimentálními nebo numericky vypočtenými daty (časovými průběhy). Označení parametru jako LINEAR značí, že predikce modelu je vůči tomuto parametru lineární nebo alespoň přibližně lineární – této skutečnosti je využíváno pro zlepšení konvergence regresní analýzy. Hodnotou NONLIN označujeme nelineární parametr, pro jehož vyhodnocení bude používána Marquardtova Levenbergova metoda. Označení SEARCH se týká parametru, který bude stanoven jednorozměrným hledáním (jednorozměrnou minimalizací odchylek mezi modelem a daty).
METHOD
'M: 0-Euler,>0-RK fix.dt,<0-variab.step', 'no.of equat', 'no. basic steps','basic time step' Metoda integrace dif.rovnic: Eulerova nebo 4-bodová Runge Kutta. V případě metody Runge Kutta lze zvolit fixní integrační krok (M-krát menší než tiskový krok /basic time step/) nebo proměnný integrační krok, upravovaný tak, aby bylo dosaženo požadované přesnosti 10**M.
INPUT
'Number of stimulus functions X', 'Index of TC as input X1', 'Index… X2',…
OUTPUT
'Number of response functions Y', 'Index of TC as response Y'
Počet vstupních funkcí (časových průběhů definovaných tabulkami dat t-c) Počet výstupních funkcí – zaznamenaných odezev (časových průběhů definovaných tabulkami)
COMPAR
'Number of TC pairs', 'Index of the first TC in the pair', 'Index of the second ',… Určení dvojic odezev (predikce – experiment) a vah, které jsou použity pro vyčíslení odchylky mezi predikcí modelu a naměřenými průběhy odezev.
CRITER
'Criterion for TC comparison'
FEM1.DOC last update 24.11.2002
Page 37 of 116
Volba normy odchylky dvou křivek – časových průběhů (tato norma je pak použita i pro charakterizaci odchylek několika párů odezev, viz. COMPAR). N
0:
∑ i =1
y1 (t i ) − y 2 (t i ) / N , N
2:
∑ ( y (t ) − y i =1
1
i
2
∫ y (t ) − y 1
0
∑ ( y (t ) − y 1
i =1
(t i )) 2 / N , 3:
T
4: (
N
1:
i
2
(t i )) / max( y1 (t i ), y 2 (t i )) / N
N
∑ (( y (t ) − y i =1
1
i
2
(t i )) / max( y1 (t i ) − y 2 (t i ))) 2 / N
T 2
(t ) dt ) / T ,
∫
5: ( ( y1 (t ) − y 2 (t )) / max( y1 (t ), y 2 (t )) dt ) / T 0
T
6:
( ∫ ( y1 (t ) − y 2 (t )) 2 dt ) / T , 7: 0
COPYTO (CTO) 'Copy from (curve index)','to (curve index)' MOMENT 'Index of curve' Výpočet plochy, prvního a druhého momentu (těžiště a variance) NORM 'Index of source curve','Index of normalised curve','0-unit area,1-unit mean time' Normalizace časového průběhu na jednotkovou plochu nebo dokonce i na jednotkový první moment – těžiště.
IDMSER
'Index of new curve','No.of mixers (real!)','Mean residence time' Generování funkčního průběhu odpovídajícího impulsní odezvě N-ideálních mísičů se zadanou střední dobou prodlení celého systému. Parametr specifikující počet mísičů nemusí být celé číslo.
PASERI
'Index of new curve','1.serie','2.serie','f=Q1/Q','alfa=V1/V','Mean residence time' Generování funkčního průběhu odpovídajícího impulsní odezvě dvou paralelních serií N1 a N2ideálních mísičů se zadanou střední dobou prodlení celého systému. Parametr f je relativní průtok a parametr α relativní objem paralelní větve číslo 1.
SMOOTH
'Source curve','Smoothed curve index','Method 0-linear,>0-quadratic,<0-median' Vyhlazení časového průběhu, založené na lokálním nahrazení funkčního průběhu lineární či kvadratickou funkcí. Koeficienty aproximačních polynomů jsou jsou stanoveny z požadavku nejmenšího součtu čtverců odchylek ve specifikovaném počtu bodů, a dále požadavkem spojitosti aproximační funkce v navazujících úsecích (tj. v bodech ti). Pro záporné hodnoty parametru Method se k vyhlazení používá medián 2N+1 bodů (N-bodů za a N-bodů před i-tým bodem tabulky).
TCRND
'Index of source curve','NOISED curve','Noise 0-absolute,1-relative', 'mean amplitude' Generování umělého bílého šumu generátorem pseudonáhodných čísel s Gaussovskou distribucí (parametr „mean amplitude“ je variancí Gaussovy distribuce).
TAIL
TCLIP TCBGR
'Index of source curve','Corrected curve index','Tail: 0-exp(t), 1-t.exp(t), 2-A/t^3' Nahrazení chvostu zvoleného časového průběhu funkcemi exponenciálního nebo hyperbolického typu (což odpovídá difuznímu, resp. konvektívnimu modelu systému). Interval bodů, které jsou použity v regresní analýze pro identifikaci chvostu se specifikuje myší, stejně tak jako bod, od kterého se má nahrazení chvostu provést. Protože aproximační funkce je typu Konstanta + asymptoticky doznívající funkce, je výsledkem regrese i stanovení této konstanty a operaci TAIL lze využít i pro stanovení vertikálního posuvu odezvové funkce, který odpovídá vlivu pozadí. 'Index of curve' odříznutí záporných hodnot odezvy (nahrazení nulou)
'Source curve (curve index)','corrected curve (index)' Korekce časového průběhu, která kompenzuje změnu (zvyšování) pozadí v průběhu experimentu.
TCSHFY
'Index of curve (source)','Index of modified curve','Shift vertically by increment' Posunutí časového průběhu ve vertikálním směru o zadanou (kladnou či zápornou) hodnotu.
TCFFT (FFT)
'Deconvolution E=Y/X (1), convolution (2), cross-correlation (3), filter (4)', 'Column X', 'Column Y', 'Col. E','Smoothing'
Lineární a nelineární regrese dat v matici bodů pozorování – předdefinované regresní funkce LINREG NELREG
'Degree of polynomial','Column X','Column Y','Column prediction','Column sigma' 'Model (0-unknown,1-exp,2-dexp,3-Gauss)',
FEM1.DOC last update 24.11.2002
Page 38 of 116
'Column X', 'Column Y', 'Col. prediction','Col. sigma'
FEM1.DOC last update 24.11.2002
Page 39 of 116
3.13.
Interpretace příkazového souboru
Příkazem FILE soubor je možné načíst příkazy v tom tvaru, v jakém byly zadávány z příkazové řádky a okamžitě je provést (tím je pověřen modul COMFIL, o němž bude hovořeno i v následujícím textu). Kromě výše uvedených příkazů je možné zapsat i pokyny k provádění skoků nebo cyklů, dle naprosto stejné syntaxe, jaká je použita v programu COSMOS #LOOP návěští N #LABEL návěští #GOTO návěští #IF relace THEN #ELSE #ENDIF
opakování příkazů až k návěští N-krát (N může být výraz) nepodmíněný skok na návěští podmíněný příkaz (relace může být libovolný výraz, jeho hodnota různá od 0 je true)
Jako návěští může být použit libovolný znakový řetězec o délce maximálně 4 znaků. Nelze používat jedno návěští pro více vnořených cyklů (každý cyklus #LOOP je třeba ukončit jiným návěštím). Příklad: i=0 #loop alfa 10 i=i+1 #if i<5 then disp i #endif #label alfa
3.14.
Optimalizace parametrů modelu
V předchozích odstavcích (3.12.4. - RTD) byl uveden matematický model, popisující analyzovaný systém soustavou obyčejných diferenciálních rovnic. Soustava rovnic byla napsána jako text, který byl při řešení soustavy interpretován. Vstupem byl vektor parametrů, které bylo třeba před integrací soustavy definovat, a výstupem vektory, popisující odezvy systému jako funkce času (obecně Nodezev s ekvidistantním krokem ukládané do matice bodů pozorování). Koncept matematického modelu lze rozšířit a chápat ho jako proceduru, která pro zadaný vektor parametrů vypočítá vektory odezev v matici bodů pozorování. Modelem může být tedy i uživatelský příkazový soubor zpracovávaný modulem COMFIL, viz.3.13. Příkazový soubor ale musí být napsán tak, aby jeho výstupem byly vektory v matici bodů pozorování. To lze zajistit např. operací POST, která zpracovává soubor výsledků nestacionárního řešení FEM a předává vypočtené hodnoty integrálů do specifikovaných sloupců matice bodů pozorování (do této kategorie patří i postprocessing CFD výpočtů algoritmy kolimovaných detektorů). Triviální, i když docela praktickou, možností je použít operaci TCF pro definici sloupce matice bodů pozorování algebraickým výrazem s libovolnými parametry modelu. Zobecněný model tedy můžeme chápat jako proceduru subroutine GMODEL(ITYP,POPT,IOPT,NOPT) dimension POPT(NOPT),IOPT(NOPT) která provádí následující operace při ITYP=0 řeší soustavu diferenciálních rovnic popisovanou aktivním interpretovaným modelem, jako vzruchové funkce jsou použity delta funkce (jde tedy o model impulsní odezvy), FEM1.DOC last update 24.11.2002
Page 40 of 116
při ITYP=1 se opět řeší soustava diferenciálních rovnic aktivního modelu, ale jako vzruchové funkce jsou použity obecné průběhy specifikované jako sloupce dat v matici bodů pozorování, při ITYP>1 se interpretuje soubor, který je otevřen na zařízení číslo ITYP (výpočet zajišťuje procedura COMFIL stejně, jako při operaci FILE soubor, popsané v předchozím odstavci). Soubor musí být otevřen příkazem OPEN. POPT(i) IOPT(i)
jsou vstupní hodnoty vybraných parametrů modelu (týká se jen těch parametrů, které mají být optimalizovány), výběr optimalizovaných parametrů: indexy parametrů, kterým se při volání procedury GMODEL přiřazují hodnoty POPT(i).
Pod pojmem parametry modelu máme na mysli datové struktury, použité při definici RTD modelu, které jsou popsané v databázi FEM, konkrétně NUMODP počet parametrů (musí být větší než NOPT) LMODEL(i) lokalizace i-tého parametru (pořadí parametru v zoně COMMON /FEM/) JMODEL(i) typ parametru (=1 real, =2 integer) KMODEL(i) jakou metodou má být parametr optimalizován (=0 nijak, =1 lineární regresí, =2 nelineární regresí, =3 nederivačními algoritmy) RMODEL(i) relaxační faktor využitý při iteračím výpočtu optimalizovaného parametru ZMINP(i),ZMAX(i) minální a maximální přípustné hodnoty parametru Výstupem modelu jsou přímo sloupce dat (odezvy) v matici bodů pozorování, opět v souladu s konvencemi modelu soustavy obyčejných diferenciálních rovnic NOUTPUTS počet odezev MOUTPUTS(i) index sloupce matice bodů pozorování odpovídající i-té odezvě. Každé výstupní funkci (každému modelovému výstupu) je možné přiřadit funkci získanou experimentálně (načtenou jako tabulku dat ze souboru), nebo třeba numerickým experimentem NCOMPAR počet porovnávaných odezev (musí být menší nebo roven NOUTPUTS) ICOMPAR(1,j) mj index sloupce j-té predikce modelu (některý ze sloupců MOUTPUTS) ICOMPAR(2,j) ej index sloupce porovnávaných experimentálních dat ICOMPAR(3,j) wj index sloupce váhových koeficientů (je-li 0, uvažují se jednotkové váhy) Označíme-li L počet porovnávaných dvojic odezev, N počet bodů pozorování (časových kroků) a yi,j prvek matice bodů pozorování, můžeme odchylku predikce modelu a experimentálních dat charakterizovat váženým součtem čtverců L
N
s 2 ( p1 , p 2 ,..., p NOPT ) = ∑∑ ( y i ,e − y i ,m ) 2 y i ,w j =1 i =1
j
j
j
Nyní lze hledat takové hodnoty parametrů modelu p1,…,pNOPT, které minimalizují odchylku s2. Pro takto definovanou účelovou funkci lze pro řešení tohoto problému použít Marquardtovu metodu s tím omezením, že první derivace modelu dle optimalizovaných parametrů se musí aproximovat numericky (viz. teoretický manuál, kapitola 4). Operace, které zajišťují optimalizaci parametrů modelu se od ostatních operací liší tím, že jsou realizovány na vyšší hladině, což je patrné z následujícího schematu zpracování příkazů v programu FEMINA Poznamenejme, že pro výběr, zadávání počátečních hodnot a mezí parametru modelu platí stejné příkazy jako u modelů RTD, tj FEM1.DOC last update 24.11.2002
Page 41 of 116
PARDEF PARSET PARLIM OUTPUT COMPAR LINE i neúplná příkazová řádka doplňovaná v dialogu ELIST
GTIM
…..
MACRO
dialog
dialog
…..
dialog
Výpis
Graf
…..
PT
MSF
PIPE
…..
READ
FILE
dialog
dialog
dialog
…..
dialog
dialog
OPTIMA dialog minim.algoritmus
přesměrování vstupu příkazů
COMFIL
GMODEL
LINE úplná příkazová řádka PT
MSF
PIPE
…..
READ
operace
operace
operace
…..
operace
Výkonný modul OPERAT
Základní operací, která optimalizuje všechny parametry modelu, mající specifikaci 1 (lineární regresní parametr) nebo 2 (nelineární regresní parametr), zajišťuje operace OPTIMA
'Model 0,1 dif.eq., >1 file','Number of iteration' Model, je buď interpretovaná soustava obyčejných diferenciálních rovnic, nebo model zcela obecný. Model 0,1 již musel být načten ze souboru příkazem RMODEL, ostatní modely musí být připraveny v souboru, který je otevřen příkazem OPEN.
Typická sekvence příkazů je následující OPEN - otevření souboru, který popisuje operace, jejichž výsledkem je např. sloupec 2 matice bodů pozorování a jehož hodnoty závisí na nějakých parametrech, např. A,B. T - počet a velikost časových kroků, použitých pro simulaci READ - přečtení experimentálních dat, která mají být porovnána s predikcí modelu (např. sloupec 3) COMPAR - definice toho, jak se počítá odchylka emzi predikcí modelu a experimentálními daty PARDEF - definice parametrů modelu PARSET - počáteční hodnoty parametrů modelu (a specifikace toho, které parametry jsou regresní, a které fixní) PARLIM - zadání minimálních a maximálních hodnot regresních parametrů, OPTIMA - provedení optimalizace.
FEM1.DOC last update 24.11.2002
Page 42 of 116
3.15. Způsoby zpracování příkazů V zásadě existují tři poněkud odlišné způsoby, kterými se zadávají jednotlivé příkazy programu FEMINA. O všech již byla zmínka v předchozích odstavcích, proto uveďme jen souhrnné charakteristiky a porovnání:
Interpretace příkazového souboru jmeno.SES bez jakékoliv možnosti interakce (zpracování souboru je aktivováno příkazem FILE): Každý řádek souboru *.SES představuje jeden příkaz, interpretovatelný procedurou OPERAT – příkazy, které nejsou v jejím repertoáru se přeskočí. Každý příkaz je třeba uvést se všemi potřebnými parametry (chybějící parametry totiž nelze dodatečně doplňovat, a zadávat např. souřadnice bodu myší nebo z klávesnice). Do repertoáru procedury OPERAT nepatří např. příkazy typu LIST, PLOT, GRAF určené pro interaktivní práci, ale patří sem příkazy pro řízení sekvence zpracování, např. #GOTO, #LOOP,…, a pochopitelně všechny výkonné příkazy (definice entit, generování sítě, vlastní výpočty a dokonce i volání externích programů). Zpracováním souboru *.SES je pověřen modul COMFIL, jehož zavolání vyřeší konkrétní úlohu popsanou příkazy v tomto souboru, automaticky, bez zásahu operátora a tedy třeba opakovaně při hledání optima zvolených parametrů modelu (cílem optimalizace může být např. minimalizace odchylky mezi experimentálními daty a predikcí konečněprvkového modelu). Režim MACRO (příkaz MACRO jmeno) je zdánlivě podobný: opět se interpretují příkazy zapsané v textovém souboru, jenomže tentokrát soubor není zpracován modulem COMFIL jako uzavřená a předem plně definovaná úloha, nýbrž se pouze přepne vstup zadávání textu příkazů z klávesnice na zvolený soubor. To znamená, že nelze provádět příkazy skoků nebo cyklů #GOTO, #LOOP, ale zase na druhé straně je možné doplňovat chybějící parametry v navazujícím dialogu: Soubor tudíž může představovat jen obecný předpis pro řešení určitého typu problému (může obsahovat třeba jen názvy jednotlivých příkazů, které je třeba provést) a konkrétní hodnoty parametrů se doplňují až během dialogu. Součástí makra mohou být všechny příkazy, používané v interaktivním režimu, tj. příkazy typu LIST, PLOT, GRAF… Zvláštní význam mají řádky začínající na C* (celý řádek je jen poznámka), Q* (zpracování makra se předčasně ukončí a přechází se do normálního interaktivnímu režimu) a R* (nabídka možnosti zopakování předchozího příkazu, ale patrně s jinými parametry). Poznámka: V režimu MACRO je možné zadávat (měnit) hodnoty proměnných v databázi nejen použitím přiřazovacího příkazu (např. A=1.234), ale i příkazem VALUE název_zadávaného_parametru název proměnné (výraz). První parametr se zobrazuje jako text dialogu a z klávesnice zadaná hodnota se přiřadí pozici v databázi, odpovídající specifikované proměnné. Interaktivní režim, v němž se příkazy zadávají z klávesnice a parametry příkazů během dialogu. Pokud není nalezeno klíčové slovo příkazu z taxativního seznamu jmen, zjišťuje se, zda by nemohlo být jménem externího programu (seznam těchto jmen je v inicializačním souboru FEMINA.CMD, který se čte vždy při spouštění programu FEMINA.EXE). Pokud tomu tak je, rozvine se standardní dialog zadávání parametrů potřebných pro spouštěný program (popis dialogu je uveden v souboru FEMINA.CMD) a teprve pak se externí program spustí. Když první slovo příkazového řádku není klíčovým slovem je učiněn pokus interpretovat ho jako příkaz interního interpretu programů (např. A=1.234) – to je koneckonců asi nejjednodušší a nejrychlejší způsob zadávání parametrů. Pokud je interpretem zjištěna chyba, zkouší se ještě poslední možnost – chápat klíčové slovo jako příkaz operačního systému MS-DOS. Teprve tehdy, když ani tento pokus nekončí úspěšně, zobrazí se text „unrecognized command“ a volá se procedura HELP, která se snaží nalézt podobně zněnící příkazy (obvykle nabízí několik variant).
FEM1.DOC last update 24.11.2002
Page 43 of 116
3.16.
Předdefinované proměnné interpretu výrazů
Všechny proměnné a funkce jsou označovány identifikátory o délce maximálně 8 znaků. Seznam předdefinovaných proměnných i s vysvětlením jejich významu lze získat příkazem VARLIST. a)
Jednoduché proměnné
Proměnné TIME,XX,YY,TEMP,UX,UY,SINV,DP,RE,DE lze používat jako argumenty funkcí při definici okrajových nebo počátečních podmínek. Proměnným TEMP, UX,…,EPS jsou přiřazovány hodnoty 1,2,…,24, takže je lze použít pro identifikaci DOF. 'TIME','XX ','YY ','ZZ ','SINV','TEMP','UX ','UY ','RZ ','VOLT','VX ','VY ', 'PRES', 'OMG ','PS ','PSX ','PSY ','PSXX','PSYY','PSXY','CA ','CN ','CD ','KT ','EPS ' Poznámka: SINV-druhý invariant rychlosti deformace, DP-tlaková ztráta, OMG-vířivost, PS-proudová funkce,…
Jednoduché proměnné (REAL A,B,…, INTEGER I,J,…,N), které jsou k dispozici pro volné použití: 'A ','B ','C ','D ','E ','F ','G ','H ','I ','J ','K ','L ','M ','N ','O ','P ','Q ','R ', 'S ','T ','U ','V ','W ','X ','Y ','Z ', Systémové proměnné (INTEGER) 'NPT ','NCR ','NSF ', 'NVL ','NE ','ND ','NGRP','NRC ','NMAT', počty bodů, křivek, ploch, objemů, elementů, uzlů, skupin elementů, RC a mat. parametrů,
'STEP','DT ' (REAL) počet časových nebo iteračních kroků, velikost časového kroku, Příklad: DISP DT zobrazení hodnoty časového kroku
'GX ','GY ','RUPW', 'SCL ', 'LAMB', 'PIVT','TOL' (parametry REAL) zrychlení ve směrech x,y, korekce standardně vypočteného koeficientu upwindu (RUPW), nastavení zvětšení pro vykreslování deformované konstrukce (SCL=0 automatický scale), penalizační parametr λ (LAMB) používaný při řešení Navierových Stokesových rovnic metodou pseudo-stlačitelnosti, minimální přípustná velikost pivotačního prvku (PIVT), maximální vzdálenost dvou uzlů nebo bodů, které mohou být ztotožněny při operaci slučování uzlů (TOL). Příklad: SCL=0.1 deformovaná konstrukce se bude vykreslovat s přírůstky UX,UY násobenými 0.1.
'VELO','BUOY','OHMI','UPW ', (přepínače INTEGER) respektování konvektivních členů (VELO), vztlakových sil, tj.přirozené konvekce (BUOY), vnitřního ohmického ohřevu (OHMI) a protiproudé modifikace (UPW). Příklad: VELO=0 potlačuji výpočet konvektivních členů UPW=1 aktivace upwindu
Aktivace operací prováděných v každém časovém kroku po příkazech TRANEQ nebo TRANEC (2D problémy řešení transporních rovnic), resp. PIPEQ nebo PIPEC (1D problémy – potrubní sítě a výměníky tepla). Tyto celočíselné parametry současně udávají počet iterací, prováděných v každém časovém kroku 'ELEC','THER','CONC', 'UVP ', 'UVPP','PENS','MIKE', 'MIDE','PSIN','PSBL','PSOM','CREE', 'PIPE','HEXC','RTD ' Příklad: ELEC=1 bude se počítat elektrické pole PENS=0 potlačení penalizační metody NS rovnic UVP=3 v každém čas.kroku se provedou 3 iterace operace UVP (výpočtu rychlostí a tlaku) PIPE=3 počet iterací výpočtu tlaků (turbulence) FEM1.DOC last update 24.11.2002
Page 44 of 116
b)
Vektory
'XPT ','YPT ','ZPT ', souřadnice vztažných bodů, Příklad: XPT(3)=(XPT(1)+XPT(2))/2
'XND ','YND ','ZND ','KIND','LPU ','MPU ', souřadnice uzlů, druh uzlu /vrchol,strana/, pointer uzlových parametrů, počet DOF uzlu,
'IALG', 'RALG', IALG a RALG jsou parametry specifikující algoritmus (každý z těchto vektorů má 30 prvků). Nejdůležitější prvky těchto vektorů jsou ekvivalencí ztotožněny s dříve uvedenými jednoduchými proměnnými, např. IALG(2)≡VELO, IALG(3)≡BUOY,… IALG(11)≡ELEC, IALG(12)≡THER, IALG(13)≡CONC,... Nulová hodnota přepínačů IALG zpravidla znamená blokování určité části výpočtu: IALG(1)-výpočet matice hmotnosti, IALG(2)respektování nucené konvekce, IALG(3)-respektování přirozené konvekce, IALG(4)-výpočet zdroje tepla, IALG(5)upwind. Prvky IALG(11) , IALG(12), … IALG(23) jsou povolené počty iterací v rámci jednoho časového kroku u operací ELEC,THER,CONC,…,RTD. Další hodnoty IALG jsou zatím nevyužity. Příklad: IALG(2)=0 ignorování konvektivních členů RALG jsou parametry společné pro všechny elementy: RALG(1) je ekvivalentní jednoduché proměnné GX-gx zrychlení ve směru x, RALG(2) ekvivalentní GY-gy, RALG(3)-α součinitel přenosu tepla (není to jediná alternativa zadávání součinitele přenosu tepla, tento parametr je definován i v zonách RC různých skupin elementů, a může být dokonce zadáván individuálně v jednotlivých uzlech jako uzlový parametr), RALG(4)-Te okolní teplota, RALG(5) ekvivalentní s proměnnou RUPW-koeficient, kterým se násobí součinitel asymetrických testovacích funkcí, vypočtený dle Pecletova čísla elementu (nulová hodnota znamená potlačení asymetrie testovacích funkcí - upwindu), RALG(6)požadovaná tolerance pivotačního prvku, RALG(7)-relaxační faktor, RALG(8) měřítko zvětšení přírůstků při kresbě deformované konstrukce, RALG(9) penalizační parametr λ, další hodnoty zatím nevyužity. Příklad: RALG(1)=9.81 nastavení hodnoty zrychlení GX=9.81 naprosto totéž.
'IPU ','JPU ', status uzlového parametru indexovaný pointerem LPU, typ uzlového parametru /teplota, ux,…/ Příklad: DISP IPU(LPU(3)+1) zobrazí status teploty v uzlu 3.
'V1 ','V2 ','V3 ', vektory uzlových parametrů indexované pointerem LPU. V1 je vektor zadávaných hodnot, V2 vstup i výstup frontální metody, V3 zona počátečních hodnot. Příklad: V2(LPU(I)+2) je hodnota druhého uzlového parametru uzlu I.
'VH ','VD ', 'VPRS','VALF','VTE ','VARE','VPER','VOL ','VRAT','kS ','VJZ ' reálné konstanty H, D, p (tlak), α (přenos tepla), Te (teplota), A (plocha průřezu nebo teplosměnná plocha), O (smočený obvod průřezu), V (objem mísiče/reaktoru), χ (dělicí poměr), kS (teplosměnná plocha), Jz (moment)
'VKX ','VCP ','VDEN','VKAP','VEX ','VMI ','VISC','VBET','VDN ','VEN ','VAN ', termofyzikální parametry λ (tepelná vodivost),cp,ρ,κ (měrná elektrická vodivost), E (modul pružnosti), µ(Poissonova konstanta), µ(viskozita), β(teplotní roztažnost), DN(difuzní součinitel), EN(aktivační energie), AN(frekvenční faktor), Příklad: VISC(2)=VISC(1) nastavení stejné viskozity ve skupině materiálových parametrů 2 jako ve skupině 1.
'VST ', 'VGSS','VAX ','VSTS' parametry elementů (VST-static 0/transient 1, VGSS-počet integračních uzlů, VAX-osová symetrie 1, VSTS-rovinná napjatost 1/rovinná deformace 0) Příklad: VGSS(1)=3 nastavení počtu Gaussových integ. uzlů skupiny 1
FEM1.DOC last update 24.11.2002
Page 45 of 116
c)
Funkce
'SIN ','COS ','EXP ','SQR ','LOG ','LGT ','ABS ', 'MIN ','MAX ','ATN ','ERF ','PLE ','PLG ','PTC ','RND Příklad: DISP min(10,5,12) výsledek 5 (funkce s proměnným počtem parametrů) DISP LOG(EXP(1)) výsledek 1 (LOG je přirozený logaritmus) DISP LGT(10) výsledek 1 (tato jména logaritmů kdysi používala firma HP) DISP ATN(1e20) výsledek 1.57 for i=1,4 do disp RND(0) výsledek 0.515, 0.398, 0.263, 0.744 (náhodná čísla) PLE(n,x) Legendreův polynom n-tého stupně PLG(n,x) Laguerrův polynom n-tého stupně PLT(n,x) Čebyševův polynom, FUNDEF 1,PLT(4,XX) a zobrazení GRAFUN 1
d)
Základní příkazy interpretu identifikované klíčovými slovy
INT list, REAL list, WHILE podminka DO blok IF podmínka THEN blok FOR i=i1,i2 DO blok
DISP list RUN
Příklad: REAL ALFA,BETA(10) Příklad: WHILE I<10 DO [i=i+1 disp i] Příklad: IF IPU(LPU(i)+1)>30 THEN V2(LPU(i)+1)=1 Příklad: FOR i=1,nd DO a=max(a,xnd(i)) FOR I=1,ND DO V3(LPU(I)+1)=0 vynulování prvního uzlového parametru FOR I=1,ND DO XND(I)=XND(I)*0.1 změna měřítka Příklad: DISP NE,ND,NPT Příklad: RUN program.exe RUN wordpad.exe
Příkaz RUN umožňuje spouštět externí programy, ale neřeší problém přenosu dat. Pro větší pohodlí uživatele jsou operace WRITEB (zápis databáze), spuštění externího programu a READB (čtení výsledků v binárním tvaru) sdruženy a představují vlastně nejjednodušší možnost uživatelského rozšíření programu FEMINA o další operace. Jejich názvy a názvy externích programů jsou v maličkém textovém souboru FEMINA.CMD, který se čte hned po startu programu FEMINA. Struktura souboru je následující Klíčové slovo (název operace, třeba TUPLEX – rozlišují se ale jen první 4 znaky) Název externího programu (např. TUPLEX.EXE) Počet parametrů, které se zadávají před spuštěním programu (stejně jako u standardních operací) Text odpovídající prvnímu parametru implicitní hodnota prvního parametru Text odpovídající druhému parametru … Klíčové slovo další operace… Příklad inicializačního souboru: \\extern TUPL TUPLEX.EXE Prumer trubky: 1.111 Delka trubky: 2.222 Hmotnostni prutok:3.333 Teplota na vstupu: 20 \\model SERIES mod1.txt FEM1.DOC last update 24.11.2002
Page 46 of 116
3.17.
Abecední seznam příkazů programu FEMINA
#ELSE #ENDIF #GOTO #IF #LABEL #LOOP ACTNUM ACTSET ANALYS ACTMSH ANAL AN APIPEQ APIPE A_PIPE A_P ATRANE A_TRAN A_T BKCOLO CIDENT CID CIRCLE CIR CLIST CL SETTIN CLS COMPAR TCOMP TCOM CONC CONTHE CONVOL CON COPYTO COTO TCO CR2PT C2P CR3PT C3P CREEP CREE CRITER TCRIT TCRI CRLIST CRL CRPLOT CRP CURDEF CDEF CD DC TABLE TAB CURLIS CURL D DEFPLO DOFLIS DOFL RANGE E EGLIST EGL EGROUP EG EIDENT EID ELEC ELIST EL ENDREC EPLIST EPL EPLOT EP EXIT FILE FUNDEF FDEF FD DF FUNLIS FUNL GCR GC GDCR GDC GD1 G1 D1 GE2 E2 GRAFUN GF GRAPH GD2 G2 D2 GRAPS GE1 E1 GRATIM GT GTIM GTIME GRIDOF
GRIDON GRID GTC GXY HELP HEXC IDMSER IDM IMPULS IMP INACTN INIMOD IMOD IM INITIA INI INPUT INP LINREG LOADT LT LOC MACRO MCR MCRC MCR2 MCRHEX MHEX METHOD MET MIDE MIKE MODLIS MODL ML MOFE MOMENT MOM TCLIST TCL MPLIST MPL MPROP MP MSF ND NDLIST NDL NDPLOT NDP NELREG NEWPRO NEW RESET NF F FN NDF NFCR FCR NFLIST NFL NFPLOT NFP NFPT FPT FP PF PTF NFSF FSF NIDENT NID NMERGE NM NORM NOR OUTPUT OUT PARLIM PARL PARSET PARS PARDEF PARD PLIST PASERI PAS PD PENS PFPLOT PFP DIAL METER PIDENT PID PIPEC PIPEQ PIPE R_PIPE R_P PLANE2 PLAN PSIN
PSOM PT PTLIST PTPLOT PU RCLIST RCONST READ READBI RECORD REM RMODEL RTD SCALE SF4PT SF8PT SFCR SFLIST SFPLOT SHELLA SMOOTH STATUS TAIL TCBGR TCDEV TCEDIT TCFFT TCFUN TCINP TCLIST TCLIP TCPLOT TCRND TCYSHF TCSET THERMA TIDENT TIMES TRANEC TRANEQ TRUSS U UNDO UVP UVPP VALUE VARLIS WRITE WRITEB ZD ZOOMI ZOOMOU
PTL PTP RCL RC R READB
RTC RB
RNOD
RM S4P S8P SFL SFP SHEL SM TCSMOO TCSM BGR TCD TCE FFT TCF TCI TCL CLIP TCP RND TCS THER TID TSTEP R_TRAN R_T TRUS
VARL W WB ZDEF ZI ZOOMO
ZO
Abecední seznam systémových proměnných A ALPHA AN AREA ATN B BETA BUOY C C1 C2 C3 C4 C5 C6 CA CD CM CN CONC CP CVT D
DCM DENS DN DP DT DTC E E1 E2 E3 E4 E5 ELEC EN ENDC EPS ERF EX F G GX GY H
HEXC I IALG ICOMP IP IPU ITC J JPU JZ K KAPPA KCOMP KIND KT KX L LAMB LPU M MAX MEAN METH
FEM1.DOC last update 24.11.2002
MI MIDE MIKE MIN MPU N NCOMP NCR ND NE NEQ NGRP NINP NMAT NMOD NOUT NP NPT NRC NSF NTC NVL O
OHMI OMG P PENS PERIM PIPE PIVT PLE PLG PLOC PM PMAX PMIN PRES PS PSBL PSIN PSOM PSX PSXX PSXY PSY PSYY
PTC Q QTC R RALG RE REGR RND RTD RUPW RX RY RZ S SCL SCOMP SINV STEP T T1 T2 T3 T4
T5 T6 TE TEMP THER TIME TOL U UPW UVP UVPP UX UY UZ V V1 V2 V3 VALPHA VAN VAREA VAX VBETA
VCP VD VDENS VDEV VDN VELO VEN VEX VGSS VH VINP VISC VJZ VKAPPA VKX VMI VOLT VOUT VP VPERIM VPRS VRNG VST
Page 47 of 116
VSTS VTE VX VY VZ W WM X XND XPT XV XVT XX Y YND YPT YV YVT YY Z ZND ZPT ZZ
FEM1.DOC last update 15.11.2002
Page 48 of 116
4. Základy teorie vybraných problémů V následujících odstavcích jsou uváděny vztahy použité při implentaci algoritmů konkrétních úloh z problematiky proudění (řešení Navierových Stokesových rovnic) a statické strukturní analýzy. Každý z těchto odstavců je soběstačný a odkazy na jiné odstavce jsou minimalizovány. I číslování rovnic začíná vždy od jedné. V záhlaví je uváděno jméno příkazu nebo přepínače, kterým je příslušná operace aktivována a jméno procedury, pověřené výpočtem lokálních matic elementů. 4.1. Proudění, transportní rovnice 4.1.1. Plouživé proudění newtonské kapaliny (příkaz CREEP, CRBELL)
CREEP
ψ ψx ψy
CRBELL
ψ ψx ψy ψxx ψyy ψxy
Řešení plouživého proudění, tj. proudění při Re<1, má jen omezené možnosti aplikací (zpravidla jen tok velmi vazkých kapalin). Vypočtené rychlostní pole má poměrně jednoduchou strukturu a např. v oblasti za náhlým rozšířením průřezu kanálu se nevytvoří recirkulační zony. Použitá formulace s proudovou funkcí ψ má nespornou výhodu v tom, že je naprosto přesně splněna rovnice kontinuity (v každém bodě a to při libovolně velkých elementech), ale na druhé straně např. neumožňuje jednoduše řešit tokové situace s několika výstupními proudy, pokud je dělicí poměr průtoků dán poměrem tlaků – tlaky se ve formulaci problému vůbec neobjeví. Když je ale viskozita konstantní, jde o lineární a tedy poměrně snadno řešitelný problém, který může sloužit jako výchozí aproximace rychlostního pole při řešení složitějších problémů nelineárních. Dvě implementované varianty (CREEP, CRBELL) se liší jen bázovými funkcemi, CRBELL používá Bellovy kvintické polynomy, které mají spojité druhé derivace všude, i na rozhraní elementů. CREEP používá jednodušší kubické polynomy se spojitými druhými derivacemi toliko v uzlech a ne podél styčných stran trojúhelníkových elementů. CRBELL zaručuje vynikající přesnost řešení, pokud ovšem nedochází ke skokovým změnám viskozity nebo okrajových podmínek; za těchto okolností by pak byla vhodnější varianta CREEP. Příklad je ukázkou využití principu minima energie (rychlostní pole se vytvoří tak, aby minimalizovalo disspipovanou energii), kdy vůbec není nutné znát diferenciální rovnice, popisující rovnice rovnováhy sil. Cylindrický souřadný systém Budeme uvažovat osově symetrický tok kapaliny v cylindrickém souřadném systému r,x (osa x je v souřadném systému FEMINx horizontální /x/, radiální souřadnice vertikální /y/). Složky rychlostí vyjádříme prostřednictvím proudové funkce3 ux =
1 ∂ψ r ∂r
ur = −
1 ∂ψ r ∂x
[ψ =
m3 ] objemový průtok s
(1)
Tím je zaručeno identické splnění rovnice kontinuity
3
Zvláštní pozornost je třeba věnovat ose symetrie (r=0). Radiální složka rychlosti ur je zde nulová, ale axiální složku rychlosti ux je třeba počítat limitním přechodem, tj. jako druhou derivaci proudové funkce ve směru r.
FEM1.DOC last update 15.11.2002
Page 49 of 116
1 ∂ru r ∂u x + = 0. r ∂r ∂x
(2)
Dissipovanou energii můžeme vyjádřit integrálem, Bird str.107 (úprava pro nestlačitelné kapaliny) ∂u ∂u u ∂u ∂u F (u r , u x ) = ∫∫ µr 2(( r ) 2 + ( x ) 2 + ( r ) 2 ) + ( r + x ) 2 drdx , r ∂r ∂x ∂x ∂r
[W]
(3)
což po dosazení za složky rychlostí dává toto funkcionální vyjádření dissipované energie (o.k.): F (ψ ) = ∫∫
µ ∂ 2ψ 2 1 ∂ψ 2 1 ∂ 2ψ ∂ψ ∂ 2ψ ∂ 2ψ 1 ∂ψ 2 4 (( ) ( ) ) ( ) drdz + − + − + r ∂r∂x r ∂r∂x ∂x r 2 ∂x ∂x 2 ∂r 2 r ∂r
(4)
Variací dissipované energie vzhledem k proudové funkci a dosazením aproximace ψ ( x, r ) = N j ( x, r )ψ j ,
δψ ( x, r ) = N i ( x, r )δψ i
(5)
získáme soustavu lineárních algebraických rovnic Aijψ j= 0
(6)
kde 2 ∂ 2 N j ∂ 2 N i 1 ∂N j ∂N i 2 ∂N j ∂ 2 N i ∂N i ∂ N j )− ( ) + + + 4( µ ∂r∂x ∂r∂x r 2 ∂x ∂x r ∂x ∂r∂x ∂x ∂r∂x Aij = ∫∫ drdx r ∂ 2 N j ∂ 2 N j 1 ∂N j ∂ 2 N i ∂ 2 N i 1 ∂N i − + + )( 2 − ) + ( r ∂r r ∂r ∂x 2 ∂r 2 ∂x ∂r 2
(7)
Kartézský souřadný systém Pro rovinné proudění (kartézský souřadný systém) se celý problém zjednoduší ux =
∂ψ ∂y
uy = −
∂ψ ∂x
[ψ =
m2 ] objemový průtok na 1 m šířky kanálu s
∂ 2 N j ∂ 2 N j ∂ 2 Ni ∂ 2 Ni ∂2 N j ∂2 Ni Aij = ∫∫ µ ( − )( − ) + 4 drdz 2 ∂x∂y ∂x∂y ∂y 2 ∂x 2 ∂y 2 ∂x
(8) (9)
Teplotní závislosti V uvedené formulaci problému se jako jediný termofyzikální parametr objevuje viskozita. Kdyby byla konstantní, výsledek řešení by na její hodnotě dokonce ani nezávisel. Z předchozích kroků řešení je ale možné použít teplotní pole a vektory rychlostí, které umožní buď funkcí nebo tabulkou předepsat závislost viskozity na teplotě a na druhém invariantu tenzoru rychlosti deformace. Pro kartézský souřadný systém je tento invariant dán vztahem
FEM1.DOC last update 15.11.2002
Page 50 of 116
II = (
∂u y 2 1 ∂u x ∂u y 2 ∂u x 2 ) +( ) + ( + ) ∂x ∂y 2 ∂y ∂x
(10)
Podobně vyhlíží vyjádření druhého invariantu v cylindrickém souřadném systému, Bird str. 107 II = (
∂u x 2 u ∂u ∂u 1 ∂u ) + ( r )2 + ( r )2 + ( x + r )2 r ∂x ∂r 2 ∂r ∂x
(11)
Z hodnoty invariantu lze například stanovit charakteristickou smykovou rychlost γ& = 2 II
(12)
a použít ji pro definici zdánlivé viskozity dle zvoleného reologického modelu. Sekce výpočtu proměnné viskozity vypadá v programu FEMINA takto C MPROP
(1-K,2-C,3-RHO,4-KAPPA,5-E,6-MU,7-VISC,8-beta) VISC=RMAT(LPROP,7) IF(JMAT(LPROP,7).NE.0)THEN C Vypocet invariantu rychlosti deformace a teploty jen v pripade, ze je uvazovana promenna viskozita. C Pro aproximaci teploty a rychlosti se pouziji linearni bazove funkce CALL FDFT(3,X,Y,GL1(IG),GL2(IG),FL,FLX,FLY,S) DVXDX=0 DVYDY=0 DVXDY=0 DVYDX=0 TEMP=0 DO I=1,3 DVXDX=DVXDX+VX(I)*FLX(I) DVYDY=DVYDY+VY(I)*FLY(I) DVXDY=DVXDY+VX(I)*FLY(I) DVYDX=DVYDX+VY(I)*FLX(I) TEMP=TEMP+T(I)*F(I) ENDDO C Druhy invariant je AUX(5), teplota AUX(11) AUX(5)=DVXDX**2+DVYDY**2+0.5*(DVXDY+DVYDX)**2 AUX(11)=TEMP VISC=VISC*CURFUN(JMAT(LPROP,7)) ENDIF
Implementace: Vzhledem k tomu, že se v integrandu (7), resp. (9) objevují druhé derivace bázových funkcí, nelze použít lineární nebo kvadratické polynomy, nýbrž alespoň polynomy kubické, zajišťující spojitost i prvních derivací proudové funkce alespoň ve vrcholech. Lokální matice Aij mají pro trojúhelníkové elementy rozměr 9 x 9, což odpovídá 3 uzlům s uzlovými parametry {ψ1 ψ1,x ψ1,y ψ2 ψ2,x ψ2,y ψ3 ψ3,x ψ3,y} / /
IF(NAXIS.EQ.1)THEN DA=4*(FXY(I)*FXY(J)+FX(I)*FX(J)/RR**2) -2/RR*(FXY(I)*FX(J)+FXY(J)*FX(I)) +(FYY(J)-FXX(J)+FX(J)/RR)*(FYY(I)-FXX(I)+FX(I)/RR) AK(I,J)=AK(I,J)+DA*S*W(IG)/RR ELSE DA=FXX(I)*FXX(J)+2*FXY(I)*FXY(J)+FYY(I)*FYY(J) AK(I,J)=AK(I,J)+DA*S*W(IG) ENDIF
Varianta CREEP používá neúplné kubické polynomy s 9 DOF (Bazeley 1965), varianta CRBELL Bellovy elementy s 18 DOF (popis viz kapitola 5.3, Bázové funkce). FEM1.DOC last update 15.11.2002
Page 51 of 116
Výsledky a postprocessing Bezprostředním výsledkem výpočtu jsou uzlové hodnoty {ψi ψi,x ψi,y} z nichž jsou v závěrečné fázi operace stanoveny • • •
rychlosti ux, uy rozložení hustoty dissipované energie v jednotlivých elementech na základě vztahu (4) ∂2 Ni ∂2 N j 1 ∂N i ∂N j 1 ∂ 2 N i ∂N j 4 ( + − )+ 2 µ ∂r∂x ∂r∂x r ∂x ∂x r ∂r∂x ∂x drdzψ iψ j Fe = ∫∫ 2 2 2 2 r N N N ∂ ∂ ∂ N N N ∂ ∂ ∂ 1 1 Ωe j j j i i + )( − + ) + ( 2 i − r ∂r r ∂r ∂x ∂r 2 ∂x 2 ∂r 2 i celkový dissipovaný výkon F = ∑ Fe
[W]
e
•
rozložení druhého invariantu rychlosti deformace po jednotlivých elementech dle vztahů (10-11).
FEM1.DOC last update 15.11.2002
Page 52 of 116
4.1.2. Navierovy Stokesovy rovnice, formulace s proudovou funkcí (příkaz PSIN, resp. příkaz PSBL, názvy odvozeny od PSI Navier Stokes, resp. PSi BeLl)
PSIN
ψ ψx ψy ψxx ψyy ψxy
PSBL
ψ ψx ψy
Tato varianta řešení je přímým rozšířením předchozího případu, opět se řeší jediná rovnice pro proudovou funkci ψ, a používají se i stejné bázové funkce. Platí tedy i stejná omezení daná tím, že velmi hladké bázové funkce (kubické, resp. kvintické polynomy) sice zajišťují velmi hladké řešení, ale mají problémy při popisu proudového pole se skokovými změnami viskozity, které způsobují ztrátu hladkosti řešení. Ani tentokrát není formulace vhodná pro případy s dělením výstupních proudů i když se rozložení tlaků počítá, ale jen ex post, až po stanovení rychlostního pole (proudové funkce). Metodicky se vychází z diferenciálních rovnic Navierových Stokesových, přičemž jsou respektovány zrychlující síly (tzn. že se uvažuje nestacionární proudění i konvektivní zrychlení) i síly vztlakové, což umožňuje řešit i problémy přirozené konvekce (eliminace tlaku z NS rovnic vede na biharmonickou diferenciální rovnici čtvrtého řádu pro jedinou neznámou veličinu, proudovou funkci). Soustava obyčejných diferenciálních rovnic pro uzlové hodnoty proudové funkce ψ se získá Galerkinovou metodou vážených residuí, důsledkem čehož je omezení velikosti lokálního Reynoldsova čísla elementu Reh<1 a nutnost používat velmi jemnou síť elementů při vyšších hodnotách Re. Kartézský souřadný systém Navierovy Stokesovy rovnice pro nestacionární tok nestlačitelné Newtonské kapaliny, mají v primitivních proměnných (rychlosti – tlak) a v kartézském souřadném systému (rovinné proudění) tvar, Bird str.101 ∂ 2u x ∂ 2u x ∂u x ∂u x ∂u x ∂p ρ( + ux + uy ) = − + µ( 2 + ) + ρg x (1 − βT ) ∂t ∂x ∂y ∂x ∂x ∂y 2 ρ(
∂u y ∂t
+ ux
∂u y ∂x
+ uy
∂u y ∂y
)=−
[
N ] objemová síla m3
∂ 2u y ∂ 2u y ∂p + µ( 2 + ) + ρg y (1 − βT ) . ∂y ∂x ∂y 2
(1) (2)
Poznamenejme, že tyto rovnice vznikly úpravou původních rovnic bilance hybnosti (v konzervativním tvaru) použitím rovnice kontinuity pro nestlačitelnou kapalinu, ∂u x ∂u y + = 0. ∂y ∂x
(3)
Tlak p můžeme z Navierových Stokesových rovnic eliminovat tím, že první rovnici bilance hybnosti ve směru x derivujeme dle y, druhou dle x a odečteme, čímž získáme rovnici pro vířivost ω= ρ(
∂u x ∂u y − ∂y ∂x
1 [ ] s
(4)
počet otáček víru za sekundu
∂ω ∂ω ∂ω ∂ 2ω ∂ 2ω ∂T ∂T − gx + ux + uy ) = µ ( 2 + 2 ) + ρβ ( g y ) ∂t ∂x ∂y ∂x ∂y ∂x ∂y
[
N ] m4
Aplikujme na tuto transportní rovnici vířivosti metodu vážených residuí, s testovací funkcí W(x,y)
FEM1.DOC last update 15.11.2002
Page 53 of 116
(5)
∂ω ∂ω ∂ω ∂ 2ω ∂ 2ω ∂T ∂T W u u ρ ( + + ) − µ ( + 2 ) + ρβ ( g x − gy ) dxdy = 0 , 2 ∫∫Ω ∂t x ∂x y ∂y ∂y ∂x ∂x ∂y
(6)
a snižme řád derivací vířivosti dvojím použitím Greenovy věty a rovnice kontinuity ∂ω ∂W ∂W µ ∂ 2W ∂ 2W ∂T ∂T W u u ρ ω ω( 2 + − ( + ) − ) + βW ( g x − gy ) dxdy + x y 2 ∫∫Ω ∂t ρ ∂x ∂y ∂y ∂x ∂x ∂y .(7) ∂W ∂ω ∂W ∂ω + ∫ ρWω (u x n x + u y n y ) + µ[(ω ∂x − W ∂x )n x + (ω ∂y − W ∂y )n y ] dΓ = 0 Γ = Γω + Γw + Γ0 Hranice oblasti Γ se skládá z úseku Γω kde je známa vířivost (osa symetrie, vstup), stěny Γw a výstupního průřezu Γ0 s nevyvinutým rychlostním profilem. První člen křivkového integrálu (Wωun) vymizí na stěně Γw (u=0) a na hranici Γω, kde je vířivost zadávaná jako silná okrajová podmínka (W=0). Pokud tento člen zanedbáme, předchozí integrál se poněkud zjednoduší ∂ω ∂W ∂W µ ∂ 2W ∂ 2W ∂T ∂T W u u ρ − ω + − ω( 2 + − gy ( ) ) + βW ( g x ) dxdy + x y 2 ∫∫Ω ∂t ∂x ∂y ∂y ∂x ρ ∂x ∂y (8) ∂W ∂ω + ∫ µ (ω ∂n − W ∂n )dΓ = 0 Γ = Γω + Γw + Γ0 Vířivost ω i složky rychlosti vyjádříme prostřednictvím proudové funkce ψ (která automaticky zajistí splnění rovnice kontinuity) ∂ψ ux = , ∂y
∂ψ uy = − , ∂x
∂ 2ψ ∂ 2ψ ω= 2 + 2 . ∂x ∂y
(9)
Proudovou funkci ψ lze aproximovat bázovými funkcemi, které mají druhé derivace integrovatelné s kvadrátem (v programu jsou použity kubické polynomy na trojúhelníkových elementech) ψ ( x, y ) = N j ( x, y )ψ j .
(10)
Poznamenejme, že koeficienty ψj v aproximaci (10) nejsou jen uzlové hodnoty proudové funkce, nýbrž i její první či dokonce druhé derivace, což je nutné pro zajištění spojitosti prvních derivací ψ i na rozhraní elementů. Pokud se jako bázové funkce Nj použijí kubické polynomy v trojúhelníkových elementech lze zajistit jen spojitost prvních derivací v uzlech a ne podél styčných stran (Bazeley 1965, 9 DOF ψ ψ,x ψ,y), a korektní bázové funkce se spojitými prvními derivacemi musí být polynomy pátého stupně (Bell 1969, 18 DOF ψ ψ,x ψ,y ψ,xx ψ,xy ψ,yy). Použijeme-li na integrální rovnici přenosu vířivosti (8) Galerkinovu metodu, tj. když jako testovací funkce použijeme funkce bázové, W ( x, y ) = N i ( x, y ) , získáme soustavu obyčejných diferenciálních rovnic pro uzlové parametry ψj M ij
∂ψ j ∂t
+ Aijψ j = bi .
(11)
Matice hmot M je vyjádřena integrály FEM1.DOC last update 15.11.2002
Page 54 of 116
M ij = ∫∫ ρ ( Ω
∂N j ∂N i ∂N j ∂N i ∂N j dΓ + )dΩ − ∫ ρN i ∂x ∂x ∂y ∂y ∂n Γ
(12)
a matice konvektivních i vazkých členů A závisí na rychlostech ux, uy, které je třeba vyčíslovat z výsledků předchozí iterace Aij = ∫∫ ( Ω
− ∫ µ[( Γ
∂2N j ∂x 2
∂2N j ∂x 2
∂2N j
+ +
∂y 2 ∂2N j ∂y 2
)[ ρ (u x
∂N i ∂N i ∂2N ∂ 2 Ni + uy ) + µ( 2 i + )]dΩ + ∂x ∂y ∂x ∂y 2
∂3N j ∂3N j ∂3N j ∂3N j ∂N i ∂N i nx + 2 n y + n y )]dΓ )(n x + ny ) − N i ( 3 nx + ∂x ∂y ∂x ∂x∂y 2 ∂x ∂y ∂y 3
. (13)
Křivkový integrál přes celou hranici Γ je v programu FEMINA vynechán; což odpovídá zadání silných okrajových podmínek (ψ ψ,x ψ,y) na celé hranici, nebo uplatnění přirozených slabých okrajových podmínek (na ose sice není známa axiální složka rychlosti ψ,y jenomže ny=0 a i vířivost je nulová). Problémem zůstávají části hranice s neznámou hodnotou derivací proudové funkce (tj. neznámých složek rychlostí ux, uy) ale i povrch tělesa, které je vnořené do proudu kapaliny (to je stěna s nulovými složkami rychlosti ψ,x =ψ,y=0, ale s neznámou hodnotou proudové funkce). V tomto případě by u každého elementu, který je částí této hranice, měl být doplněn požadavek na shodnost hodnot proudové funkce. Vektor pravé strany bi reprezentuje zdrojový člen – přirozenou konvekci bi = ∫∫ ρβN i ( g x Ω
∂T ∂T − gy )dΩ ∂y ∂x
(14)
Aproximujeme-li teplotní pole lineárními bázovými funkcemi H (zde stačí požadavek na existenci jen prvních derivací), vyjádříme vektor pravé strany jako součin matice B a vektoru uzlových teplot ∂H j ∂H j bi = ∫∫ ρβN i ( g x − gy )dΩ T j = Bij T j . ∂y ∂x Ω
(15)
Cylindrický souřadný systém Celý postup je možné vpodstatě zopakovat i pro cylindrický souřadný systém, Bird str.102 ∂u x ∂u x ∂u x ∂ 2 u x 1 ∂ ∂u x ∂p ρ( + ur ) = − + µ[ 2 + (r )] + ρg x (1 − βT ) + ux r ∂r ∂t ∂x ∂r ∂x ∂r ∂x ∂u ∂u ∂u ∂ 2u ∂p ∂ 1 ∂ru r ρ ( r + u x r + u r r ) = − + µ[ 2r + ( )] + ρg r (1 − βT ) ∂t ∂x ∂r ∂r ∂r r ∂r ∂x
(16) (17)
Rovnice kontinuity ∂u x 1 ∂ru r + = 0, ∂x r ∂r
resp.
∂u x ∂u r u r + + =0 r ∂x ∂r
(18)
Eliminací tlaku p získáme rovnici pro vířivost
FEM1.DOC last update 15.11.2002
Page 55 of 116
ω=
ρ(
∂u x ∂u r − ∂r ∂x
(19)
∂ω ∂ω ∂ω ωu r ∂ 2ω ∂ 1 ∂rω ∂T ∂T ) = µ( 2 + ( )) + ρβ ( g r ) + ux + ur − − gx r ∂t ∂x ∂r ∂r r ∂r ∂x ∂r ∂x
(20)
Metoda vážených residuí (testovací funkce W) vede po aplikaci Greenovy věty a při zanedbání všech hraničních integrálů na rovnici ∂ω ∂W ∂W ∂ 2W ∂ 1 ∂W ∂T ∂T ∫∫Ω ρW ∂t − ρω (u x ∂x + u r ∂r ) − µω ( ∂x 2 + r ∂r ( r ∂r )) − ρWβ ( g r ∂x − g x ∂r )dΩ = 0 . (21) Vířivost vyjádříme prostřednictvím proudové funkce a tu aproximujeme bázovými funkcemi ux =
1 ∂ψ r ∂r
ur = −
1 ∂ψ r ∂x
ω=
∂ 1 ∂ψ 1 ∂ 2ψ ( )+ r ∂x 2 ∂r r ∂r
(22)
Použitím Galerkinovy metody s testovací funkcí W=Ni pak získáme opět soustavu obyčejných diferenciálních rovnic (11) s následujícím vyjádřením matice hmotnosti M ij = ∫∫ Ω
ρ ∂N i ∂N j ∂N i ∂N j ( + )dΩ ∂r ∂r r ∂x ∂x
(23)
i matice setrvačných a vazkých členů 2 ∂N i ∂N i ∂ 2 Ni ∂ 1 ∂N i 1 ∂ N j ∂ 1 ∂N j Aij = ∫∫ ( u u + ρ + + µ +r ( ( ))[ ( ) ( ))]dΩ = x r 2 2 r ∂x ∂r r ∂r ∂x ∂r ∂r r ∂r ∂x Ω 2 2 ∂N i ∂ 2 N i ∂ 2 N u 1 ∂N i ∂N i 1 ∂ N j 1 ∂ N j 1 ∂N j u u = ∫∫ ( + − ρ + + µ + − )[ ( ) ( )]dΩ x r r ∂x 2 r ∂r 2 r ∂r ∂x ∂r r 2 ∂r ∂x 2 ∂r 2 Ω
.
(24) Vektor bi zůstává beze změny. Diskretizace času Soustavu obyčejných diferenciálních rovnic (11) lze řešit diskretizací času a použít některé varianty Eulerovy nebo Runge Kuttovy metody. Aproximujeme-li časovou derivaci proudové funkce diferencí a použijeme-li implicitní Eulerovu metodu, získáme pro každý časový krok soustavu algebraických rovnic ( M ij + ∆tAij )ψ j = M ijψ 0j + ∆tBij T j
(25)
Okrajové podmínky Silné okrajové podmínky představují hodnoty proudové funkce ψ a její první derivace (složky rychlosti). Tyto hodnoty je třeba zadávat na stěně (nulové rychlosti) a ve vstupním profilu (kde by měl být znám rychlostní profil). FEM1.DOC last update 15.11.2002
Page 56 of 116
Kartézský souřadný systém
ψ =
y3 3 ψ = u ( y − 2 ), 2 3R y 3 ψ , y = u [1 − ( ) 2 ],ψ , x = 0 R 2
Cylindrický souřadný systém
ψ = uR
1 uR 2 2 ψ = ??
R
r2 ), 2R2 r3 ψ ,r = 2u ( r − 2 ),ψ , x = 0 R ψ = u r 2 (1 −
ψ=0, ψ,x=0 (ψ,yy=ψ,rr/r =0 slabá O.P.)
Slabé okrajové podmínky jsou druhé derivace, např. nulové druhé derivace na ose symetrie. Problém týkající se případů, kdy dochází k rozdělení toku do více větví (viz. předchozí obr.) a kdy neznáme dělicí poměr průtoků, nemá v této formulace jednoduché řešení. Rozdělení průtoků a z něho vyplývající hodnoty proudové funkce ve výstupních průřezech jsou dány tlakovými poměry a ty se ve formulaci problému vůbec nevyskytují. Výpočet tlaků Rozložení tlaků je možné spočítat v každém časovém kroku až ex post na základě stanoveného rychlostního pole. Vychází se z následující úpravy N-S rovnic (převod na Poissonovu rovnici pro tlak): ∂2 p ∂2 p ∂ 2ψ 2 ∂ 2ψ ∂ 2ψ ∂T ∂T + + 2 ρ [( ) − 2 ] + ρβ ( g x + gy )=0 2 2 2 ∂x∂y ∂x ∂y ∂x ∂y ∂x ∂y
(26)
V této rovnici se vůbec nevyskytují vazké členy: rozdělení tlaku je dáno jen distribucí rychlosti (která je ovšem viskozitou ovlivněna) a okrajovými podmínkami, tj. předepsanými hodnotami tlaku ve vstupním nebo výstupním průřezu. Na stěně je okrajová podmínka pro tlak složitější ∂ 2u y ∂p ∂ ∂u x |w = µ + ρg y (1 − βT ) = − µ + ρg y (1 − βT ) = 2 ∂y ∂x ∂y ∂y ∂ 3ψ ∂ω = −µ + ρg y (1 − βT ) = − µ + ρg y (1 − βT ) 2 ∂x ∂x∂y ∂ 2u x ∂p ∂ ∂u y |w = µ + ρg x (1 − βT ) = − µ + ρg x (1 − βT ) = 2 ∂x ∂y ∂x ∂x = −µ
∂ 3ψ ∂ω + ρg x (1 − βT ) = − µ + ρg x (1 − βT ) 2 ∂y ∂y∂x
y
(27)
n x
(28)
y
n x
Rovnice (27-28) vyjadřují skutečnost, že normálová derivace tlaku je dána změnou gradientu rychlosti (nebo vířivosti) podél stěny a samozřejmě i odpovídající vztlakovou složkou. Poissonovu rovnici (26) lze řešit Galerkinovou metodou, kde pole tlaků i teplot aproximujeme bázovými funkcemi H u nichž není nutné (na rozdíl od funkcí N) požadovat spojitost derivací: FEM1.DOC last update 15.11.2002
Page 57 of 116
{∫ ( Ω
∂H j ∂H j ∂H i ∂H j ∂H i ∂H j nx + n y )dΓ} p j = + )dΩ − ∫ H i ( ∂x ∂x ∂y ∂y ∂x ∂y Γ ∂2N j
∂2 N j ∂2 Nk ∂H j ∂H j g g = ∫ H i {2 ρ [( ψ j) − ψ ψ ] + ρβ ( + )T j }dΩ j k x y ∂x∂y ∂x ∂y ∂x 2 ∂y 2 Ω
(29)
2
Stejný, byť poněkud únavnější postup, lze aplikovat i na NS rovnice v cylindrickém souřadném systému. I závěr je stejný, Poissonova rovnice pro tlak nezávisí na vazkých členech: ∂u ∂u ∂u ∂u u ∂ 2 p 1 ∂ ∂p ∂T 1 ∂rT (r ) + 2 ρ [ x r − x r + ( r ) 2 ] + ρβ ( g x )= + + gr 2 r ∂r ∂r r r ∂r ∂r ∂x ∂x ∂r ∂x ∂x ∂ 2 p 1 ∂ ∂p (r ) + = 2 + r ∂r ∂r ∂x 2 ρ ∂ 2ψ 1 ∂ψ 2 1 ∂ 2ψ ∂ψ ∂ 2ψ 1 ∂ψ ∂ 2ψ ∂T 1 ∂rT + 2 [( − ) + + 2 ( − 2 )] + ρβ ( g x + gr )=0 r ∂r∂x ∂x ∂x r ∂r ∂r r ∂r ∂r∂x r ∂x ∂x r
(30)
Výsledek Galerkinovy metody, aplikované na rovnici (30) je soustava rovnic {∫ r ( Ω
∂H j ∂H j ∂H i ∂H j ∂H i ∂H j nx + nr )dΓ} p j = + )dΩ − ∫ rH i ( x r ∂x ∂x ∂r ∂r ∂ ∂ Γ
2 2 2 2ρ ∂ N j 1 ∂N j 1 ∂ N j ∂N k 1 ∂N j ∂ N j ∂ 2 N k 2 = ∫ H i { 2 [( ψj − ψ j) +( +( − ) )ψ jψ k ] + r ∂x r ∂x∂r ∂x r ∂r ∂x∂r r ∂r 2 ∂x 2 Ω
+ ρβ ( g x
∂H j ∂x
+ gy
∂H j ∂y
(31)
)T j }dΩ
Programová implementace: Lokální matice Mij Aij mají pro trojúhelníkové elementy ve variantě PSIN rozměr 9 x 9, což odpovídá 3 uzlům s uzlovými parametry {ψ1 ψ1,x ψ1,y ψ2 ψ2,x ψ2,y ψ3 ψ3,x ψ3,y}. Matice Bij má rozměr 9 x 3, což odpovídá lineární aproximaci průběhu teploty v trojúhelníkovém elementu. U varianty PSBL jsou používány Bellovy bázové polynomy pátého stupně s 18 stupni volnosti {ψ1 ψ1,x ψ1,y ψ1,xx ψ1,yy ψ1,xy ψ2 ψ2,x ψ2,y ψ2,xx ψ2,yy ψ2,xy ψ3 ψ3,x ψ3,y ψ3,xx ψ3,yy ψ3,xy }. C 7-mi bodova Gaussova integrace matic DO IG=1,NGAUS C Linearni bazove funkce a jejich derivace pro rychlosti a teploty CALL FDFT(3,X,Y,GL1(IG),GL2(IG),FL,FLX,FLY,S) C Rychlosti a teploty v integracnim uzlu VVX=0 VVY=0 TMEAN=0 DO I=1,3 VVX=VVX+VX(I)*FL(I) VVY=VVY+VY(I)*FL(I) TMEAN=TMEAN+T(I)*FL(I) ENDDO VISC=RMAT(LPROP,7) RHO=RMAT(LPROP,3) BETA=RMAT(LPROP,8) C Kubicke bazove funkce a jejich derivace pro proudovou funkci CALL FDF3(X,Y,GL1(IG),GL2(IG),F,FX,FY,FXX,FYY,FXY,S) RR=Y(1)*GL1(IG)+Y(2)*GL2(IG)+Y(3)*(1-GL1(IG)-GL2(IG)) DO I=1,NL DO J=1,NL
FEM1.DOC last update 15.11.2002
Page 58 of 116
IF(NAXIS.EQ.1)THEN C cylindricky s.s. DA=(FXX(J)+FYY(J)-FY(J)/RR)/RR* / (RHO*(VVX*FX(I)+VVY*FY(I))+ / VISC*(FXX(I)+FYY(I)-FY(I)/RR)) DC=RHO*(FX(I)*FX(J)+FY(I)*FY(J))/RR ELSE DA=(FXX(J)+FYY(J))* / (RHO*(VVX*FX(I)+VVY*FY(I))+ / VISC*(FXX(I)+FYY(I))) DC=RHO*(FX(I)*FX(J)+FY(I)*FY(J)) ENDIF AL(I,J)=AL(I,J)+DA*S*W(IG) CK(I,J)=CK(I,J)+DC*S*W(IG) ENDDO C Prirozena konvekce. RALGOR(1)-gx, RALGOR(2)-gy (nezavisle na s.s.) DO J=1,3 DB=RHO*BETA*F(I)*(RALGOR(1)*FLY(J)-RALGOR(2)*FLX(J)) BK(I,J)=BK(I,J)+DB*S*W(IG) ENDDO ENDDO ENDDO DO I=1,NL DO J=1,NL AL(I,J)=CK(I,J)+AL(I,J)*DTIME BL(I)=BL(I)+CK(I,J)*POLD(J) ENDDO DO J=1,3 BL(I)=BL(I)+DTIME*BK(I,J)*T(J) ENDDO ENDDO
Výsledky a postprocessing Z hodnot uzlových parametrů {ψ1 ψ1,x ψ1,y ψ2 ψ2,x ψ2,y ψ3 ψ3,x ψ3,y}, resp. {ψ1 ψ1,x ψ1,y ψ1,xx ψ1,yy ψ1,xy ψ2 ψ2,x ψ2,y ψ2,xx ψ2,yy ψ2,xy ψ3 ψ3,x ψ3,y ψ3,xx ψ3,yy ψ3,xy } se v každém časovém kroku vypočtou • •
složky rychlostí rozložení tlaků
a tyto výsledky (tj. ψ a její derivace, rychlosti ux, uy a tlak p) se průběžně zapisují do souboru *.OUT.
FEM1.DOC last update 15.11.2002
Page 59 of 116
4.1.3. Navierovy Stokesovy rovnice, formulace s proudovou funkcí a vířivostí (příkaz PSOM, PSi and OMega)
ωψ
I tentokrát se používá místo rychlostí ux uy proudová funkce ψ a zadání problému je totožné s předchozím (tj. nestacionární proudění s uvažováním vztlakových sil). Zásadní rozdíl je v použití mnohem jednodušších bázových funkcí C0, které nemají spojité ani první derivace. To ovšem znamená, že nelze vyjít z jediné diferenciální rovnice čtvrtého řádu pro proudovou funkci ψ, ale je nutné zavést další veličinu, vířivost ω, a místo jedné řešit dvě diferenciální rovnice, jenomže pouze druhého řádu. Další odlišnost spočívá v tom, že místo Galerkinovy metody je použita metoda Galerkin Petrof s asymetrickými testovacími funkcemi, která umožňuje dosáhnout neoscilujícího řešení i při vysokých hodnotách Re, tj. když setrvačné členy výrazně převyšují vliv vazkých sil. Kartézský souřadný systém Formulace problému je stejná jako v předchozím odstavci, tj. Navierovy Stokesovy rovnice pro nestacionární tok nestlačitelné Newtonské kapaliny s uvažováním vztlaku, mající v proměnných u,p a v kartézském souřadném systému (rovinné proudění) tvar, Bird str.101 ρ( ρ(
∂u x ∂u ∂u ∂ 2u ∂ 2u x ∂p + u x x + u y x ) = − + µ ( 2x + ) + ρg x (1 − βT ) ∂t ∂x ∂y ∂x ∂x ∂y 2 ∂u y ∂t
+ ux
∂u y ∂x
+ uy
∂u y
∂ 2u y ∂ 2u y ∂p ) = − + µ( 2 + ) + ρg y (1 − βT ) . ∂y ∂y ∂x ∂y 2
(1) (2)
Rovnice kontinuity pro nestlačitelnou kapalinu ∂u x ∂u y + = 0. ∂x ∂y
(3)
Tlak p je z Navierových Stokesových rovnic eliminován zavedením vířivosti ω= ρ(
∂u x ∂u y − ∂y ∂x
(4)
∂ω ∂ω ∂ω ∂ 2ω ∂ 2ω ∂T ∂T ) = µ ( 2 + 2 ) + ρβ ( g y ). + ux + uy − gx ∂t ∂x ∂y ∂x ∂y ∂x ∂y
(5)
Složky vektoru rychlosti vyjádříme prostřednictvím skalární proudové funkce ux =
∂ψ , ∂y
uy = −
∂ψ , ∂x
(6)
což po dosazení do definiční rovnice vířivosti vede k Poissonově rovnici pro proudovou funkci
ω=
∂ 2ψ ∂ 2ψ + . ∂x 2 ∂y 2
FEM1.DOC last update 15.11.2002
(7)
Page 60 of 116
Problém je tím převeden na soustavu dvou diferenciálních rovnic druhého řádu, transportní rovnice (5) a rovnice (7). Pro aproximaci vířivosti, proudové funkce i teplot můžeme použít stejné bázové funkce u nichž nemusíme požadovat spojitost, ale pouze existenci prvních derivací (dokonce lze použít např. i lineární polynomy) ω ( x, y ) = N j ( x, y )ω j ,
ψ ( x, y ) = N j ( x, y )ψ j ,
T ( x, y ) = N j ( x, y )T j
(8,9,10)
Na transportní rovnici (5) můžeme aplikovat metodu vážených residuí s asymetrickými testovacími funkcemi (Petrof Galerkin), viz. Zienkiewicz, díl III. str.27. W ( x, y ) = N i +
∂N i ∂N i αh (u x + uy ), 2|u| ∂x ∂y
(11)
kde h je charakteristický rozměr elementu. Pro optimální hodnotu koeficientu α platí vztah 1 | u | hρ Pe = α opt = coth Pe − , . Pe 2µ
(12)
Stanovení charakteristického rozměru elementu není zcela jednoznačné. V programu FEMINA je použit postup, založený na myšlence, že důležitý je rozměr elementu ve směru rychlosti proudění (viz obr., kde vektory hi jsou uhlopříčky obdélníku, který „zarámoval“ element): r r h h 2 r 1 r r r r u h1 ⋅ u h2 ⋅ u h = max( r , r ) (13) |u | |u |
Výsledkem integrace a použití Greenovy věty na snížení řádu derivací je soustava obyčejných diferenciálních rovnic M ij
dω j dt
+ Aij ω j = Bij T j
(14)
s maticí hmot M a maticí konvektivního a vazkého přenosu A vyjádřenou integrály M ij = ∫∫ ρN i N j dΩ
(15)
Ω
∂N j ∂N j ∂N i ∂N i ∂N ∂N j ∂N i ∂N j αh Aij = ∫∫ ρ [ N i + (u x + uy )](u x + uy ) + µ( i + ) dΩ + 2|u| ∂x ∂y ∂x ∂y ∂x ∂x ∂y ∂y Ω ∂N j ∂N j nx + n y )dΓ − ∫ µN i ( ∂x ∂y Γ ∂N j ∂N j ∂N i ∂N i αh Bij = ∫∫ N i + (u x + uy ) βρ ( g y − gx ) dΩ u x y x y 2 | | ∂ ∂ ∂ ∂ Ω
(16)
(17)
V uvedené formulaci hraje důležitou roli křivkový integrál v matici transportu vířivosti (16), který je třeba aplikovat na té části hranice Γ, kde není známá hodnota vířivosti, to jest především na stěně (ne např. v ose symetrie, nebo ve vstupním průřezu, předpokládáme-li vyvinuté paralelní proudění). FEM1.DOC last update 15.11.2002
Page 61 of 116
S rovnicí proudové funkce (7) je to mnohem jednodušší, aplikace Galerkinovy metody vede na soustavu lineárních rovnic Dijψ j + C ijω j = 0
(18)
kde C ij = ∫∫ N i N j dΩ Ω
Dij = ∫∫ ( Ω
(19)
∂N i ∂N j ∂N i ∂N j + )dΩ ∂x ∂x ∂y ∂y
(20)
Cylindrický souřadný systém Podobně lze postupovat u cylindrického souřadného systému, kdy transportní rovnice vířivosti má tvar ∂ω ∂ω ∂ω u r ω ∂ 2ω ∂ 1 drω ∂T ∂T ρ( + ux + ur − ) = µ[ 2 + ( )] + ρβ ( g r − gx ) (21) ∂t ∂x ∂r ∂r r dr ∂x ∂r r ∂x Použijeme poněkud modifikovanou asymetrickou složku testovacích funkcí, do níž zahrneme i odstředivé síly (?) W ( x, y ) = N i +
∂N i ∂N i u r N i αh + uy − (u x ) r 2|u| ∂x ∂y
(22)
Odpovídající matice A a B lze vyjádřit těmito integrály ∂N j ∂N j u r N j ∂N i ∂N i u r N i αh − + ur − (u x + ur )](u x ) + ρ[ N i + 2|u| r r ∂r ∂x ∂r ∂x dΩ + Aij = ∫∫ N N N ∂ ∂ ∂N i ∂N i Ω j j j ∂N i + + ) + µ ( r ∂r ∂x ∂x ∂r ∂r nr N j ∂N j ∂N j nx + nr + − ∫ µN i ( )dΓ r ∂x ∂r Γ
(23)
∂N j ∂N j N ∂N i ∂N i αh Bij = ∫∫ N i + (u x + ur − u r i ) βρ ( g r − gx )dΩ r 2|u| ∂x ∂r ∂x ∂r Ω
(24)
Poissonova rovnice pro proudovou funkci má v cylindrickém souřadném systému tvar ω=
∂ 1 ∂ψ 1 ∂ 2ψ ( )+ r ∂x 2 ∂r r ∂r
(25)
čemuž odpovídá změněná matice D 1 ∂N ∂N j ∂N i ∂N j Dij = ∫∫ ( i + ) dΩ ∂r ∂r r ∂x ∂x Ω FEM1.DOC last update 15.11.2002
(26)
Page 62 of 116
Křivkové integrály Hlavní rozdíl proti předchozím (i následujícím) metodám spočívá v nutnosti výpočtu integrálu na té části hranice, kde není známa vířivost, tj. na stěně. − ∫ µN i (
∂N j
Γ
∂x
nx +
∂N j ∂y
n y )dΓ
(27)
V integrálu (27) jsou nx ny souřadnice vnější normály hranice. Poznámka: Rozlišení mezi vnitřní a vnější částí hranice je dáno polohou uzlu elementu, který není částí hranice, viz. následující obrázek: 2
Pro případ, kdy strana je definovaná dvěma uzly y (délka strany 1-2: h), platí až na znaménko y − y1 n x = cos α = 2 h (28) x1 − x 2 n y = sin α = h V případě, že strana elementu je zakřivená, a pro definici jejího tvaru jsou použity bázové funkce Nj platí opět až na znaménko Y nx = X 2 +Y2 −X ny = X 2 +Y 2 kde dN j dN j X = xj Y = yj , dξ dξ
α
α
1 3
x
(29)
(30)
Znaménko vektoru n je dáno požadavkem r n ⋅ 13 = n x ( x3 − x1 ) + n y ( y 3 − y1 ) < 0
(31)
Konec poznámky.
Diskretizace času Výsledkem použití metody vážených reziduí je soustava obyčejných diferenciálních rovnic pro transport vířivosti (14) doplněná soustavou algebraických rovnic (18). Diskretizací času (náhradou časové derivace diferencí) získáme v každém časovém kroku ∆t finální soustavu algebraických rovnic pro uzlové parametry {ωj ψj) ( M ij + ∆tAij )ω j = M ij ω 0j + ∆tBij T j
(32)
Dijψ j + C ijω j = 0 FEM1.DOC last update 15.11.2002
Page 63 of 116
Okrajové podmínky: Na stěně se zadává jen hodnota proudové funkce (konstantní). Vířivost známa není a informace o tom, že se jedná o stěnu musí být zahrnuta do křivkového integrálu (27) Kartézský souřadný systém ψ =
y3 y 3 u ( y − 2 ),ω = −3u 2 R 2 3R
R
Cylindrický souřadný systém ψ = u r 2 (1 −
r2 r ),ω = −4u 2 R 2R2
ψ=0, ω=0
Implementace Pro uspořádání uzlových parametrů {ω1 ψ1 ω2 ψ2 ……..} má lokální matice soustavy strukturu M 11 + ∆tA11 C11 M 21 + ∆tA21 ....
0 D11 0
M 12 + ∆tA12 C12 M 22 + ∆tA22
FEM1.DOC last update 15.11.2002
.... .... ....
Page 64 of 116
4.1.4. Navierovy Stokesovy rovnice – formulace v proměnných rychlosti a tlak, asymetrické testovací funkce UPWIND (příkaz UVP) ux u y
p
ux u y p
ux u y
Tímto odstavcem počínaje se pozornost zaměří na klasickou formulaci operující pouze s tzv. primitivními proměnnými, složkami rychlostí a tlakem. Tím ovšem přestává být samozřejmým to, co bylo pro charakteristické pro řešení s proudovou funkcí – automatické splnění rovnice kontinuity. Použití primitivních proměnných má však dvě zásadní výhody: snadno se zobecní na případ trojrozměrného proudění (u proudové funkce to jde také, ale vířivost je třeba chápat jako vektor, takže dostáváme stejný počet čtyř rovnic pro ψ ωx ωy ωz jako při použití primitivních proměnných p ux uy uz) a dále pak skutečnost, že tlak není eliminován, znamená, že lze použít i okrajové podmínky pro tlak a poměrně snadno řešit i problémy s několika výstupními proudy a případy, kdy tekutina obtéká nějakou překážku. Současné řešení Navierových Stokesových transportních rovnic (transport hybnosti) a rovnice kontinuity vyžaduje přejít na tzv. hybridní elementy s jiným typem aproximace (bázových funkcí) pro rychlosti a s jinými bázovými funkcemi pro tlak. Kartézský souřadný systém Uvažujme stejnou formulaci problému jako v předchozím odstavci, tj. Navierovy Stokesovy rovnice pro nestacionární tok nestlačitelné Newtonské kapaliny ρ( ρ(
∂ 2u ∂ 2u x ∂u x ∂u ∂u ∂p + u x x + u y x ) = − + µ ( 2x + ) + ρg x (1 − βT ) ∂t ∂x ∂y ∂x ∂x ∂y 2 ∂u y ∂t
+ ux
∂u y ∂x
+ uy
∂u y
∂ 2u y ∂ 2u y ∂p ) = − + µ( 2 + ) + ρg y (1 − βT ) ∂y ∂y ∂x ∂y 2
(1) (2)
a rovnici kontinuity ∂u x ∂u y + = 0. ∂x ∂y
(3)
Na rovnice rovnováhy (bilance hybnosti) aplikujme metodu vážených residuí s asymetrickými testovacími funkcemi (Petrof Galerkin), viz. Zienkiewicz, díl III. str.27, tedy se stejnými funkcemi jako při řešení transportu vířivosti u x ( x, y ) = N j ( x, y )u xj , W ( x, y ) = N i +
u y ( x, y ) = N j ( x, y )u yj ,
p ( x, y ) = H j ( x, y ) p j ,
∂N i ∂N i αh (u x + uy ). 2|u| ∂x ∂y
(4) (5)
Parametr h je charakteristický rozměr elementu a pro optimální hodnotu bezrozměrného koeficientu α platí vztah α opt = coth Pe −
1 , Pe
FEM1.DOC last update 15.11.2002
Pe =
| u | hρ . 2µ
(6)
Page 65 of 116
Pro malé hodnoty Pecletova čísla elementu (v tomto kontextu vlastně Reynoldsova čísla elementu) je optimální hodnota součinitele αopt≈Pe/2, zatímco pro velké hodnoty Pe se hodnota αopt blíží jedné. Jako bázové funkce pro aproximaci rychlostí Nj(x,y) jsou u této operace používány kvadratické polynomy v trojúhelníkových elementech a pro aproximaci tlaků lineární polynomy Hj(x,y). Důvodem proč nelze použít stejné typy bázových funkcí pro aproximaci pole tlaků a rychlostí je stabilita řešení – laické vysvětlení je to, že v NS rovnicích jsou druhé derivace rychlostí, ale jen první derivace tlaku, takže stupeň aproximačních polynomů rychlostí by měl být o jedničku vyšší než aproximace tlaku. Bilance hybnosti ve směrech x,y pak přejdou na obyčejné diferenciální rovnice M ij M ij
∂u xj ∂t ∂u yj ∂t
+ Aij u xj + Pijx p j = bix
(7)
+ Aij u yj + Pijy p j = biy
(8)
kde M ij = ∫∫ ρ[ N i + Ω
∂N i ∂N i αh (u x + uy )]N j dΩ ≅ ∫∫ ρN i N j dΩ 2|u| ∂x ∂y Ω
(9)
Pozn.: Zanedbání asymetrického členu asi není zcela oprávněné, ale např. příspěvek k diagonálnímu členu matice hmotností nulový je, protože asymetrická složka je funkce lichá a integrál jejího součinu s funkcí sudou (Ni) je nula. ∂N j ∂N j ∂N i ∂N i ∂N ∂N j ∂N i ∂N j αh Aij = ∫∫ ρ [ N i + (u x + uy )](u x + uy ) + µ( i + ) dΩ + u x y x y x x y y 2 | | ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ Ω ∂N j dΓ − ∫ µN i ∂n Γ
(10)
I v tomto případě je ignorována asymetrická část testovací funkce u vazkého členu – tam je to oprávněné. Křivkový integrál je nulový na stěně (protože tam je zadávána rychlost a tudíž Ni=0), na ose symetrie (∂Nj/∂n=0), ve vstupním průřezu (Ni=0) a může být nenulový jen na výstupu, pokud tam ještě není stabilizovaný rychlostní profil. Totéž platí pro křivkové integrály v následujících vztazích pro koeficienty matice P, odpovídající gradientům tlaku v NS rovnicích: Pijx = ∫∫ − H j Ω Pijy = ∫∫ − H j Ω
∂N i ∂N i ∂N i ∂H j αh (u x ) + + uy dΩ + ∫ H j N i n x dΓ ∂y ∂x ∂x 2 | u | ∂x Γ
(11)
∂N i ∂N i ∂N i ∂H j αh (u x ) + + uy dΩ + ∫ H j N i n y dΓ ∂y 2 | u | ∂x ∂y ∂y Γ
(12)
Pozn.: U tohoto členu byla Greenova věta aplikována jen na symetrickou část testovací funkce. Důsledkem je to, že se v integrálu objeví první derivace bázových funkcí Hj, což by působilo problémy při použití aproximace tlaku funkcemi Hj , které jsou po elementech konstantní. V programu FEMINA je tento člen prostě vynechán. ∂N i ∂N i αh bix = ∫∫ N i + (u x + uy ) ρg x (1 − βT )dΩ (13) ∂x ∂y 2|u| Ω ∂N i ∂N i αh biy = ∫∫ N i + (u x + uy ) ρg y (1 − βT )dΩ ∂x ∂y 2|u| Ω FEM1.DOC last update 15.11.2002
(14) Page 66 of 116
Pro rovnici kontinuity se jako testovací funkce použijí bázové funkce pro tlak Hi (samozřejmě bez asymetrické složky, rovnice kontinuity není transportní rovnice, ale jen omezující podmínka) Qijx u xj + Qijy u yj = 0 kde Qijx = ∫∫ H i Ω
∂N j ∂x
(15) dΩ ,
Qijy = ∫∫ H i Ω
∂N j ∂y
dΩ
(16)
Matice Q jsou až na znaménko totožné s transponovanými maticemi P pokud se v nich neuvažuje asymetrický člen testovacích funkcí (tj. když α=0). Cylindrický souřadný systém V podstatě totéž platí i pro popis proudění v cylindrickém souřadném systému s Navierovými Stokesovými rovnicemi ve tvaru ∂ 2u ∂u x ∂u ∂u ∂p 1 ∂ ∂u x + u x x + u r x ) = − + µ[ 2x + (r )] + ρg x (1 − βT ) r ∂r ∂t ∂x ∂r ∂x ∂r ∂x ∂u ∂ 2u ∂u ∂u ∂p ∂ 1 ∂ru r ρ ( r + u x r + u r r ) = − + µ[ 2r + ( )] + ρg r (1 − βT ) ∂t ∂x ∂r ∂r ∂r r ∂r ∂x ρ(
(17) (18)
a rovnicí kontinuity ∂u x 1 ∂ru r + = 0. ∂x r ∂r
(19)
Na rovnice bilance hybnosti ve směrech x,r aplikujme testovací funkci W(x,r),
∫∫W [ ρ (
∂ 2u ∂u x ∂u ∂u 1 ∂ ∂u x ∂p dΩ = ∫∫ Wρg x (1 − βT )dΩ (20) + u x x + u r x ) − µ ( 2x + (r ))]dΩ + ∫∫ W r ∂r ∂t ∂x ∂r ∂r ∂x ∂x Ω Ω
∫∫W [ ρ (
∂u ∂ 2u ∂u r ∂u ∂ 1 ∂ru r ∂p dΩ = ∫∫ Wρg r (1 − βT )dΩ + u x r + u r r ) − µ ( 2r + ( ))]dΩ + ∫∫ W ∂t ∂x ∂r ∂r r ∂r ∂r ∂x Ω Ω
Ω
Ω
(21)
a použijme Greenovu větu na snížení řádu derivací vazkého členu ∂u x
∫∫ [Wρ ( ∂t
+ ux
Ω
∂u x ∂u ∂u ∂W ∂u x ∂W W ∂u x ∂p dΩ = )]dΩ + ∫∫ W + ur x ) + µ ( x + − r ∂r ∂x ∂r ∂x ∂x ∂r ∂r ∂x Ω ∂u ∂u = ∫∫ Wρg x (1 − βT )dΩ + ∫ W ( x n x + x n r )dΓ ∂x ∂r Ω Γ
∂u r
∫∫ [Wρ ( ∂t Ω
+ ux
∂u r ∂u ∂u ∂W ∂u r ∂W u r ∂W ∂p dΩ = )]dΩ + ∫∫ W + ur r ) + µ ( r + + r ∂r ∂x ∂r ∂x ∂x ∂r ∂r ∂r Ω ∂u 1 ∂ru r nr )dΓ = ∫∫ Wρg r (1 − βT )dΩ + ∫ W ( r n x + r ∂r ∂x Ω Γ
FEM1.DOC last update 15.11.2002
Page 67 of 116
(22)
(23)
Dosazením testovací funkce ∂N i ∂N i αh W ( x, r ) = N i + (u x + ur ) 2|u| ∂x ∂r
(24)
obdržíme z rovnic rovnováhy ve směrech x,r soustavu obyčejných diferenciálních rovnic M ij M ij
∂u xj ∂t ∂u rj ∂t
+ Aijx u xj + Pijx p j = bix
(25)
+ Aijr u rj + Pijr p j = bir .
(26)
Matice hmot M je pro obě rovnice totožná M ij = ∫∫ ρ[ N i + Ω
∂N i ∂N i αh (u x + ur )]N j dΩ ≅ ∫∫ ρN i N j dΩ 2|u| ∂x ∂r Ω
(27)
(s toutéž výhradou jako u formulace v kartézském souřadném systému), zatímco matice A se mírně odlišují pro směr x a směr r ∂N j ∂N j ∂N i ∂N i ∂N ∂N j ∂N i ∂N j N i ∂N j αh Aijx = ∫∫ ρ [ N i + (u x )](u x ) + µ( i ) dΩ + + ur + ur + − 2|u | r ∂r ∂x ∂x ∂r ∂r ∂x ∂r ∂x ∂r Ω ∂N j ∂N j nx + n r ) dΓ − ∫ µN i ( ∂x ∂r Γ
(28) ∂N j
∂N i ∂N i αh Aijr = ∫∫ ρ[ N i + (u x )](u x + ur + ur 2|u | ∂x ∂r ∂x Ω
∂N ∂N j ∂N i ∂N j N j ∂N i ) + µ( i ) dΩ + + + r ∂r ∂r ∂r ∂r ∂x ∂x . ∂N j 1 ∂rN j nx + n r )dΓ − ∫ µN i ( r ∂r ∂x Γ
∂N j
(29) Matice P se stejně jako vektory pravých stran nemění, tj. Pijx = ∫∫ − H j Ω Pijr = ∫∫ − H j Ω
∂N i ∂N i ∂N i ∂H j αh (u x ) + + ur dΩ + ∫ H j N i n x dΓ ∂x 2 | u | ∂x ∂r ∂x Γ
(30)
∂N i ∂N i ∂N i ∂H j αh (u x ) + + ur dΩ + ∫ H j N i n r dΓ ∂r ∂r ∂r 2 | u | ∂x Γ
(31)
αh bix = ∫∫ N i + (u x 2|u| Ω αh bir = ∫∫ N i + (u x 2|u| Ω
∂N i ∂N i + ur ) ρg x (1 − βT )dΩ ∂x ∂r ∂N i ∂N i + ur ) ρg r (1 − βT )dΩ ∂x ∂r
(32) (33)
Integrální formulace rovnice kontinuity je založena na symetrické testovací funkci Hi FEM1.DOC last update 15.11.2002
Page 68 of 116
Qijx u xj + Qijr u rj = 0 kde Qijx = ∫∫ H i Ω
∂N j ∂x
(34)
dΩ ,
Qijr = ∫∫ H i Ω
1 ∂rN j dΩ r ∂r
(35)
Matice Q jsou až na znaménko totožné s transponovanými maticemi P pokud je nulová asymetrická část testovacích funkcí (α=0). Diskretizace času Výsledkem aplikace metody vážených reziduí je soustava obyčejných diferenciálních rovnic (7-8), resp. (25-26) doplněná algebraickými rovnicemi (15), resp. (34). Diferenciální rovnice nahradíme diferenčními rovnicemi implicitním Eulerovským schematem ( M ij + ∆tAij )u xj + ∆tPijx p j = M ij u xj0 + ∆tbix
(36)
( M ij + ∆tAij )u yj + ∆tPijy p j = M ij u 0yj + ∆tbiy
(37)
a doplníme rovnicemi kontinuity (15),resp.(34) ve tvaru ∆tPjix u xj + ∆tPjiy u yj = 0
(38)
využívaje ekvivalence matic P a Q.
Implementace Operace je implementována pro dva typy hybridních elementů, trojúhelníky s 6, resp. 4 uzly: • Vektor uzlových parametrů trojúhelníkového elementu se 6 uzlovými body má tuto strukturu {ux1 uy1 p1 ux2 uy2 p2 ux3 uy3 p3 ux4 uy4 ux5 uy5 ux6 uy6 }, a korespondující matice mají rozměr 15 x 15. Struktura matice soustavy je znázorněna na následujícím schematu, kde symboly aij označují prvky matic A s dimenzí 6 x 6, která odpovídá šesti bázovým funkcím Nj pro rychlosti, a symboly pij označují prvky matice P dimenze 6 x 3, odpovídající šesti bázovým funkcím Nj a třem bázovým funkcím tlaku Hj:
FEM1.DOC last update 15.11.2002
Page 69 of 116
a11x 0 p11x x a 21 0 x p12 a x 31 0 x p13 x a 41 0 a x 51 0 a x 61 0
0 a11y p11y 0 a 21y p12y 0 a31y p13y 0 a 41y 0 a51y 0 a 61y
p11x p11y 0 x p 21 p 21y 0 p 31x p 31y 0 x p 41 p 41y p 51x p 51y p 61x p 61y
a12x 0 x p 21 x a 22 0 x p 22 a32x 0 x p 23 x a 42 0 a52x 0 a 62x 0
0 a12y p 21y 0 a 22y p 22y 0 a32y p 23y 0 a 42y 0 a52y 0 a 62y
p1
•
p12x p12y 0 x p 22 p 22y 0 p32x p32y 0 x p 42 p 42y p52x p52y p 62x p 62y p2
a13x 0 p31x x a 23 0 p32x a33x 0 p33x x a 43 0 a53x 0 a 63x 0
0 a13y p31y 0 a 23y p32y 0 a33y p33y 0 a 43y 0 a53y 0 a 63y
p13x p13y 0 x p 23 p 23y 0 p33x p33y 0 x p 43 p 43y p53x p53y p 63x p 63y
a14x 0 x p 41 x a 24 0 x p 42 a34x 0 x p 43 x a 44 0 a54x 0 a 64x 0
0 a14y p 41y 0 a 24y p 42y 0 a34y p 43y 0 a 44y 0 a54y 0 a64y
a15x 0 p51x x a 25 0 p52x a35x 0 p 53x x a 45 0 a55x 0 a 65x 0
0 a15y p51y 0 a 25y p52y 0 a35y p 53y 0 a 45y 0 a55y 0 a 65y
a16x 0 p 61x x a 26 0 p 62x a 36x 0 p 63x x a 46 0 a 56x 0 a 66x 0
0 a16y p 61y 0 a 26y p 62y 0 a36y p 63y 0 a 46y 0 a56y 0 a 66y
p1
p2
p3
p3
Vektor uzlových parametrů trojúhelníkového elementu se 4 uzlovými body (3 vrcholy a těžiště) má strukturu {ux1 uy1 ux2 uy2 ux3 uy3 p4}, a korespondující matice mají rozměr 7 x 7.
Výsledky výpočtu a postprocessing V operaci UVP se žádný postprocessing neprovádí, jediným výsledkem jsou rozložení rychlostí a tlaků, ukládané v jednotlivých časových krocích do souboru *.OUT.
FEM1.DOC last update 15.11.2002
Page 70 of 116
4.1.5. Navierovy Stokesovy rovnice – formulace v proměnných rychlosti a tlak pro pseudostlačitelnou kapalinu, asymetrické testovací funkce UPWIND (příkaz UVPP) ux u y
p
ux u y p ux u y
U předchozího řešení se na diagonále matice soustavy objevovaly nuly v řádcích, které odpovídají rovnici kontinuity. To je důsledkem toho, že v rovnici kontinuity se objevují jen složky rychlostí ux, uy a nikoliv tlak p, i když tlak je právě ta veličina, která by měla být rovnicí kontinuity popisována (chápeme-li NS rovnice jako rovnice pro popis složek rychlostí). Pokud je pro řešení výsledné soustavy rovnic použita eliminační metoda, nemělo by to být na závadu, ale je to překážkou pro metody explicitní. Proto je v tomto odstavci testována metoda vycházející z rovnice kontinuity v níž se tlak vyskytuje – rovnice kontinuity je modifikována pro tekutiny pseudostlačitelné. Kartézský souřadný systém Uvažujme podobnou formulaci problému jako v předchozím odstavci, přesněji úplně stejné Navierovy Stokesovy rovnice pro nestacionární tok nestlačitelné Newtonské kapaliny ∂ 2u x ∂ 2u x ∂u x ∂u x ∂u x ∂p ρ( + ux + uy ) = − + µ( 2 + ) + ρg x (1 − βT ) ∂t ∂x ∂y ∂x ∂x ∂y 2 ρ(
∂u y ∂t
+ ux
∂u y ∂x
+ uy
∂u y ∂y
)=−
∂ 2u y ∂ 2u y ∂p + µ( 2 + ) + ρg y (1 − βT ) ∂y ∂x ∂y 2
(1) (2)
a pozměněnou rovnici kontinuity s časovou derivací tlaku ∂u x ∂u y 1 ∂p + =− . ∂x ∂y λ ∂t
[λ=Pa] modul objemové stlačitelnosti
Poznámka: ∂u
∂u
(3)
1 Dρ
y x Rovnice kontinuity pro stlačitelnou tekutinu má tvar ∂x + ∂y = − ρ Dt kde Dρ/Dt je materiálová derivace hustoty.
Uvažujeme-li lineární vztah mezi hustotou a tlakem ρ=ρ0+p/c2 , kde c je rychlost zvuku, získáme rovnici 1 Dp ∂u x ∂u y + =− ∂x ∂y ρ 0c 2 Dt
která odpovídá rovnici kontinuity (3). Je patrné, že λ [Pa] by mělo být značně veliké
číslo řádu 109, neboť rychlost zvuku v kapalinách je řádově 103 m/s.
Na rovnice rovnováhy (bilance hybnosti) lze použít metodu vážených residuí stejným způsobem jako v předchozí kapitole, tj. s kvadratickými bázovými funkcemi N pro rychlosti, lineárními bázovými funkcemi H pro tlak a s asymetrickými testovacími funkcemi W u x ( x, y ) = N j ( x, y )u xj , W ( x, y ) = N i +
u y ( x, y ) = N j ( x, y )u yj ,
p ( x, y ) = H j ( x, y ) p j ,
∂N i ∂N i αh (u x + uy ), 2|u| ∂x ∂y
FEM1.DOC last update 15.11.2002
(4) (5)
Page 71 of 116
Rovnice (1-2) jsou stejné jako v předchozím a stejný je pochopitelně i výsledek. Odlišnost se týká pouze rovnice kontinuity, kde se jako testovací funkce použijí bázové funkce pro tlak Hi (bez asymetrické složky) Qijx u xj + Qijy u yj = −
1 H ij ( p j − p 0j ) λ∆t
(6)
a prvky matic Q,H jsou definovány integrály Qijx = − Pjix = ∫∫ H i Ω
∂N j ∂x
dΩ , Qijy = − Pjiy = ∫∫ H i Ω
∂N j ∂y
dΩ
H ij = ∫∫ H i H j dΩ
(7)
Ω
Cylindrický souřadný systém Stejně jako v předchozím příkladě lze aplikovat výše uvedený postup i na případ proudění v cylindrickém souřadném systému – přepíšeme opět jen rovnici kontinuity ∂u x 1 ∂ru r 1 ∂p + =− . ∂x r ∂r λ ∂t
(8)
s výsledkem Qijx u xj + Qijr u rj = −
1 H ij ( p j − p 0j ) λ∆t
(9)
kde Qijx = ∫∫ H i Ω
∂N j ∂x
dΩ ,
Qijr = ∫∫ H i Ω
1 ∂rN j dΩ r ∂r
H ij = ∫∫ H i H j dΩ
(10)
Ω
Matice Q jsou až na znaménko totožné s transponovanými maticemi P.
Implementace Operace je implementována pro 6-ti a 4-uzlové trojúhelníky. • Vektor uzlových parametrů trojúhelníkového elementu se 6 uzlovými body má strukturu {ux1 uy1 p1 ux2 uy2 p2 ux3 uy3 p3 ux4 uy4 ux5 uy5 ux6 uy6 }, a korespondující matice mají rozměr 15 x 15. • Vektor uzlových parametrů trojúhelníkového elementu se 4 uzlovými body má strukturu {ux1 uy1 ux2 uy2 ux3 uy3 p4}, a korespondující matice mají rozměr 7 x 7. Struktura matice soustavy pro 6ti uzlový trojúhelník je znázorněna na následujícím schematu, kde symboly aij označují prvky matic A s dimenzí 6 x 6, která odpovídá šesti bázovým funkcím N pro rychlosti, symboly pij označují prvky matice P dimenze 6 x 3, odpovídající šesti bázovým funkcím N a
FEM1.DOC last update 15.11.2002
Page 72 of 116
třem bázovým funkcím tlaku H a symboly hij jsou integrály součinu bázových funkcí tlaku – tyto členy také představují jedinou odchylku vůči předchozímu řešení :
FEM1.DOC last update 15.11.2002
Page 73 of 116
a11x 0 p11x x a 21 0 p12x a31x 0 p13x x a 41 0 a51x 0 a 61x 0
0 a11y p11y 0 a 21y p12y 0 a31y p13y 0 a 41y 0 a51y 0 a 61y
p11x p11y h11 x p 21 p 21y h21 p31x p31y h31 x p 41 p 41y p51x p51y p61x p
y 61
p1
a12x 0 x p 21 x a 22 0 x p 22 a32x 0 x p 23 x a 42 0 a52x 0 a 62x 0
0 a12y p 21y 0 a 22y p 22y 0 a32y p 23y 0 a 42y 0 a52y 0 a 62y
p12x p12y h12 x p 22 p 22y h22 p32x p32y h32 x p 42 p 42y p52x p52y p 62x p
y 62
p2
FEM1.DOC last update 15.11.2002
a13x 0 p31x x a 23 0 p32x a33x 0 p33x x a 43 0 a53x 0 a 63x 0
0 a13y p31y 0 a 23y p32y 0 a33y p33y 0 a 43y 0 a53y 0 a 63y
p13x p13y h13 x p 23 p 23y h23 p33x p33y h33 x p 43 p 43y p53x p53y p 63x p
y 63
a14x 0 x p 41 x a 24 0 x p 42 a34x 0 x p 43 x a 44 0 a54x 0 a 64x 0
0 a14y p 41y 0 a 24y p 42y 0 a34y p 43y 0 a 44y 0 a54y 0 a 64y
a15x 0 p51x x a 25 0 p52x a35x 0 p53x x a 45 0 a55x 0 a 65x 0
0 a15y p51y 0 a 25y p52y 0 a35y p53y 0 a 45y 0 a55y 0 a 65y
a16x 0 p 61x x a 26 0 p 62x a36x 0 p 63x x a 46 0 a56x 0 a66x 0
0 a16y p 61y 0 a 26y p62y 0 a36y p 63y 0 a 46y 0 a56y 0 a 66y
p3
Page 74 of 116
p1
p2
p3
4.1.6. Navierovy Stokesovy rovnice – eliminace tlaku metodou pokutové funkce, asymetrické testovací funkce UPWIND (příkaz PENS)
ux u y
Ještě drastičtější modifikací rovnice kontinuity lze dosáhnout úplně eliminace tlaku z rovnic popisu proudového pole. Je to aplikace penalizační metody (odtud název PENalty Navier Stokes). Kartézský souřadný systém Uvažujme opět Navierovy Stokesovy rovnice pro nestacionární tok Newtonské kapaliny ∂u x ∂u x ∂u x ∂ 2u x ∂ 2u x ∂p ρ( + ux + uy ) = − + µ( 2 + ) + ρg x (1 − βT ) ∂t ∂x ∂y ∂x ∂x ∂y 2 ρ(
∂u y ∂t
+ ux
∂u y ∂x
+ uy
(1)
∂u y
∂ 2u y ∂ 2u y ∂p ) = − + µ( 2 + ) + ρg y (1 − βT ) . ∂y ∂y ∂x ∂y 2
(2)
Rovnici kontinuity pro nestlačitelnou kapalinu tentokrát nahradíme rovnicí ∂u x ∂u y p + =− , λ ∂x ∂y
λ[Pa.s] má rozměr objemové viskozity
(3)
kde λ je penalizační parametr, který by měl být natolik veliký, aby pravá strana byla pro typické hodnoty tlaku p(x,y) prakticky nulová. Znaménko minus odpovídá tomu, že expanze objemu (kladná hodnota divergence rychlosti) způsobí podtlak. Dosadíme-li za tlak p z rov.(3) do rovnic bilance hybnosti (1,2), získáme dvojici rovnic pro dvojici neznámých složek rychlosti 2 ∂ 2u x ∂ u y ∂ 2u ∂ 2u x ∂u x ∂u x ∂u x ρ( + ux + uy ) = λ( 2 + ) + µ ( 2x + ) + ρg x (1 − βT ) ∂t ∂x ∂y ∂y∂x ∂x ∂x ∂y 2
ρ(
∂u y ∂t
+ ux
∂u y ∂x
+ uy
(4)
∂u y
2 ∂ 2u y ∂ 2u y ∂ 2u x ∂ u y + ) = λ( ) + µ( 2 + ) + ρg y (1 − βT ) ∂y ∂x∂y ∂y 2 ∂x ∂y 2
(5)
Na tyto rovnice bilance hybnosti aplikujme metodu vážených residuí s asymetrickými testovacími funkcemi (Petrof Galerkin), viz. Zienkiewicz, díl III. str.27 u x ( x, y ) = N j ( x, y )u xj , W ( x, y ) = N i +
u y ( x, y ) = N j ( x, y )u yj ,
,
∂N i ∂N i αh (u x + uy ), 2|u| ∂x ∂y
(6) (7)
kde h je charakteristický rozměr elementu a pro optimální hodnotu koeficientu α platí vztah α opt = coth Pe −
1 , Pe
FEM1.DOC last update 15.11.2002
Pe =
| u | hρ . 2µ
(8)
Page 75 of 116
Jako bázové funkce pro aproximaci rychlostí Nj(x,y) lze použít libovolné polynomy (lineární, kvadratické,…), které nemusí zajišťovat spojitost derivací, stačí, aby první derivace byly integrovatelné s kvadrátem. Bilance hybnosti ve směrech x,y pak přejdou na rovnice M ij M ij
∂u xj
∂t ∂u yj ∂t
+ Aijx u xj + Pijx u yj = bix
(9)
+ Aijy u yj + Pijy u xj = biy
(10)
kde M ij = ∫∫ ρN i N j dΩ
(11)
Ω
∂N j ∂N j ∂N i ∂N i ∂N ∂N j ∂N ∂N j αh Aijx = ∫∫ ρ[ N i + + uy + uy (u x )](u x )+( i )( µ + λ ) + µ ( i ) dΩ ∂x ∂y ∂x ∂y ∂x ∂x ∂y ∂y 2|u| Ω (12) ∂N j ∂N j ∂N i ∂N ∂N j ∂N ∂N j ∂N i αh Aijy = ∫∫ ρ [ N i + (u x )](u x )+( i )( µ + λ ) + µ ( i ) dΩ + uy + uy 2|u| ∂x ∂y ∂x ∂y ∂y ∂y ∂x ∂x Ω (13) V předchozích integrálech není uvažován vliv asymetrické testovací funkce na vazké ani na tlakové členy. Je to účelová konstrukce, protože použití Greenovy věty by vedlo k tomu, že by se v integrandu objevily derivace druhého řádu. Totéž platí i pro následující matici P Pijx = Pijy =
λ ∂N i ∂N j ∂N i ∂N j + dΩ . 2 ∫∫ ∂x ∂y ∂y ∂x Ω
(14)
Asymetrickou váhovou funkci lze ponechat ve vektorech pravé strany, které popisují příspěvek vztlaku αh bix = ∫∫ N i + (u x u 2 | | Ω αh biy = ∫∫ N i + (u x u 2 | | Ω
∂N i ∂N i + uy ) ρg x (1 − βT )dΩ ∂x ∂y
(15)
∂N i ∂N i + uy ) ρg y (1 − βT )dΩ ∂x ∂y
(16)
Tím je dokompletována formulace v kartézském souřadném systému. Cylindrický souřadný systém Navierovy Stokesovy rovnice zůstávají beze změny ∂u x ∂u ∂u ∂ 2u ∂p 1 ∂ ∂u x + u x x + u r x ) = − + µ[ 2x + (r )] + ρg x (1 − βT ) r ∂r ∂t ∂x ∂r ∂x ∂r ∂x ∂u r ∂u r ∂u r ∂ 2 u r ∂ 1 ∂ru r ∂p ρ( + ux + ur ) = − + µ[ 2 + ( )] + ρg r (1 − βT ) ∂t ∂x ∂r ∂r ∂r r ∂r ∂x ρ(
FEM1.DOC last update 15.11.2002
Page 76 of 116
(17) (18)
a modifikovaná rovnice kontinuity má tvar ∂u x 1 ∂ru r p + =− . ∂x r ∂r λ
(19)
Matice A,P jsou pro tento případ popisovány integrály ∂N j ∂N j ∂N i ∂N i αh (u x )](u x ) + + ur + ur ρ[ N i + 2|u | ∂x ∂r ∂x ∂r x dΩ Aij = ∫∫ N N N ∂ ∂ ∂ ∂N ∂N N Ω j j j ) + µ( i ) − i + ( µ + λ )( i r ∂r ∂x ∂x ∂r ∂r
(20)
∂N j ∂N j ∂N i ∂N i αh (u x )](u x ) + + ur + ur ρ[ N i + 2|u | ∂x ∂r ∂x ∂r r dΩ Aij = ∫∫ N N N ∂ ∂ ∂ ∂ ∂ N N N Ω j j j i ) + ( µ + λ )( i ) + + µ ( i r ∂r ∂x ∂x ∂r ∂r
(21)
∂N ∂N j 1 ∂N i Pijx = λ ∫∫ i + Nj dΩ r ∂x ∂r ∂x Ω ∂N ∂N j Pijr = λ ∫∫ i dΩ ∂x ∂r Ω
(22) (23)
a vektory pravé strany se nemění. Diskretizace času Diferenční náhradou časové derivace v soustavě diferenciálních rovnic (9-10) získáme finální soustavu algebraických rovnic pro uzlové rychlosti v každém časovém kroku: ( M ij + ∆tAijx )u xj + ∆tPijx u yj = M ij u xj0 + ∆tbix
(24)
( M ij + ∆tAijy )u yj + ∆tPijy u xj = M ij u 0yj + ∆tbiy .
(25)
Implementace Na rozdíl od předchozích hybridních elementů (s kombinací uzlových parametrů rychlosti a tlak) je možné použít širší škálu bázových funkcí. Proto je varianta PENS implementována pro troj i čtyřúhelníkové elementy s libovolným počtem uzlů. Výsledky výpočtu a postprocessing V operaci PENS se žádný postprocessing neprovádí, jediným výsledkem je rozložení rychlostí ukládané v jednotlivých časových krocích do souboru *.OUT. FEM1.DOC last update 15.11.2002
Page 77 of 116
4.1.7. Proudění s minimální dissipací a kinetickou energií (metoda nejmenších čtverců operace MIDE)
ux u y
V kapitole 4.1.1 byla uvedena metoda řešení spočívající v minimalizaci dissipované energie, přičemž výsledkem byla proudová funkce, automaticky splňující rovnici kontinuity. Stejný přístup lze použít i bez proudové funkce, tj. s primitivními proměnnými – rychlostmi ux, uy a požadavek na splnění rovnice kontinuity formulovat zvlášť jako jednu část minimalizovaného funkcionálu. Princip, na kterém bude následující řešení založeno, vychází z funkcionálu, který je součtem dissipované energie, kinetické energie a kvadrátu rezidua rovnice kontinuity. Není to příliš korektní formulace, např. z toho důvodu, že výsledkem řešení bude soustava lineárních (a nikoliv nelineárních) rovnic. Chování této aproximace snad ale za pozornost stojí, především pro její jednoduchost. Kartézský souřadný systém Funkcionál, který zahrnuje dissipovanou i kinetickou energii dvourozměrného proudění je dán integrálem (jehož rozměr je W/m – výkon vztažený na 1 m šířky kanálu) F (u x , u y ) = ∫∫ {µ[2( Ω
∂u y 2 ∂u y 2 ∂u y 2 ∂u x 2 ∂u ∂u ρ ) + 2( ) +( x + ) ] + (u x2 + u y2 ) + λ ( x + ) }dxdy ∂x ∂y ∂y ∂x ∂x ∂y 2
(1)
přičemž poslední člen integrandu je kvadrát rezidua rovnice kontinuity, násobený parametrem λ, který hraje podobnou roli jako penalizační faktor u předchozí metody PENS (parametr λ má i stejný rozměr [Pa.s] objemové viskozity). Vzhledem k tomu, že v integrandu jsou nejvýše první derivace rychlostí, lze pro jejich aproximaci použít víceméně libovolné (například i lineární) bázové funkce u x ( x, y ) = N i ( x, y )u xi ,
u y ( x, y ) = N i ( x, y )u yi
(2)
které lze dosadit do funkcionálu (1) a tím ho převést na funkci uzlových parametrů, rychlostí uxi uyi. Minimalizací této funkce, tj. z podmínek ∂F ∂F = =0 ∂u xi ∂u yi
(3)
získáme tuto soustavu lineárních algebraických rovnic pro uzlové parametry K ijxx u xj + K ijxy u yj = 0
(4)
K ijyx u xj + K ijyy u yj = 0
(5)
kde matice K jsou definovány následujícími integrály K ijxx = ∫∫ [(4µ + 2λ ) Ω
FEM1.DOC last update 15.11.2002
∂N i ∂N j ∂N i ∂N j + 2µ + ρN i N j ]dxdy ∂x ∂x ∂y ∂y
(6)
Page 78 of 116
K ijxy = ∫∫ (2λ Ω
K ijyy = ∫∫ [(4 µ + 2λ ) Ω
K ijyx = ∫∫ (2λ Ω
∂N i ∂N j ∂N i ∂N j + 2µ )dxdy ∂x ∂y ∂y ∂x
(7)
∂N i ∂N j ∂N i ∂N j + 2µ + ρN i N j ]dxdy ∂y ∂y ∂x ∂x
(8)
∂N i ∂N j ∂N i ∂N j + 2µ )dxdy ∂y ∂x ∂x ∂y
(9)
Tím je celá formulace uzavřena. Cylindrický souřadný systém Funkcionál, který je analogií (1) je dán vztahem
∂u x 2 ∂u ∂u u ∂u ∂u ρ 1 ∂ru r 2 ) + 2( r ) 2 + 2( r ) 2 + ( x + r ) 2 ] + (u x2 + u r2 ) + λ ( x + ) }dxdr r 2 ∂x ∂r ∂r ∂x ∂x r ∂r Ω (10) a stejným postupem jako u kartézského souřadného systému získáme soustavu rovnic pro uzlové parametry F (u x , u r ) = ∫∫ r{µ[2(
K ijxx u xj + K ijxr u rj = 0
(11)
K u xj + K u rj = 0
(12)
rx ij
rr ij
s maticemi K K ijxx = ∫∫ r[(4 µ + 2λ ) Ω
∂N i ∂N j ∂N i ∂N j + 2µ + ρN i N j ]dxdr ∂x ∂x ∂r ∂r
(13)
K ijxr = 2 ∫∫ r (λ
N j ∂N i ∂N i ∂N j ∂N i ∂N j +µ +λ )dxdr r ∂x ∂x ∂r ∂r ∂x
(14)
K ijrx = 2 ∫∫ r ( µ
N ∂N j ∂N i ∂N j ∂N i ∂N j +λ +λ i )dxdr r ∂x ∂x ∂r ∂r ∂x
(15)
Ω
Ω
K ijrr = ∫∫ r[(4 µ + 2λ ) Ω
∂N j ∂N i ∂N j ∂N i ∂N j ∂N i 4µ + 2λ 2λ )Ni N j + (Ni )]dxdr (16) + 2µ + (ρ + +Nj 2 r ∂r ∂r ∂x ∂x ∂r ∂r r
FEM1.DOC last update 15.11.2002
Page 79 of 116
4.1.8. Proudění s minimální kinetickou energií (operace MIKE, MInimum Kinetic Energy) Tato poněkud nezvykle formulovaná úloha byla motivována problémem expanze škrobové suspenze v relativně tenké štěrbině vyhřívací formy.
Pro analýzu tohoto procesu byl navržen integrální model, který popisuje to, co se odehrává v průřezu stěny, tj. jak se mění v čase příčný teplotní profil, porozita látky, jak se vyvíjí povrchová krusta, jaký je hmotnostní průtok odpařované vody a také to, do jaké míry látka expanduje, což lze vyjádřit rovnicí kontinuity pro dvourozměrný tok ve štěrbině formy ∂u x ∂u y + = Φ (t , x, y ) ∂x ∂y
(1)
Jako model toku byla navržena nejjednodušší možná formulace, založená na minimalizaci integrálu
∫∫ (u
2 x
+ u y2 )dxdy ≡ min
(2)
Ω
který na první pohled představuje princip minima kinetické energie, ale v uvažovaném kontextu jde o princip minima práce, konané třecími silami na povrchu formy (za předpokladu, že třecí síly jsou úměrné rychlosti pohybu expandující látky). Problém hledání vázaného extrému lze řešit metodou Lagrangeových multiplikátorů: Místo hledání minima funkcionálu (2) a eliminace omezující podmínek (1) se hledá minimum funkcionálu F (u x , u y , p) = ∫∫ [u x2 + u y2 − p( Ω
∂u x ∂u y + − Φ )]dΩ ∂x ∂y
(3)
již bez omezujících podmínek, ale s rozšířením minimalizovaného funkcionálu o další parametr Lagrangeův multiplikátor p. Pro aproximaci rychlostí a Lagrangeova multiplikátoru můžeme použít stejné bázové funkce jako v metodě UVP (podobnost rovnic je očividná, Lagrangeův multiplikátor hraje roli tlaku) u x = N j u xj
u y = N j u yj
p = H j pj.
(4)
Po dosazení této aproximace do funkcionálu (3) získáme z podmínek minima soustavu rovnic 2M ij u xj + Pijx p j = 0 FEM1.DOC last update 15.11.2002
(5) Page 80 of 116
2 M ij u yj + Pijy p j = 0
(6)
Pijx u xj + Pijy u yj = bi
(7)
M ij = ∫∫ N i N j dΩ
(8)
kde
Ω
∂N i dΩ ∂x Ω ∂N i Pijy = − ∫∫ H j dΩ ∂y Ω Pijx = − ∫∫ H j
(9) (10)
bi (t ) = − ∫∫ H i ΦdΩ
(11)
Ω
Výsledkem řešení soustavy rovnic (5-7) doplněné eventuálně okrajovými podmínkami pro rychlosti a alespoň jednou hodnotou pj bude vektor složek rychlostí a vektor Lagrangeových multiplikátorů – tlaků, které splňují kriterium nejmenšího integrálu čtverce rychlosti a současně splňují rovnici kontinuity. Na rozdíl od metody UVP je celý problém lineární a není nutné iterovat. Řešení existuje i v případě, že není předepsána žádná okrajová podmínka pro rychlosti – to je právě případ volně expandující látky v nezaplněné formě. Implementace U hybridního trojúhelníkového elementu jsou implementovány dvě varianty bázových funkcí: •
Lineární aproximace rychlostí bází N1, N2, N3 a konstantní bázová funkce v elementu H1. Odpovídající matice soustavy má rozměr 7 x 7
2 M 11 0 2 M 21 0 2M 31 0 Px 11 •
0 2 M 11 0 2M 21 0 2 M 31 P11y
2M 12 0 2M 22 0 2 M 32 0 P21x
0 2M 12 0 2 M 22 0 2 M 32 P21y
2M 13 0 2 M 23 0 2 M 33 0 P31x
0 2 M 13 0 2 M 23 0 2 M 33 P31y
P11x P11y P21x P21y P31x P31y 0
p
ux u y
Kvadratické aproximace rychlostí a lineární aproximace tlaku vede na matici soustavy s rozměrem 15x15, která svou strukturou odpovídá matici použité u elementu UVP.
FEM1.DOC last update 15.11.2002
Page 81 of 116
4.1.9. Teplotní pole ve známém rychlostním poli kapaliny s vnitřním ohmickým ohřevem (operace THER)
(u,v) T
r x
Fourierova Kirchhoffova rovnice v cylindrickém souřadném systému má tvar ρc p (
1 ∂ ∂T ∂T ∂T ∂ ∂T ∂T ∂U 2 ∂U 2 ) = (λ )+ (λr ) + κ [( ) +( ) ] + ux + uy r ∂r ∂t ∂x ∂y ∂x ∂x ∂r ∂x ∂r
(1)
kde poslední člen pravé strany vyjadřuje přímý ohmický ohřev a U je elektrický potenciál (napětí). Předpokládejme, že na části hranice Γ dochází k přenosu tepla, který je popisován okrajovou podmínkou třetího druhu λ
∂T = k (Te − T ) . ∂n
(2)
Aproximujme teploty bázovými funkcemi Nj a použijme metodu vážených residuí s asymetrickými testovacími funkcemi W ( x, y ) = N i +
∂N i ∂N i αh + ur (u x ), ∂x ∂r 2|u|
(3)
kde součinitel asymetrie α∈(0,1) závisí na lokální hodnotě Pecletova čísla elementu Pe =
| u | hρc p 2λ
Získáme tak soustavu rovnic ( M ij + ∆tAij )T j = M ij T j0 + ∆tbi
(4)
kde M ij = ∫∫ ρc p rN i N j dΩ
(5)
∂N j ∂N j ∂N i ∂N i ∂N ∂N j ∂N i ∂N j αh (u x )](u x ) + λ( i ) dΩ + Aij = ∫∫ r ρc p [ N i + + ur + ur + 2|u| ∂x ∂r ∂x ∂r ∂x ∂x ∂r ∂r Ω
(6)
Ω
+ ∫ rkN i N j dΓ Γ
bi = ∫∫ rκ [ N i + Ω
∂N i ∂N i ∂U 2 ∂U 2 αh (u x )][( ) +( ) ]dΩ + ∫ rkTe N i dΓ + ur 2|u | ∂x ∂r ∂x ∂r Γ
FEM1.DOC last update 15.11.2002
Page 82 of 116
(7)
Je zřejmé, že formulace v kartézském souřadném systému je naprosto identická, v integrálech se jenom vynechá násobení r. Programová realizace. V tomto případě umožňuje FEMINA používat trojúhelníkové elementy se třemi nebo šesti uzlovými body (T3,T6) nebo i zakřivené čtyřúhelníkové elementy se čtyřmi nebo osmi uzly (Q4,Q8). Bázové funkce v trojúhelníkových elementech (lineární nebo kvadratické) počítá procedura FDFT a ve čtyřúhelnících (isoparametrické bilineární nebo kvadratické) procedura FDFQ. Integrace se provádí Gaussovou metodou, přičemž je možné zadat různý počet integračních bodů: 1,3,4,7 pro elementy T3,T6 a 1x1, 2x2, 3x3 pro elementy Q4,Q8. Implementace výpočtu teplotního pole se od předchozích případů odlišuje m.j. i tím, že počítá hraniční integrály na té části hranice, kde je předepsaná okrajová podmínka třetího druhu, tj. přenos tepla přes termický odpor vrstvičky kapaliny. Přičtení těchto integrálů k matici (75) a pravé straně (76) soustavy rovnic lze řešit dvěma způsoby: a) Definovat hraniční elementy (se dvěma nebo třemi uzly) a počítat lokální matice těchto samostatných prvků s rozměrem 2 x 2 nebo 3 x 3. b) Počítat příspěvky křivkových integrálů přímo při zpracování každého trojúhelníkového nebo čtyřúhelníkového elementu. V tomto případě (který je také použit v operaci THERMAL) je uvšem nutné umět stanovit, které strany zpracovávaného elementu jsou částí hranice s okrajovou podmínkou třetího druhu. Tento problém se řeší na základě informací o parametrech uzlových bodů elementu. Je-li totiž status uzlového parametru teploty (IPU) v rozmezí 11 až 20 znamená to dle konvencí, které jsou zavedeny v programu FEMINA, že v tomto uzlu je předepsána slabá okrajová podmínka.4 Nejtěžší problém spočívá v identifikaci strany elementu, která je částí hranice, na základě informace o tom, které uzly elementu na této hranici leží (a je jim přiřazena hodnota α). Je to snadné u elementů, které mají uzly uprostřed stran (T6,Q8), protože typ tohoto prostředního uzlu určuje typ strany. Např. pro trojúhelníkový element T6 (proměnná NBCR je zjišťovaný počet stran na hranici, a sloupce matice IBCR tvoří uzly těchto stran): C Trojuhelnik se 6 uzly. 1 nebo 2 strany (3 nebo 5 uzlu na hranici) C NBND je počet uzlů, ležících na hranici. NBCR=NBND/2 DO IB=1,NBCR C Stredni uzel identifikuje stranu IBCR(3,IB)=IBND(NBCR+1+IB) IBCR(1,IB)=IBCR(3,IB)-3 IBCR(2,IB)=IBCR(3,IB)-2 IF(IBCR(2,IB).GT.3)IBCR(2,IB)=1 ENDDO
Nejkomplikovanější je situace u obyčejného trojúhelníkového elementu T3 tehdy, když dvě z jeho tří stran jsou součástí hranice (element se nachází v rohu vyšetřované oblasti). V tomto případě totiž leží všechny uzly elementu na hranici a určit ten z nich, který je společným bodem dvou hraničních stran, vyžaduje provést inspekci matice konektivity (tento “rohový” uzel se nesmí vyskytnout v žádném jiném elementu). Po určení strany elementu, která je částí hranice Γ se integrály počítají Gaussovou integrací bázových funkcí počítaných procedurou FDCR.
4
Záporné hodnoty IPU označují silné okrajové podmínky (přímo zadané teploty), hodnoty 0 a vyšší označují volné parametry. Indexy 11 až 20 signalizují slabé okrajové podmínky. FEM1.DOC last update 15.11.2002
Page 83 of 116
4.1.10. Rozložení elektrického potenciálu (operace ELEC)
U
Výpočet rozložení elektrického potenciálu (stejně jako např. elektromagnetického pole) není problém transportní, ale s transportními problémy souvisí. Jeho stanovení je totiž nutné pro zjištění intenzity ohřevu (přímý ohmický ohřev, mikrovlnný ohřev), která se objevuje jako zdrojový člen v trasportních rovnicích přenosu tepla. + Z matematického hlediska jde o řešení Laplaceovy rovnice, což je vlastně speciální případ předchozí FK rovnice, ale bez setrvačných a zdrojových členů 0=
1 ∂ ∂ ∂U ∂U (κ )+ (κr ) r ∂r ∂x ∂x ∂r
(1)
kde U je elektrický potenciál a κ [S/m] je měrná elektrická vodivost látky, kterou protéká elektrický proud. Na hranici vyšetřované oblasti je buď předepsána hodnota napětí (silná okrajová podmínka) nebo isolace (nulový gradient potenciálu ve směru normály) a eventuálně elektrická vodivost ekvivalentní vrstvy rozhraní ke [S/m2], reprezentující nedokonalou izolaci κ
∂U = k e (U e − U ) ∂n
(2)
kde Ue je napětí (el.potenciál) vně vyšetřované oblasti. Diferenciální rovnici (1) s okrajovou podmínkou třetího druhu (2) lze řešit Galerkinovou metodou, tj. použitím identických testovacích a bázových funkcí Ni(x,y). Na bázové funkce nejsou kladeny vysoké požadavky, takže lze použít prakticky libovolné varianty elementů (trojúhelníky/ čtyřúhelníky s lineárními / kvadratickými polynomy). Výsledkem aplikace Galerkinovy metody je soustava algebraických rovnic pro elektrický potenciál AijU j = bi
(3)
∂N ∂N j ∂N i ∂N j Aij = ∫∫ r κ ( i ) dΩ + ∫ rk e N i N j dΓ + ∂x ∂x ∂r ∂r Ω Γ
(4)
bi = ∫ rk eU e N i dΓ .
(5)
Γ
Pro rovinný problém se v integrálech jenom vynechá násobení r. Programová implementace je totožná s procedurou výpočtu teplotního pole (tj. elementy T3,T6,Q4,Q8 a proměnný počet integračních uzlů).
FEM1.DOC last update 15.11.2002
Page 84 of 116
2.1.1. Transport hmoty s chemickou reakcí prvního řádu (operace CONC)
CN
Řešení transportní rovnice pro rozložení koncentrace složky N má význam např. při modelování experimentů s nástřikem značkovací látky, jejichž cílem je stanovení distribuce dob zdržení (to je případ bez reakce) nebo pro modelování reaktoru v němž probíhá jednoduchá chemická reakce, např. denaturace proteinů v mléce. Cylindrický souřadný systém Rovnici popisující koncentrační pole složky N má v cylindrickém souřadném systému tvar ∂c N ∂c ∂c ∂c ∂c ∂ 1 ∂ + u x N + u y N = ( DN N ) + ( D N r N ) − Ae − E / RT c N r ∂r ∂t ∂x ∂y ∂x ∂x ∂r
(1)
kde poslední člen pravé strany vyjadřuje spotřebu složky N chemickou reakcí prvního řádu. Pokud neuvažujeme difuzi složky stěnou zařízení jsou okrajové podmínky buď prvního nebo druhého druhu. Aproximujme koncentrace bázovými funkcemi Nj a použijme metodu vážených residuí s asymetrickými testovacími funkcemi W ( x, y ) = N i +
∂N i ∂N i αh + ur (u x ) ∂x ∂r 2|u|
(2)
s optimální hodnotou koeficientu asymetrie α, který závisí na Pecletově čísle přenosu hmoty | u | hρ 1 Pe = . α opt = coth Pe − , Pe 2DN
(3)
Diferenciální rovnici (1) tak převedeme na soustavu algebraických rovnic ( M ij + ∆tAij )c j = M ij c 0j
(4)
kde M ij = ∫∫ rN i N j dΩ
(5)
∂N j ∂N j ∂N i ∂N i αh (u x )](u x + ur + ur + Ae − E / RT N j ) + [ N i + 2|u| ∂x ∂r ∂x ∂r dΩ Aij = ∫∫ r N N ∂ ∂ ∂N ∂N i Ω j j ) + + D N ( i ∂x ∂x ∂r ∂r
(6)
Ω
Formulace v kartézském souřadném systému je stejná, v integrálech se jenom vynechá násobení r.
FEM1.DOC last update 15.11.2002
Page 85 of 116
4.1.11. Potrubní sítě – rozložení tlaků (operace PIPE) Předpokládejme, že je zadaná kompletní geometrie potrubního systému (délky i průměry potrubních úseků), a termofyzikální parametry kapaliny, která potrubím protéká. Neuvažujeme-li stabilizační úsek proudění, neizotermnost toku, či proměnný průřez potrubí, je gradient tlaku v každém úseku (elementu) konstantní a axiální profil tlaku lineární. Stačí tedy uvažovat jen dvouuzlové elementy s lineárními bázovými funkcemi pro popis tlaků, přičemž tlak je jediným uzlovým parametrem. Potrubní segment
pj
Qij pi
Při řešení tentokrát nepoužijeme ani variační princip, ani diferenciální rovnice, ale omezíme se na jednoduchou průtokovou bilanci. Tlakové ztrátě v elementu spojujícím uzly i a j odpovídá objemový průtok Qij = ϕij (| pi − p j |).( pi − p j )
(1)
Součet orientovaných průtoků v uzlu, kde není ani zdroj (čerpadlo) ani propad (výtok), musí být nulový, což je vlastně rovnice kontinuity
∑ϕ
ij
j
(| pi − p j |).( pi − p j ) = 0
(2) i
j
Celou potrubní síť pak popisuje soustava rovnic ∑ ϕ1 j j = 2,3,... − ϕ 21 ....
.... p1 Q1 ... . p 2 = Q2 ... ...
− ϕ 12
∑ϕ
j =1, 3,...
2j
(3)
kde Q1, Q2, jsou nenulové jen v uzlech kde je zdroj, např. pumpa dodávající do sítě kapalinu. Tato globální matice vznikne sestavením lokálních matice elementů ϕij
[ K ] = − ϕ ij
ij
− ϕij ϕij
(4)
kde průtokové součinitele závisí na reologických charakteristikách kapaliny, režimu toku a na geometrii potrubního úseku πR 4 ϕij = , pro laminární tok Newtonské kapaliny Re<2300 (5) 8µLij nebo 0.558 ϕij = Lij
4 /7
(2 R )19/7 5 3/ 7 1/ 7 , pro 2300
FEM1.DOC last update 15.11.2002
(6)
Page 86 of 116
V případě, že kapalina je Newtonská a režim toku laminární, jsou průtokové koeficienty ϕ konstantní a celý problém je lineární. Pokud se vyskytnou potrubní úseky kde to neplatí, je třeba iterovat a vyhodnocovat koeficienty ϕij z rovnice (6) pro hodnoty tlaku z předchozí iterace. Rozhodnutí, zda tok v té které větvi bude laminární či turbulentní je založeno na výpočtu Re, přičemž se vychází z hypotézy laminárního režimu toku R 3 | ∆p| Re = . (7) 4 µ 2 Lij Hydrostatický tlak Vliv gravitace se projeví změnou distribuce tlaků i průtoků. Je třeba ho respektovat např. při studiu vlivu vztlakových sil na přirozenou cirkulaci, vycházeje z vypočtených teplot kapaliny a jí odpovídající hustotě. Průtokovou charakteristiku přímého segmentu (1) je třeba modifikovat Qij = ϕ ij [ pi − p j + ρLij ( g y sin α ij + g x cos α ij )]
(8)
pj
y
a bilance průtoků v uzlu i
∑Q
ij
j
Qij
= ∑ ϕ ij ( pi − p j ) + ∑ ρLij ϕ ij ( g y sin α ij + g x cos α ij ) = 0 . j
(9)
pi
αij
x
j
Soustava rovnic pro tlaky v uzlových bodech ∑ ϕ1 j j = 2,3,... − ϕ 21 ...
− ϕ 12
∑ϕ
j =1, 3,...
2j
... Q1 − ∑ ρL1iϕ 1i ( g y sin α 1i + g x cos α 1i ) p1 i ... ⋅ p 2 = Q2 − ∑ ρL2iϕ 2i ( g y sin α 2i + g x cos α 2i ) i ... ... ...
(10)
se získá sestavením lokálních matic elementů (uvažujeme element s uzly i a j) ϕ ij − ϕ ij
− ϕ ij pi − ρLij ϕ ij ( g y sin α ij + g x cos α ij ) ⋅ = ϕ ij p j ρLij ϕ ij ( g y sin α ij + g x cos α ij )
(11)
Při výpočtu koeficientů ϕij je třeba mít na zřeteli to, že jsou funkcemi rozdílu tlaků pi-pj , které odpovídají pouze třecím ztrátám, respektive hydraulické charakteristice – je tedy třeba odečíst hydrostatický tlak. Místní odpory Součástí potrubní sítě jsou i další komponenty: škrticí ventily, čerpadla ale třeba i míchané nádoby. Všechny tyto prvky lze chápat jako dvouzlové prvky (2 tlaky a průtok), jenomže s jinou průtokovou charakteristikou. V programu FEMINA je to zařízeno tak, že nestandardní průtokovou charakteristiku elementu ϕij(∆p,Re,De,H) je možné zadávat jako funkci, jejíž index je ve skupině parametrů EGROUP (nulový index znamená trubku). Funkce se definuje úplně stejně jako třeba teplotní závislost termofyzikálních parametrů (tj. buď jako výraz nebo jako tabulka), přičemž jako argumenty lze použít proměnné DP (tlaková diference s již odečteným hydrostatickým tlakem), RE (Reynoldsovo číslo), DE (charakteristický průměr), HE (délka elementu), TEMP (střední teplota elementu).
FEM1.DOC last update 15.11.2002
Page 87 of 116
4.1.12. Potrubní sítě – teplotní pole, výměníky tepla (operace HEXC) Uvažujme tutéž potrubní síť jako v předchozím případě, s již vypočtenými tlaky a především průtoky v jednotlivých úsecích. Je tedy známa střední rychlost proudění, a dodáme-li další termofyzikální parametry a údaje vnější teplotě, tepelné izolaci apod. je možné řešit i problém stanovení teplotních profilů v jednotlivých elementech. Na rozdíl od předchozího případu je ale pro přesnost výsledku žádoucí rozdělit potrubní úsek na větší počet krátkých elementů i v případě, že se nemění průměr, drsnost či další charakteristiky potrubí. To je dáno tím, že axiální teplotní profil není na rozdíl od profilu tlaku lineární, nýbrž popsaný diferenciální rovnicí transportního typu. Potrubní segment Entalpická bilance vyplývá z Fourierovy Kirchhofovy rovnice integrované přes průřez trubky ∂T ∂T ∂ 2T +u = a e 2 + H (Te − T ) + Q , ∂t ∂x ∂x
H=
kO , ρc p A
Q=
κ ∆U 2 ( ) , ρc p h
(1)
kde T(t,x) je střední (kalorimetrická) teplota v průřezu trubky, ae je axiální teplotní disperse kapaliny, k je součinitel prostupu tepla do okolí, O obvod, A plocha průtočného průřezu trubky, Te vnější teplota a Q vyjadřuje objemový zdroj tepla (např. přímý ohmický ohřev, ∆U [V]-rozdíl potenciálu odpovídající délce elementu h, κ je měrná elektrická vodivost kapaliny [S/m]). Zvláštní pozornost je třeba věnovat součiniteli axiální disperze ae , který není totožný se součinitelem teplotní vodivosti. V případě, že tok v trubce je laminární lze jeho hodnotu stanovit na základě Taylorovy Arisovy teorie (viz např. Thýn 2000): ae = a +
u 2D2 192a
[
m2 ] s
(1a)
resp. v turbulentním režimu jako funkci Reynoldsova čísla 3 ⋅ 10 7 1.35 a e = u D( 2.1 + 0.125 ) . Re Re
(1b)
Protože je ve většině případů konvektivní přenos tepla mnohem významější než axiální vedení tepla (Pe>>1) je třeba použít v metodě vážených residuí asymetrické testovací funkce T = N jT j
Wi = N i +
αhu dN i 2 | u | dx
(2)
s optimální hodnotou koeficientu asymetrie α 1 | u | hρ Pe = α opt = coth Pe − , . Pe 2a e
(3)
Násobením rovnice (1) testovací funkcí W, integrací a použitím integrace per partes získáme soustavu obyčejných diferenciálních rovnic pro časové průběhy uzlových teplot M ij
dT j dt
+ Aij T j = bi
(4)
kde matice tepelných kapacit M , přenosu A a vektor zdrojů tepla mají tvar FEM1.DOC last update 15.11.2002
Page 88 of 116
M ij = ∫ ( N i + Z Ω
Aij = ∫ [( N i + Z Ω
dN i ) N j dΩ dx
Z=
αhu 2|u |
(5)
dN i dN j dN i dN j dN i u + ae ) + (Ni + Z ) HN j ]dΩ dx dx dx dx dx
bi = ∫ ( N i + Z Ω
(6)
dN i )( HTe + Q)dΩ dx
(7)
Výměník tepla Budeme uvažovat jednoduchý výměník se dvěma paralelními proudy (je lhostejné zda v protiproudém či souproudém uspořádání): T(2), u2 T(1), u1 Z jednoduchých segmentů lze skládat i komplikovanější výměníky tepla, např. trubkové: Trubkový svazek Levá hlava
Pravá hlava
Plášť výměníku ze 4 segmentů
Základní element výměníku tvoří dva stejně dlouhé potrubní segmenty T(2) u2
3
kS 1
T(1) u1
4 2
x
Rovnice popisující teplotní profily v obou proudech jsou téměř totožné s rovnicí pro samostatný segment, liší se jen dodatečným členem, který popisuje tepelný tok mezi proudy
kde
∂T (1) ∂T (1) ∂ 2T (1) + u1 = a1 + H 1 (Te − T (1) ) + Q1 + S1 (T ( 2 ) − T (1) ) 2 ∂t ∂x ∂x ( 2) ( 2) ∂T ∂T ∂ 2T ( 2 ) + u2 = a2 + H 2 (Te − T ( 2 ) ) + Q2 + S 2 (T (1) − T ( 2) ) ∂t ∂x ∂x 2 kO k 2 O2 kS kS S1 = H1 = 1 1 , S2 = H2 = , , . ρ1c p1 A1 ρ1c p1 A1 ρ 2 c p 2 A2 ρ 2 c p 2 A2
FEM1.DOC last update 15.11.2002
Page 89 of 116
(8) (9) (10)
I konečněprvková aproximace je téměř totožná M ij(1)
dT j(1)
M ij( 2)
dt dT j( 2)
+ Aij(1)T j(1) + Bij(1) (T j(1) − T j( 2 ) ) = bi(1)
(11)
+ Aij( 2)T j( 2 ) + Bij( 2) (T j( 2 ) − T j(1) ) = bi( 2 )
(12)
dt
kde dN i ) N j dΩ dx Ω dN i dN j dN i dN j dN i Aij( k ) = ∫ [( N i + Z ( k ) u k + ak ) + ( N i + Z (k ) ) H k N j ]dΩ dx dx dx dx dx Ω dN i Bij( k ) = ∫ ( N i + Z ( k ) ) N j S k dΩ dx Ω dN i bi( k ) = ∫ ( N i + Z ( k ) )( H k Te + Qk )dΩ dx Ω M ij( k ) = ∫ ( N i + Z ( k )
(13) (14) (15) (16)
Fouling Tvorba úsad na teplosměnné ploše výměníku se projeví především zvýšením termického odporu, resp. snížením parametru teplosměnné plochy kS. Růst vrstvičky úsad je už z podstaty věci děj nestacionární a ovlivňovaný složením kapaliny, její teplotou i teplotou stěny (pozor, není to totéž), velikostí smykových sil u stěny a i koncentrací látky, z níž se vrstva úsad konstituuje. Velmi jednoduchý model pro tvorbu úsad z ropy, kdy zřejmě vůbec není nutné uvažovat koncentraci úsadotvorných látek, navrhl Ebert a Panchal (1995) dr E α = exp(− ) − γτ , 0.88 dt Re RT
(17)
kde α=8.39 [m2K/J], E=68 [kJ/mol], γ=4.03⋅10-11 [Pa.m2.K/J] jsou konstanty Ebert Panchalova modelu (platí ale jen pro ropu). τ je smykové napětí na stěně, počítané dle vztahu τ=
1 ρfu 2 , 2
(18)
pro f = 0.0792 / Re 0.25 (turbulence Blasius), resp f = 16 / Re (laminár). Termický odpor r [m2.K/W] v rovnici (15) je třeba započíst k součiniteli prostupu k k k* = 1 + kr
(19)
Diskretizace času Obyčejné diferenciální rovnice (3), resp. (9,10) jsou řešeny implicitní Eulerovou metodou [ M ij(1) + ∆t ( Aij(1) + Bij(1) )]T j(1) − ∆tBij(1)T j( 2 ) = ∆tbi(1) + M ij(1)T j(1) 0 [M
( 2) ij
+ ∆t ( A
( 2) ij
+ B )]T ( 2) ij
FEM1.DOC last update 15.11.2002
( 2) j
− ∆tB T ( 2) ij
(1) j
= ∆tb
( 2) i
+M
( 2) ij
T
(20)
( 2)0 j
(21) Page 90 of 116
Ebertova - Panchalova rovnice E α r = r 0 + ∆t[ 0.88 exp(− ) − γτ ] . RT Re
(22)
Implementace Rozlišují se dva typu elementů: dvouzlový, popisující jeden potrubní segment, M 11 + ∆tA11 M + ∆tA 21 21
M 12 + ∆tA12 T1 M 11T10 + M 12T20 + ∆tb1 = M 22 + ∆tA22 T2 M 21T10 + M 22T20 + ∆tb2
(23)
a čtyřuzlový, popisující výměník. Jenomže dvouzlové segmenty jsou současně i částí elementů výměníků a proto lokalní matice výměníku 4 x 4 zahrnuje jen členy B, příspěvky vyjadřující přenos tepla mezi proudy (jinak by se totiž potrubní úsek jako část výměníku sestavoval dvakrát). ∆tB11(1) (1) ∆tB21 ∆tB11( 2 ) ( 2) ∆tB21
∆tB12(1) (1) ∆tB22 ∆tB12( 2) ( 2) ∆tB22
− ∆tB11(1) (1) − ∆tB21 − ∆tB11( 2 ) − ∆tB12( 2 )
FEM1.DOC last update 15.11.2002
− ∆tB12(1) T1(1) (1) (1) − ∆tB22 T2 ( 2) ( 2) − ∆tB12 T1 ( 2) ( 2) − ∆tB22 T2
(24)
Page 91 of 116
4.1.13. Potrubní sítě – transport hmoty Analogie předchozího případu přenosu tepla na transport hmoty (analogií výměníků tepla jsou separační aparáty, např. membránové filtry). Základním elementem je opět dvouuzlový element, který může charakterizovat potrubní segment, nebo promíchávanou nádobu. Cílem řešení je stanovit změny koncentrace cN sledované komponenty v čase, se zvláštním zřetelem na možnost vyšetřování koncentrace značkovací látky při vyšetřování charakteristik systému (např. rozložení dob prodlení) metodou vzruchu a odezvy. Potrubní segment (axiální disperze) Qij (resp. u) j
i
Uvažujeme jednorozměrný konvektivní i difuzní transport reagující složky, popisovaný rovnicí axiální disperze ∂c N ∂c N ∂ 2cN +u = D Ne − AN c N e − E N / RT . 2 ∂t ∂x ∂x
(1)
DNe je součinitel axiální disperze, který není totožný se difuzním součinitelem DN, ale souvisí s ním. V případě, že tok v trubce je laminární lze jeho hodnotu stanovit na základě Taylorovy Arisovy teorie (Thýn 2000) z průměru potrubí D, střední rychlosti a difuzního součinitele DN: u 2D2 m2 D Ne = D N + (1a) [ ] s 192 D N zatímco v turbulentním režimu je disperze na difuzním součiniteli nezávislá 3 ⋅ 10 7 1.35 D Ne = u D( 2.1 + 0.125 ) . (1b) Re Re Rovnici (1) budeme řešit metodou vážených residuí s asymetrickými testovacími funkcemi Wi = N i +
c N = N j c Nj
αhu dN i . 2 | u | dx
(2)
Násobením (1) testovací funkcí W, integrací a použitím integrace per partes získáme soustavu obyčejných diferenciálních rovnic pro časové průběhy koncentrací v uzlech M ij
dc Nj dt
+ Aij c Nj = 0
(3)
kde matice hmot M a matice přenosu A mají tvar M ij = ∫ ( N i + Z Ω
Aij = ∫ [( N i + Z Ω
dN i ) N j dΩ dx
Z=
αhu 2|u |
(4)
dN i dN j dN i dN j dN i u + D Ne ) + (Ni + Z ) AN e − E N / RT N j ]dΩ dx dx dx dx dx
FEM1.DOC last update 15.11.2002
Page 92 of 116
(5)
Ideální mísič Pro zjednodušený popis průtočných systémů se kromě základního prvku typu trubka (pístový tok, resp. model axiální disperze) často používá ideálně promíchávaná nádoba/reaktor (CSTR Continuous Stirred Tank Reactor). Jeho popis je velmi prostý – obyčejná diferenciální rovnice V
dc N 2 = Q(c N 1 − c N 2 ) − VAN c N 2 e − E N / RT dt
1
2
(6)
kde V je objem aparátu a Q je objemový průtok. Časová diskretizace Obyčejné diferenciální rovnice (3), resp.(6) jsou řešeny implicitní Eulerovou metodou, tj. 0 ( M ij + ∆tAij )c Nj = M ij c Nj
c N 2 [1 + ∆t (
(7)
Q Q + AN e − E N / RT )] + c N 1 ∆t = c N0 2 V V
(8)
Popis ideální mísiče je trochu problém – chybějící difuzní člen vylučuje možnost použít stejný algoritmus jako u přímé trubky. Rovnice (8) je implementována na úrovni jednoho elementu takto
Pro Q>0 (směr toku z uzlu 1 do uzlu 2) 0 0 cN1 0 Q Q = − E N / RT ) c N 2 c N0 2 ∆t V 1 + ∆t ( V + AN e
(9)
Pro Q<0 (směr toku z uzlu 2 do uzlu 1) Q 0 Q − E N / RT c ) N 1 c N 1 ∆t V 1 + ∆t ( V + AN e = c . 0 0 0 N 2
FEM1.DOC last update 15.11.2002
(10)
Page 93 of 116
4.2. Strukturní analýza pružných těles 4.2.1. Systém táhel (velké deformace metodou Monte Carlo, operace TRUSS) Tento příklad je spíše jen hříčkou. Řeší případ soustavy lineárně elastických táhel zatížených uzlovými silami, ale ne tak, že by se formulovaly rovnice popisující posunutí uzlových bodů, nýbrž se jen stanoví celková potenciální energie náhodně deformované soustavy táhel a z těchto náhodných pokusů se vybírá konfigurace, která vedla k nejmenší hodnotě celkové potenciální energie. Princip minima celkové energie platí i pro případ velkých posunutí, a pokud se tedy deformační energie nepočítá na základě teorie malých deformací, ale přesně, není nutné používat komplikované numerické metody pro řešení nelineárních problémů. Současně se však ukazuje, že tento triviální způsob je schůdný jen pro velmi malý počet táhel, protože konvergence je extrémně pomalá (pro Monte Carlo je typické √n). Celkovou energii vyjádříme součtem energií elastické deformace elementů (e) a potenciální energie vnějších sil (n). Wtotal =
1 E e ε e2 dl − ∑ ( Fxn u xn + Fyn u yn ) = ∑ ∫ 2 e e n
[ ( xe 2 + u xe 2 − x e1 − u xe1 ) 2 + ( y e 2 + u ye 2 − y e1 − u ye1 ) 2 − ( xe 2 − xe1 ) 2 + ( y e 2 − y e1 ) 2 ] 2 1 = ∑ Ee + 2 e ( xe 2 − x e1 ) 2 + ( y e 2 − y e1 ) 2 − ∑ ( Fxn u xn + Fyn u yn )
2
n
r F1
E-modul pružnosti A-plocha průřezu
r u1
1
uy1 ux1
4.2.2. Nosníky, potrubní sítě (operace BEAM) Uvažujme dvourozměrnou soustavu nosníků, jejímž speciálním případem je např. potrubní síť. Matice tuhosti nosníkového prvku se dvěma uzlovými body jimž přísluší trojice DOF: ux uy ϕz má tvar AE L 0 0 K = AE − L 0 0
0 12 EJ L3 6 EJ − 2 L
−
0 6 EJ L2 4 EJ L
−
0
0
12 EJ L3 6 EJ L2
6 EJ L2 2 EJ L
FEM1.DOC last update 15.11.2002
−
AE L 0 0
AE L 0 0
0 −
12 EJ L3 6 EJ L2 0
12 EJ L3 6 EJ − 2 L
6 EJ L2 2 EJ L 0 6 EJ − 2 L 4 EJ L 0
uy
(1) ϕz
ux
Page 94 of 116
kde A je plocha průřezu nosníku L délka nosníku a J moment setrvačnosti vzhledem k ose z. Pro kruhovou trubku o vnějším průměru D2 , vnitřním průměru D1 (s tloušťkou stěny h=(D2-D1)/2) je moment setrvačnosti dán vztahem π J= ( D24 − D14 ) , (2) 64 pro obdélníkový průřez b x h platí bh 3 J= . (3) 12
4.2.3. Rotačně symetrické skořepiny (operace SHELLAX) Řešení tohoto technicky důležitého případu je založeno na dvouzlovém Vykutilově prvku se 6 stupni volnosti (posuvy a natočení v každém uzlu), viz. Schneider 1990. Nα 2 r=y ur1 rz1=β 1
Mα α
ux1 x
Výsledkem výpočtu jsou posuvy ux, ur a natočení β v uzlových bodech. Z těchto hodnot jsou během postprocesingu vypočteny silové charakteristiky elementů, jednotkové síly ve směru meridiánu (poledníků) Nα [N/m] a ve směru rovnoběžek Nβ [N/m] (kladné hodnoty odpovídají tahu) a jednotkové momenty Mα [N] a Mβ [N], jejichž kladné hodnoty odpovídají rozevírání elementu skořepiny (tahovým napětím na vnitřním povrchu skořepiny, viz obr.). Dále je stanovena i velikost jednotkové příčné síly Q [N/m] vyvolávající smyková napětí. u − u r1 u + u r1 Eh Eh u x 2 − u x1 Nα = (ε α + µε β ) = [ cos α + r 2 sin α + µ r 2 ] (1) 2 2 L L 2R 1− µ 1− µ u − u x1 u − u r1 u + u r1 Eh Eh Nα = (ε β + µε α ) = [µ ( x 2 cos α + r 2 sin α ) + r 2 ] (2) 2 2 L L 2R 1− µ 1− µ β − β1 β + β1 Eh 3 Eh 3 Mα = (κ α + µκ β ) = [ 2 + µ sin α 2 ] 2 2 L 2R 12(1 − µ ) 12(1 − µ ) β − β1 β + β1 Eh 3 Eh 3 Mβ = (κ β + µκ α ) = [µ 2 + sin α 2 ] 2 2 L 2R 12(1 − µ ) 12(1 − µ ) u − u x1 u − u r1 β + β1 5 Eh Q= [ x2 sin α + r 2 cos α + 2 ] L L 12(1 + µ ) 2
FEM1.DOC last update 15.11.2002
Page 95 of 116
(3) (4) (5)
4.2.4. Rovinná napjatost/deformace, rotačně symetrická tělesa (operace PLANE2) Rovinná napjatost V tomto případě jsou nenulové jen složky napětí v rovině x-y , dvě normálová a jedno smykové napětí. V rovině kolmé k x-y je povolena deformace, ale protože odpovídající normálové napětí szz je nulové, je nulový i příspěvek příčné deformace k deformační energii tělesa. Odpovídající matice tuhosti elementu je dána integrálem [ B ]T [ K11 ] [ K12 ] ... 1 T (1) [ K ] = ∫∫ [ B]T .[ D].[ B]dS = ∫∫ [ B2 ] .[ D]. [ B1 ] [ B2 ] ... dS = [ K21 ] [ K22 ] ... ... kde D je matice elastických konstant a submatice Kij o rozměru 2 x 2 korespondují kombinaci uzlů i a j ∂N j 0 ∂N i ∂N i ∂x µ 1 0 0 ∂x ∂N j T E ∂y µ 1 Kij = ∫∫ [Bi ] .[D]. B j dS = 0 . 0 2 dS = ∂N i ∂N i . ∂ y 1 − µ ∫∫ 0 1− µ ∂N j ∂N j ∂y ∂x 0 0 2 ∂y ∂x ∂N i ∂N j 1 − µ ∂N i ∂N j ∂N ∂N j 1 − µ ∂N i ∂N j + + µ i E ∂x ∂x ∂x ∂y 2 ∂y ∂y 2 ∂y ∂x = dS 2 ∫∫ ∂N i ∂N j 1 − µ ∂N i ∂N j 1− µ µ ∂N i ∂N j + 1 − µ ∂N i ∂N j + ∂y ∂x ∂y ∂y 2 ∂x ∂y 2 ∂x ∂x (2)
[
[ ]
]
[ ]
FEM1.DOC last update 15.11.2002
Page 96 of 116
4.3. RTD zpracování časových závislostí a modely obyčejných diferenciálních rovnic Pro porovnání nestacionárního řešení získaného metodou konečných prvků s experimentálními daty, dále pro modelování diskrétních systémů (založené na kombinaci elementárních aparátů jako je ideální mísíč a ideální trubka), a konečně pro regresní analýzu vypočtených nebo změřených dat se používá matice bodů pozorování, v níž jsou uloženy časové závislosti: První sloupec matice je interpretován jako čas, jemuž odpovídají data ve sloupcích následujících (2,3,…,10). Matice bodů pozorování tedy popisuje až 9 různých funkcí času reprezentovaných tabulkou funkčních hodnot se společnou časovou základnou (matice pozorování má 1024 řádků – bodů pozorování). Každému sloupci matice bodů pozorování je přiřazena dvojice parametrů: TYP a INDEX, které určují typ veličiny, kterou funkce (sloupec) reprezentuje TYP=0 Nedefinovaný (prázdný) sloupec TYP=1 Hodnoty času TYP=2 Časový průběh vybraného uzlového parametru (INDEX je index uzlu) TYP=3 Experimentální data (zpravidla importovaná příkazy READCO, READTC) TYP=4 Vzruchová funkce modelu (INDEX je index této funkce u modelů s více vstupy) TYP=5 Odezva modelu (INDEX je index funkce u modelů s více výstupy) TYP=6 Predikce regresního modelu TYP=7 Směrodatná odchylka bodu pozorování σ TYP=8 Impulsní odezva systému E(t) TYP=9 Vzájemná korelační funkce Rxy(t) Následující odstavce jsou věnovány stručnému popisu metod, používaných pro zpracování (vyhodnocování, modifikaci oi generování) časových závislostí.
FEM1.DOC last update 15.11.2002
Page 97 of 116
4.3.1. Lokální vyhlazování funkčních průběhů V operaci SMOOTH jsou naprogramovány jednoduché metody lokálního vyhlazování dat: mediánová filtrace a lineární nebo kvadratické regresní splajny byť v poněkud nestandardní podobě. Koeficienty splajnů nejsou vyhodnocovány řešením soustavy rovnic, nýbrž rekurzivně od prvního do posledního bodu vyhlazované křivky. Idea vyhlazení je jednoduchá: i+1 bod je počítán jako hodnota lineárního či kvadratického polynomu, který prochází předchozím (již vyhlazeným) bodem i a současně má nejmenší hodnotu součtu čtverců od N-původních bodů křivky před bodem i a od N-bodů za bodem i+1. Pro N=0 by tudíž byla výsledkem stejná funkce jako před vyhlazením.
Kvadratický splajn N=3
Lineární splajn
Symbolem c budeme označovat již vyhlazené, symbolem y původní hodnoty: Lineární splajn c = y i + ai (t − t i ) , a koeficient ai vyplyne z podmínky minima součtu čtverců s i2 =
i+2
∑[ y
j =i −1
− y i − ai (t j − t i )]2
j
i+2
ai =
∑ (y
j =i −1
− ci
j
t i +1 − t j t i +1 − t i
i+2
∑ (t
j =i −1
j
)(t j − t i )
− ti ) 2
Kvadratický splajn c = y i + ai (t − t i ) + bi (t − t i ) 2 kde koeficienty ai bi jsou stanoveny z podmínky minima součtu čtverců s i2 =
i+ N
∑[ y
j =i − N +1
j
− y i − ai (t j − t i ) − bi (t j − t i ) 2 ] 2
což vede na soustavu dvou lineárních rovnic i+ N i+ N i+ N (t j − t i ) 3 ∑ (t j − t i ) 2 ∑ (t j − t i )( y j − ci ) ∑ j =i − N +1 . ai = j =i − N +1 j =i − N +1 i+ N i+ N i+ N b 3 4 i 2 t t t t y c − − − ( ) ( ) ( ) ∑ (t j − t i ) ∑ j i j i ∑ j i j =i − N +1 j =i − N +1 j =i − N +1
FEM1.DOC last update 15.11.2002
Page 98 of 116
Mediánová filtrace spočívá v tom, že místo tabulkové hodnoty yi se použije medián hodnot yi-N, yi-N+1,…,yi-1, yi, yi+1,…, yi+N. 4.3.2. Import dat s kvadratickou interpolací Při čtení dat do matice bodů pozorování se řeší problém interpolace hodnot v tabulce dat (ti yi). Nepoužívá se klasická lineární interpolace, ale kvadratický regresní polynom, který prochází dvojicí bodů, ohraničujících interpolovanou hodnotu času t, a navíc má nejmenší hodnotu součtu čtverců odchylek od dvou sousedních bodů (vlevo a vpravo). Kvadratický interpolační polynom je tedy definován čtveřicí bodů, které označíme t0,…,t3 c = y1 + a (t − t1 ) + b(t − t1 ) 2 přičemž koeficienty a,b jsou stanoveny z interpolačních podmínek y 2 = y1 + a (t 2 − t1 ) + b(t 2 − t1 ) 2 a z podmínky minima součtu čtverců s2 =
∑[ y
j =0,3
j
− y1 − a (t j − t1 ) − b(t j − t1 ) 2 ] 2 .
Řešením této soustavy rovnic je t j − t1 [ y j − y1 − ( y 2 − y1 ) ][(t 2 − t1 )(t j − t1 ) − (t j − t1 ) 2 ] ∑ t t − j = 0,3 2 1 b=− ∑ [(t 2 − t1 )(t j − t1 ) − (t j − t1 ) 2 ]2 j =0,3
a=
y 2 − y1 − b(t 2 − t1 ) t 2 − t1
4.3.3. Aproximace chvostu Pro aproximaci chvostu jsou k dispozici tři možnosti, tři aproximační funkce, identifikované nelineární regresí c(t ) = y ∞ + a exp(−bt ) míchaná nádoba dvě míchané nádoby c(t ) = y ∞ + t exp(a − bt ) c(t ) = y ∞ + a / t 3 konvektivní model FEM1.DOC last update 15.11.2002
Page 99 of 116
Při identifikaci parametrů se nejprve odhadne úroveň pozadí y∞ na základě minimálních hodnot zpracovávané funkce, pak se regresní vztahy linearizují a lineární regresí vypočtou koeficienty a,b. Zpřesnění hodnoty y∞ se provádí metodou půlení intervalu. 4.3.4. Korekce na zvýšení pozadí Případ, kdy limitní hodnota naměřené odezvy ym pro nekonečně dlouhý čas je vyšší než počáteční hodnota v čase nula se dá vysvětlit tím, že detektor na výstupu registruje i signál značkovací látky, která se hromadí za výstupem z aparátu (tato hypotéza můžer být správnou v případě, že jde o měření s radioisotopy): ym(t) měřená hodnota t
y m (t ) = y (t ) + k ∫ y (u )du
(1)
0
y(t) at aoutlet Konstanta k je dána podílem záření značkovací látky v zásobníku, která je registrována detektorem (závisí na dokonalosti stínění detektoru) a nelze ji stanovit jinak, než na základě registrované hodnoty v čase nekonečno, kdy se již všechna značkovací látka nachází v zásobníku y (∞) − y m (0) k = m∞ . (2)
∫ y(u )du 0
Integrální rovnici (1) lze řešit Laplaceovou transformací t
y (t ) = y m (t ) − k ∫ y m (u )e − k ( t −u ) du
(3)
0
Protože konstanta k závisí na neznámém průběhu signálu y(t) je třeba řešení hledat iteračně, tj. výpočtem y(t) z rovnice (3) na základě hodnoty k z předchozí iterace a jejím následným zpřesněním dle rovnice (2). Výše uvedené vztahy předpokládají, že výchozí (i konečná) hodnota signálu y(t) je nulová (nulová koncentrace značkovací látky na výstupu). Protože kromě signálu ze zásobníku registruje detektor i přirozené záření pozadí (předpokládejme, že konstantní), je i výchozí hodnota ym(0) větší než nula a tuto hodnotu je třeba od výstupního signálu odečíst (což FEMINa dělá automaticky). 4.3.5. Výpočty momentů Obyčejné momenty jsou počítány numerickou integrací, která vychází z lineární interpolace tabelovaných hodnot funkcí ∞
M 0 = ∫ y (t )dt = 0
∞
M 1 = ∫ ty (t )dt = 0
1 N −1 ∑ ( yi +1 + yi )(ti +1 − t i ) 2 i =1 1 N −1 [ y i (t i2+1 + t i t i +1 − 2t i2 ) − y i +1 (t i2 + t i t i +1 − 2t i2+1 )] ∑ 6 i =1
∞
N −1
0
i =1
M 2 = ∫ t 2 y (t )dt = ∑ { y i FEM1.DOC last update 15.11.2002
t i3+1 − t i3 y i +1 − y i t i4+1 − t i4 t i (t i3+1 − t i3 ) [ ]} − − t i +1 − t i 3 4 3 Page 100 of 116
4.3.6. Rychlá Fourierova transformace, konvoluce, dekonvoluce a korelace Pro filtraci šumu, výpočet konvoluce, dekonvoluce a korelací dvou funkcí je používána rychlá Fourierova transformace N-vzorkovaných hodnot (FFT - Fast Fourier Transformation), která je přesnou analogií spojité Fourierovy transformace ∞ N -1 ~ E(f) = ∫ E(t) e2πift dt, E~ n = ∑ E k e2πikn/N , n = 0,1,...N - 1. -∞
k=0
Zpětná Fourierova transformace (zpětná FFT) se liší jen znaménkem exponentu ∞ 1 N -1 ~ E(t) = ∫ E(f) e- 2πift df , E k = ∑ E~ n e-2πikn/N , k = 0,1,..., N - 1. N n=0 -∞ Operace konvoluce funcí x a y ( C xy (t ) = ∫ x(t − τ ) y (τ )dτ ) se redukuje na násobení Fourierových obrazů, tj. Fourierových koeficientů ∞ ∞ ∞ ∞ x(t - τ )y( τ )dτ e2πift dt = x(t - τ ) e2πif(t -τ ) y( τ ) e2πifτ dτ dt = ~ x (f)~ y (f). ∫-∞ -∫∞ ∫-∞ -∫∞ a korelace dvou funkcí x a y ( R xy (t ) = ∫ x(τ ) y (τ + t )dτ ) znamená jen násobení komplexně sdruženého obrazu x a obrazu y: ∞ ∞ ∞ ∞ ~ (f) = x( τ )y( τ + t)dτ 2πift dt = x( τ ) -2πifτ y( τ + t) 2πif( τ +t) dτ dt = e e R xy ∫∫ ∫∫ e -∞ -∞ -∞ -∞ ∞ ∞ ~ * = ∫ x( τ ) e-2πifτ dτ ∫ y( τ ) e2πifτ dτ = ~ x (-f) ~ y (f) = ~ x (f) y (f), -∞ -∞ Poznámka: Předchozí vztahy psané pro spojitou FT platí i pro diskrétní data. Poněkud podrobněji popíšeme způsob, kterým je realizována dekonvoluce, tj. stanovení impulsní odezvy systému E(t) řešením Volterrovy integrální rovnice prvního druhu ∞
y (t ) =
∫ E (t − τ ) x(τ )dτ .
−∞
Koeficienty FFT hledané impulsní odezvy se počítají z koeficientů FFT vstupu x(t) a odezvy y(t) regularizací 4 ~ y~ x * + W (i − 1) 4 ~ ri ~ 2 2π W w ≈ Ei = ~i ~i * , xi xi + W (i − 1) 4 N∆t kde W je váhový koeficient regularicace (uživatelem zadávaná hodnota optimální regularizace w je nezávislá na délce periody N∆t a bývá řádově 10-3). Z předchozího vztahu je patrné, že pro W=0 jde o klasickou metodu dekonvoluce, počítající FT impulsní odezvy prostě jako podíl FT odezvy y a vzruchu x. W>0 má smysl zadávat tehdy, když máme silné důvody věřit tomu, že určitý analytický ri je Fourierům koeficient tohoto analytického modelu. model je dobrou aproximací hledaného řešení: ~ V programu FEMINA je jako regularizační model použita impulsní odezva serie M-ideálních mísičů 1 ~ ri = , 2π (i − 1)t M (1 − ) MN∆t kde t je střední doba impulsní odezvy a N∆t celková doba – tj. perioda Fourierovy transformace.
FEM1.DOC last update 15.11.2002
Page 101 of 116
4.3.7. Řešení soustavy obyčejných diferenciálních rovnic Pro řešení soustav obyčejných diferenciálních rovnic prvního řádu dc1 = f1 (t , c1 , c 2 ,..., c M ) dt r dc2 = f 2 (t , c1 , c2 ,..., c M ) dc r r = f (t , c ) dt dt .... dc M = f M (t , c1 , c2 ,..., c M ) dt je použita klasická Eulerova metoda r r r r c (t + ∆t ) = c (t ) + ∆tf (t , c (t )) popřípadě metoda Runge Kutta čtvrtého řádu r r r r rc (t + ∆t ) = cr (t ) + k1 + k 2 + k 3 + k 4 6 3 3 6 kde r r r k1 = ∆tf (t , c (t )) r r r k1 ∆t r k 2 = ∆tf (t + , c (t ) + ) 2 2 r r r k ∆t r k 3 = ∆tf (t + , c (t ) + 2 ) 2 r r r2 r k 4 = ∆tf (t + ∆t , c (t ) + k 3 ) . Při řešení metodou Runge Kutta lze v programu FEMINA zvolit konstantní časový integrační krok ∆t (do matice bodů pozorování se ukládá jen každý m-tý integrační krok – pozor, neztotožňujte integrační krok se základním krokem datové základny, který bývá větší). Je ale též možné zvolit proměnný integrační krok nastavovaný tak, aby bylo dosaženo požadované relativní přesnosti ε. Ta se odhaduje metodou půlení časového kroku: každý integrační krok se provede jednou s délkou ∆t a poté se dvěma polovičními kroky ∆t/2 – rozdíl výsledků je měřítkem aproximační chyby a na základě srovnání s chybou požadovanou se integrační krok buď zkrátí nebo prodlouží. Vyžaduje to o něco větší objem výpočtů, ale skutečnost, že v každém časovém kroku jsou k dispozici výsledky získané s různým časovým krokem, se využije ke zlepšení přesnosti výsledku Aitkenovou metodou. Používají se následující vztahy | y j ,∆t / 2 − y j ,∆t | * ε max Odhadnutá relativní chyba v integračním kroku ε max = max ,ε = . j ε | y j ,∆t / 2 | Pokud je ε*>1, nebylo dosaženo požadované přesnosti a integrační krok se zkracuje dle vztahu 0.9∆t . ∆t ← 4 ε* V opačném případě (ε*<1) a současně tehdy, když v aktuálním integračním kroku nebylo nutné jeho zkracování, se integrační krok prodlužuje (maximálně na čtyřnásobek) 0.9∆t . ∆t ← 5 ε* Extrapolační zpřesnění výsledků vychází z faktu, že použitá varianta metody Runge Kutta je čtvrtého řádu přesnosti, což znamená, že přibližně platí y ∆t = y + k∆t 4 vztah mezi správnou hodnotou y a hodnotou vyčíslenou numericky s krokem ∆t FEM1.DOC last update 15.11.2002
Page 102 of 116
y ∆t / 2 = y + k (∆t / 2) 4 vztah mezi y a hodnotou vyčíslenou numericky s krokem ∆t/2 (dva půlkroky). Protože hodnoty y∆t a y∆t/2 jsou známy, lze z předchozích rovnic vypočítat neznámý koeficient k a „správnou“ hodnotu y 1 y j = y j ,∆t / 2 + ( y j ,∆t / 2 − y j ,∆t ). 15
FEM1.DOC last update 15.11.2002
Page 103 of 116
4.3.8. Lineární a nelineární regresní analýza Lineární regrese polynomiální y = a1 + a 2 x + ... + a N +1 x N Modely použité při nelineární analýze EXPONENCIÁLA y = a1 + a2e − a x ∂y =1 ∂a1 ∂y = e −a x ∂a 2 ∂y = − a2 xe − a x ∂a3 3
GAUSSOVA FUNKCE
LOGISTIKA a1 y= 1 + a2 e −a x 1 ∂y = ∂a1 1 + a 2 e − a x
SERIE y = a1 x a −1e − a x ∂y 6 = x a −1e − a x ∂a1 ∂y = − a1 x a e − a x ∂a 2 ∂y = a1 x a −1e − a x ln x ∂a3
5
4
1
3
4
3
RACIONÁLNÍ FUNKCE a + a2 x y= 1 1 + a3 x ∂y 1 = ∂a1 1 + a3 x x ∂y = ∂a 2 1 + a3 x a + a2 x ∂y = −x 1 ∂a3 1 + a3 x
DVOJITÁ EXPON. y = a1 + a2e − a x + a3e − a x ∂y =1 ∂a1 2 ∂y = e− a x ∂a2 ∂y = e− a x ∂a3 ∂y = −a2 xe − a x ∂a4 ∂y = − a3 xe − a x ∂a5 5
4
FEM1.DOC last update 15.11.2002
y = a1 + a 2 e ∂y =1 ∂a1 −( ∂y =e ∂a 2
−(
x − a3 2 ) a4
3
x − a3 2 ) a4
x − a3 2 ) a4
4
x − a3 −( ∂y = 2a 2 e ∂a 3 a 42
5
( x − a 3 ) 2 −( ∂y = 2a 2 e ∂a 4 a 42
5
3
3
a1e − a x ∂y =− ∂a 2 (1 + a 2 e − a x ) 2 3
3
− a3 x
a a xe ∂y = 1 3 −a x 2 ∂a3 (1 + a 2 e )
3
2
3
2
3
3
2
2
3
Page 104 of 116
x − a3 ) a4
AXIÁLNÍ DISPERSE I. y=
a1 x
e
( x − a3 ) 2 − a2 x
∂y 1 −a e = ∂a1 x
2
( x − a3 ) x
7 2
a ( x − a3 ) 2 −a ∂y e =− 1 ∂a 2 x x
y=
a1 x x
e
− a2
( x − a3 ) 2 x
∂y 1 −a e = ∂a1 x x ( x − a3 ) 2 x
2
2a a ( x − a 3 ) − a ∂y e = 1 2 ∂a3 x x
FEM1.DOC last update 15.11.2002
AXIÁLNÍ DISPERSE II.
2
( x − a3 ) 2 x
2
8
( x − a3 ) 2 x
a1 ( x − a3 ) 2 − a ∂y e =− ∂a 2 x2 x
2
2a a ( x − a 3 ) − a ∂y e = 1 22 ∂a3 x x
( x − a3 ) 2 x
2
( x − a3 ) 2 x
Page 105 of 116
Příloha: Popis struktury programu a datové struktury COMMON /FEM/ FEMINA.FOR Hlavní program $FEMLOC
$S-GRAF ident, grafy, plot,…
end main $S0-DIAL.for
DIAP
$S0-HELP HELP,SHOWFILE,SHOWTC,HELPC, COMHELP, VARHELP
$S1-PLOT.for … PLOTSF,…PLOTMOD,…GMFTXI,… GPIPE, $S2-INIT.for …INIT, ANASET $S3-COMM.for …WRITEL [call OPERAT],… COMPEX[runqq COMPEX.EXE] $$COMM … PROCOM,PROITE,TRAN,TINE,TFUW,LOADIN,CURFUN,READBIN,WRITEBIN $S9-KLOC.for… SHEL,TRUSE,PLANE2 $S10-AUX.for … NCOMPRES,NDDEL,EDEL,NIDENT,PIDENT,…UIDENT, FTMCR2,…,RANGE,MOFE, P2ONCR,..
$S11-MOD.for… READMOD,MODLI,GETPAR,RPNINI,RPNMOD,RUNGE,RUMODL,TCDV,SMOOTH,RNMOM,RNORM
$S12-FEM.FOR
MIKE, MIDE, CREE
$O-OPERA.for SUBROUTINE OPERAT
… call COMPEX END
$O-WREAD.for … WRNOD, WRELE,WREGROUP,WREPAR,WRDAT,WRALL,WRTC, RENOD,RELE,REGROUP,RELPAR,REDAT,READTC,READCO,…FOPEN,FINQUIRE
$BLOCKD.for COMPEX.FOR
$BLOCKD $S4-KLOC $S5-KLOC $S6-KLOC $S7-KLOC $S8-KLOC $$-COMM
OPEN(1,FILE='COMPEX.BIN',FORM='BINARY',ERR=1000) CALL READBIN(1) SELECT CASE(KEYW) INCLUDE '$COMPEX‘ ENDSELECT REWIND 1 CALL WRITEBIN(1,0) END
$S4-KLOC.for … PIPE,HEX,RTD $S5-KLOC.for … THER,CONC,ELEC
$COMPEX
/ /
CASE('PIPEQ ','PIPEC ','PIPE ','R_PIPE','R_P 'HEXC ','RTD ') CASE('TRANEQ','TRANEC','R_TRAN','R_T ', 'THERMA','CONTHE','ELEC ','CONC ','UVPP 'UVP ','PSOM ','PSIN ','PENS ','THER ')
FEM1.DOC last update 15.11.2002
', ',
$S6-KLOC.for … UVP,UVPP $S7-KLOC.for …PSIN,PSBL $S8-KLOC.for …PSOM,PENS
Page 106 of 116
C $FEM for FEMINF INCLUDE '$FEM-PAR' INCLUDE '$FEM-COM' C $FEM-PAR AMETERS for /$FEM/ C FINITE ELEMENTS DATABASE pro 3D (popis viz. $FEM) C PARAMETER (MAXND=100000,MAXDOF=17,MAXTDOF=30,MAXEL=100000, / MAXANA=10,MAXEPA=7, / MAXGR=5,MAXRC=5,MAXMAT=5,MAXPEG=6,MAXPRC=11,MAXPMP=11) PARAMETER (MAXPT=100,MAXCR=100,MAXSF=100,MAXVL=10) PARAMETER (MAXAUX=70) PARAMETER (MAXCON=300) PARAMETER (MIFUN=-10,MAFUN=50,MAXFUN=9,MAXRPN=200, / MAXTAB=9,MAXTPT=8) PARAMETER (MAXMRPN=2000,MAXMCON=200,MAXCMOD=200,MAXPMOD=20, / MAXINPUTS=5,MAXOUTPUTS=5,MAXMOD=20) PARAMETER (MAXPAR=23,LENLIN=100,LENITE=80,LENDIAL=40, / LENMODEL=8000,MAXLABELS=100,MAXLINES=200) PARAMETER (MAXNTS=1024,MAXSEL=10) PARAMETER (MAXEXCOM=10) PARAMETER (MAXATR=300) PARAMETER (MAXCIND=30)
FEM1.DOC last update 15.11.2002
Page 107 of 116
C $FEM-COM C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C
(parametry definovane v $fem-par)
$fem-com (parametry definovane v $fem-par) FINITE ELEMENTS DATABASE pro 3D COMMON /FEM/ Maximalni pocet aktivnich DOF v uzlu MAXDOF=17, definovanych MAXTDOF=30, typu analyzy MAXANA=10, parametru elementu MAXEPA=7 GEOMETRIE :MAXPT-POINTS, MAXCR-CURVES, MAXSF-SURFACES,MAXVL-VOLUMES Zona IAUX je vicemene pracovni, nejsou v ni ulozena stala data. Cast A,...Z je vyhrazena uzivateli bez blizsiho urceni. Prvni promenne TIME,X,Y,Z a druhy invariant (tenzoru deformace, resp. rychlosti deformace) jsou hodnoty, ktere se aktualizuji v jednotlivych uzlech nebo elementech a pouzivaji je pak uzivatelsky definovane funkce ci tabulky definujici viskozitu a dalsi promenne termofyzikalni vlastnosti. 1 2 3 4 5 6 7 8 9 10 IAUX - TIME,X,Y,Z,SINVAR,free,free,free,free,free, 11 12 13 14 15 16 17 18 19 20 21 22 TEMP,UX,UY,UZ,RX,RY,RZ,VOLT,VX,VY,VZ,PRES, 23 24 25 26 27 28 29 OMG,PS,PSX,PSY,PSXX,PSYY,PSXY, 30 31 32 33 34 35 36 37 38 39 40 CN,CD,CA,KT,EPS,d25,d26,d27,d28,d29,d30 41 42 66 uzivatelske promenne A, B,...,Z, pro interpret ISEED - generator nahodnych cisel (NOT USED) ICOUNTS - citac elementu (pomocna promenna) POWER - dissipovany vykon (pomocna promenna) JEPA - index urcujici vyznam parametru v matici EPAR (tzn. typ posledne provadeneho postprocesingu 1-shell,2-pipe,3-flow,4-stress). NPT,NCR,NSF,NVL-POCET BODU, KRIVEK, PLOCH, OBJEMU NE,ND - POCET ELEMENTU, UZLU NGROUP,NRCONS,NMAT - POCET SKUPIN ELEMENTU, REALNYCH KONSTANT A VLASTNOSTI
NDOF KANAL
MPEG MPRC MPMP NTSTEP DTIME IALGOR(30)
RALGOR(30)
(67) (68) (69) (70) (71,...,74) (75,76) (77,..,79)
NDOF,JDOF(NDOF) se nastavuje vzdy pred volanim LOADIN,FTFRIN,FTFRON a urcuji pocet a vyznam aktivnich DOF: - Pocet aktivnich DOF uzlu pro danou operaci (delka JDOF(NDOF)) (80) - TYP ANALYZY (81) (1-STR,2-PSI,3-UVP,4-PSB,5-RTD,6-FULL... viz DATA TANAL(MAXANA)). Volba KANAL urcuje vyznam a pocet uzlovych parametru (JKIND), vyber atributu elementu (LGROUP), RC (LRCONS) i materialovych parametru (LRMAT). Tato nastaveni provadi SUBROUTINE ANASET. - POCET ATRIBUTU ELEMENTU PRO TYP ANALYZY KANAL (viz. LGROUP(MPEG)) (82) - POCET REALNYCH KONSTANT PRO TYP ANALYZY KANAL (viz. LRCONS(MPRC)) (83) - POCET MATERIALOVYCH PARAMETRU PRO TYP ANALYZY KANAL (viz. LRMAT(MPMP)) (84) - POCET CASOVYCH (iteracnich) KROKU (85) - CASOVY KROK (86) - BLIZSI SPECIFIKACE ALGORITMU VYPOCTU MATICE ELEMENTU (87) IALGOR(1)-vypocet matice hmotnosti, IALGOR(2)-uvazovani rychlosti, IALGOR(3)-prirozena konvekce, IALGOR(4)-uvazovani zdrojovych clenu IALGOR(5)-upwind IALGOR(6)-fouling. 7...10 volne. IALGOR(11)-operace ELEC (poc.iter.) IALGOR(12)-operace THER IALGOR(13)-operace CONC IALGOR(14)-operace UVP IALGOR(15)-operace UVPP IALGOR(16)-operace MIKE IALGOR(17)-operace PENS IALGOR(18)-operace PSIN IALGOR(19)-operace PSOM IALGOR(20)-operace PSBL IALGOR(21)-operace PIPE IALGOR(22)-operace HEXC IALGOR(23)-operace RTD IALGOR(24)-operace MIDE IALGOR(25) ... zatim nevyuzito - podobne jako IALGOR mohou byt v tomto vektoru konstanty (realne) specifikujici algoritmus reseni (117) RALGOR(1) -gx zrychleni, RALGOR(2)-gy zrychleni , RALGOR(3) -alpha (prestup tepla), RALGOR(4)-Te okolni teplota, RALGOR(5) -korekce upwind, RALGOR(6)-EPS pivot, RALGOR(7) -relaxacni faktor, RALGOR(8)-Scale DEFORM RALGOR(9) -penal.parametr Lambda RALGOR(10)-TOL vzdalenost bodu RALGOR(11)-residuum TEMP RALGOR(12)-residuum UX,UY,UZ RALGOR(13)-residuum RX,RY,RZ RALGOR(14)-residuum VOLT RALGOR(15)-residuum VX,VY,VZ RALGOR(16)-residuum PRES RALGOR(17)-residuum OMG RALGOR(18)-residuum PS RALGOR(19)-residuum PSX,PSY RALGOR(20)-residuum CN,CD,CA RALGOR(21)-optimalizovana hodnota RALGOR(22) ... zatim nevyuzito
FEM1.DOC last update 15.11.2002
Page 108 of 116
C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C
NKIND,JKIND je informace pro generator uzlu, urcuje pocet a typ DOF: NKIND(3) - pocet uzlovych parametru pro uzly typu vrchol, strana, teziste JKIND(3,MAXDOF)-vyznam velicin v uzlech typu vrchol, strana, teziste (uplatni se pri generovani novych elementu) 1-TEMP, 2-Ux, 3-Uy, 4-Uz, 5-Rx, 6-Ry, 7-Rz, 8-Volt, 9-Vx, 10-Vy, 11-Vz, 12-pres, 13-omg, 14-ps, 15-psx, 16-psy, 17-psxx, 18-psyy, 19-psxy, 20-Cn, 21-Cd, 22-Ca, 23-k, 24-Eps, 25,...30 nevyuzito. Vyznam velicin je popsan v hlavnim programu DATA TDOF(MAXTDOF). JDOF(MAXDOF)
- Aktivni DOF (VYBER SHODNYCH PARAMETRU V JPU(*)). Tento vektor je predavan procedure FTFRON aby vedela, ktere parametry ma pocitat.
LGROUP,LRCONS,LRMAT slouzi jen pro dialog zadavani parametru LGROUP(MAXPEG)- Vyber sloupcu JGROUP,tj. vyber atributu elementu pro zvoleny typ analyzy (KANAL) JGROUP(,) - ATRIBUTY SKUPINY ELEMENTU sloupec 1 2 3 4 5 6 Steady/Trans. GAUSS-pt XY/XR Strain/Stress Boundary Optional
(147) (150)
(180)
(190) (196)
LRCONS(MAXPRC)- Vyber sloupcu RCONST, tj. vyber realnych konstant (226) RCONST(,) - REALNE KONSTANTY (RADEK JE SKUPINA, SLOUPEC PARAMETR) (237) sloupec 1 2 3 4 5 6 7 8 9 10 11 H D p alpha Te Area Perim Vol Ratio fi Jz Poznamka: parametr fi je hydraulicka charakteristika (funkce nebo tabulka) LRMAT(MAXPMP) - Vyber sloupcu RMAT,tj.materialovych parametru pro dany typ analyzy (292) RMAT(,) - MATERIALOVE PARAMETRY (303) JMAT(,) - CISLO FUNKCE, KTERYMI SE NASOBI HODNOTY MATERIALOVYCH PARAMETRU v matici RMAT sloupec 1 2 3 4 5 6 7 8 9 10 11 (358) Kx Cp RHO KAPPA E MI VISC beta Dn En An IUE() - VEKTOR KONEKTIVITY (413) LUE(ie) - LUE(IE)+I POZICE I-TEHO UZLU ELEMENTU IE VE VEKTORU KONEKTIVITY (40413) MUE(ie) - |MUE| POCET UZLU ELEMENTU (50413) EPAR(ie,maxepa)-PARAMETRY ELEMENTU (NAPR. DISSIPOVANY VYKON, VYPOCITANE VYSLEDKY) (60413) vyznam sloupcu je urcen parametrem JEPA (viz vyse): JEPA=1 (shellax) 1-Nalfa 2-Nbeta 3-Malfa 4-Mbeta 5-Q JEPA=2 (pipeline) 1-Q 2-Re 3-Tauw 4-Rfoul 5-Tmean 6/7 indexy JEPA=3 (flow) 1-Pdiss. 2-Wdiss. 3-II inv. 4-dT/dx 5-dT/dy JEPA=4 (stress) 1-Sxx 2-Syy 3-Txy 4-vMises IGROUP(ie) - CISLO SKUPINY EGROUP ELEMENTU (130413) IRCONS(ie) - CISLO SKUPINY RC ELEMENTU (140413) IMAT(ie) - CISLO SKUPINY MPROP ELEMENTU (150413) KINDE(ie) - 0-GENERAL,1-STR,2-PSI,3-UVP,4-PSB,5-RTD Hodnota KINDE se elementu prideluje pri jeho vytvareni (info pro sestaveni) NAMELE(ie) - 0-GENERAL,1-PIPE,2-CSTR,3-DIVIDER,4-HEXC zatim jen pro ikony elementu XX,YY,ZZ(nd) - SOURADNICE UZLU KINDU(nd) - TYP UZLU (=1 VRCHOLY,2=STRANY,3=TEZISTE) LPU(ND+1) - POINTER UZLOVYCH PARAMETRU MPU(ND) - POCET UZLOVYCH PARAMETRU UZLU IPU(*) - STATUS UZLOVEHO PARAMETRU JPU(*) - TYP UZLOVEHO PARAMETRU (VIZ JDOF()) VAL(*,4) - UZLOVE PARAMETRY, 1.SLOUPEC: ZADAVANE HODNOTY zatizeni, okrajove podminky (PREPROCESOR), 2.SLOUPEC: Transformace prvniho sloupce (LOADIN). Vstup i vystup FTFRON. 3.SLOUPEC: POCATECNI PODMINKY NEBO HODNOTY Z PREDCHOZIHO CASOVEHO KROKU. 4.SLOUPEC: hodnoty z predchozi iterace (v ramci jednoho cas.kroku) XGR(ND) - vybrane hodnoty uzloveho parametru pro grafiku (pomocny vektor) VGR(ND) - vybrane hodnoty uzloveho parametru pro grafiku (pomocny vektor) PTX,PTY,PTZ(npt)- SOURADNICE BODU NEARND(npt) - INDEX NEJBLIZSIHO UZLU ISF(8,*),MSF(*) - INDEXY BODU PLOCH, POCET TVORICICH BODU (4 NEBO 8) ICR(3,*),MCR(*) - INDEXY BODU KRIVEK, POCET TVORICICH BODU (2 NEBO 3) NXCR(maxcr) - informace o mesovani (pocet elementu na krivce) FLAFI(maxcr) - informace o mesovani (rovnomernost deleni) IVL(20,*),MVL(*)- INDEXY BODU OBJEMU, POCET TVORICICH BODU (8 NEBO 20) DOFMIN(MAXTDOF) - MINIMALNI HODNOTY UZLOVYCH PARAMETRU DOFMAX(MAXTDOF) - MAXIMALNI HODNOTY UZLOVYCH PARAMETRU DOFRESI(MAXTDOF)- aktualni hodnoty rezidui parametru pocitanych procedurou FTFRON DOFMEAN(MAXTDOF)- stredni absolutni hodnoty uzlovych parametru IMARK(MAXTDOF) - cislo znacky odpovidajici stupni volnosti 1-troj.nahoru,2-troj.dolu,3-krizek,4-ctver s troj.,5-kosoctverec, 6-ctverec s diag,7-kolecko,8-svisla sipka,9-vodorovna sipka IACT(8)
- 0/1 ACTIVATION
--------------- FUNCTIONS AND TABLES pro interpretaci parametru prikazu a funkci
FEM1.DOC last update 15.11.2002
Page 109 of 116
C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C
PARAMETER (MAXCON=300) =MAXCINT*10 PARAMETER (MIFUN=-10,MAFUN=50,MAXFUN=9,MAXRPN=200,MAXTAB=9,MAXTPT=8) IICONS - zona konstant pro 10 FUNKCI (max. 15 konstant pro funkci, kazda konstanta potrebuje 2 slova) INDFUN -10,...-1 OKRAJOVE PODMINKY, 1:50 ZATIZENI A SLABE OKRAJ.PODMINKY MFUNCT - POCET DEFINOVANYCH FUNKCI (maximalne MAXFUN) MRPN(I) - DELKA KODU IRPN (maximalne MAXRPN) IRPN(,J) - KOD RPN J-TE FUNKCE MTABLE - POCET DEFINOVANYCH TABULEK (maximalne MAXTAB) KTABLE(J) - =0 TABULKA F(TEMPERATURE) =1 TABULKA F(TIME) =2 TABULKA F(X) =3 TABULKA F(Y) MTPT(J) - POCET BODU (X,Y) J-TE TABULKY (maximalne MAXTPT) XTAB,YTAB - HODNOTY NEZAVISLE A ZAVISLE PROMENNE --------------- PROGRAM interpretovaneho modelu PARAMETER (MAXMRPN=2000,MAXMCON=200,MAXCMOD=200,MAXPMOD=20) Model vznikne prekladem dvou sekci (\\IN a \\MO ) a vysledny kod je ulozen do vektoru MODRPN. Nejprve sekce \\IN a delce MIRPN a hned za ni sekce model o delce MMRPN. Celkova delka obou sekci je maximalne MAXMRPN. Obe sekce vyuzivaji stejnou zonu konstant a nove definovanych promennych MODCON. IMODELA - index aktivniho modelu (index klicoveho slova a jmena souboru) MIRPN - DELKA KODU RPN modelu (sekce \\IN). Vlastni kod je vektor MODRPN. MMRPN - DELKA KODU RPN modelu (sekce \\MO). Vlastni kod je MODRPN ale az od indexu MIRPN+1 NUMLINES - pocet radku textu modelu MODTXT (ma vyznam pouze pro zobrazovani textu) LINESRPN(MAXLINES) - pozice znaku v retezci MODTXT indikujici zacatky radku MODRPN(*) - KOD RPN modelu (obou sekci) MODCON(*) - konstanty modelu (obou sekci) CMODEL(MAXCMOD,2)-koncentrace (1.sloupec hodnoty C(i), 2.sloupec derivace DC(i)) IDENUM -identifikacni cislo modelu (uvadene v datovem souboru popisu modelu) METHOD -metoda reseni soustavy diferencialnich rovnic METHOD=0 Eulerova metoda, METHOD>0 RK s konstantnim krokem DTIME METHOD<0 RK s promennym krokem a pozadovanou presnosti EPS=10**METHOD NEQUAT -pocet resenych rovnic (delka vektoru CMODEL) NINPUTS -pocet vzruchovych funkci x(t,i) MINPUTS(MAXINPUTS) - indexy funkcnich prubehu (viz YGR) XINPUTS(MAXINPUTS) - pracovni vektor hodnot vzruchovych funkci (pro aktualni cas) NOUTPUTS -pocet odezvovych funkci y(t,i) MOUTPUTS(MAXOUTPUTS) - indexy funkcnich prubehu (viz YGR) YOUTPUTS(MAXOUTPUTS) - pracovni vektor hodnot odezvovych funkci (pro aktualni cas) NUMODP -pocet parametru modelu PMODEL(MAXPMOD) -pomocny vektor (muze to byt vektor parametru modelu, zalezi na LMODEL) RMODEL(MAXPMOD) -vektor relaxacnich parametru (pro kazdy optimalizovany parametr) ZMINP(MAXPMOD) -vektor urcujici dolni meze optimalizovanych parametru ZMAXP(MAXPMOD) -vektor urcujici horni meze optimalizovanych parametru LMODEL(MAXPMOD) -indexy parametru odkazujici na prvek /FEM/. Tento prvek (a ne nutne vektor PMODEL) je povazovan za parametr pri regresni analyze. JMODEL(MAXPMOD) -typ parametru =1 real, =2 integer KMODEL(MAXPMOD) -urceni toho, zda ma byt parametr stanoven regresi (0-nepocitat, 1-linearni parametr, 2-nelinearni, 3-linear search) --------------- DIALOG MAXPAR-maximalni pocet PARAMETRU PRIKAZU, LENLIN-delka prikaz.radku, LENITE-max.delka polozky (napr. vyrazu jako parametru) LENDIAL-delka napovedneho textu pri zadavani parametru LENMODEL-delka textu modelu (ve znacich) MAXLABELS-max.pocet navesti pouzitych v session filu PARAMETER (MAXPAR=23,LENLIN=100,LENITE=80,LENDIAL=50,LENMODEL=8000,MAXLABELS=100) RP(MAXPAR) - hodnota I-teho parametru prikazu (REAL) IP(MAXPAR) - hodnota I-teho parametru prikazu (INTEGER) LAST - INDEX POSLEDNIHO PRIKAZU ZADAVANEHO PRIMO, LAST+1,... V DIALOGU ISEMI - POZICE UKONCOVACIHO STREDNIKU v textu NLABELS - pocet navesti Kazde navesti ma tyto charakteristiky: LABELINE() - cislo radku v interpretovanem souboru, ktere odpovida navesti LOOPMAX() - pocet cyklu LOOP LOOPCOUNT() - pocitadlo cyklu LOOPLINE() - cislo radku za prikazem #LOOP --------------- RTD casove krivky ZMENA: MATICE BODU POZOROVANI MAXNTS-maximalni pocet casovych kroku, MAXSEL-maximalni pocet casovych prubehu, PARAMETER (MAXNTS=1000,MAXSEL=10) NGR - pocet bodu (radek) matice bodu pozorovani YGR DTGR - casovy krok (pokud je DTGR<=0 uplatni se hodnoty YGR(i,1))
FEM1.DOC last update 15.11.2002
Page 110 of 116
C Poznamka: prvni sloupec matice bodu pozorovani je interpretovan jako cas C YGR(MAXNTS,MAXSEL) - nezavisle i zavisle promenne (cas, koncentrace, teploty,...) C INDG(MAXSEL) - (1) index uzlu ND, kteremu odpovida casovy prubeh nebo C (2) index souboru experimentalnich dat (t,c) nebo C (3) index vzruchove funkce modelu x(t,i) (inlet i) nebo C (4) index odezvove funkce modely y(t,i) (outlet i) C IQGR(MAXSEL) - typ sloupce matice bodu pozorovani C (1-cas, 2-FEM, 3-experiment, 4-inlet, 5-outlet, 6-regres, 7-std.dev) C C KCOMPAR - kriterium pouzite pro porovnani krivek C =0 sum(abs(Y1-Y2))/n C =1 sum(abs((Y1-Y2)/max(Y1,Y2))/n C =2 sqrt(sum((Y1-Y2)**2)/n) C =3 sqrt(sum((Y1-Y2)/max(Y1,Y2))**2)/n C =4 intg(abs(Y1-Y2)) C =5 intg(abs((Y1-Y2)/max(Y1,Y2)) C =6 sqrt(intg((Y1-Y2)**2)) C =7 sqrt(intg((Y1-Y2)/max(Y1,Y2))**2) C SCOMPAR - hodnota sumy odchylek vsech porovnavanych krivek C NCOMPAR - pocet porovnavanych dvojic TC C ICOMPAR(2,MAXSEL/2) - indexy porovnavanych TC krivek C C MEXPERI - pocet definovanych datovych krivek c(t) C MEXPERI(maxsel) - indexy techto krivek (viz. YGR), jmena souboru FILEXPERI C C<--------------- AZ SEM SE NULUJE DATABAZE PRI INICIALIZACI (NOVY PROBLEM) C C --------------- EXTERNAL programs C C PARAMETER (MAXEXCOM=10) C NEXCOM - pocet definovanych externich programu C NEXPAR(i) - pocet parametru zadavanych pred spustenim programu i C DEXPAR(j,i) - default hodnota j-teho parametru programu i C NMODELS - pocet externich modelu (a tez klicovych slov i jmen souboru) C C --------------- logical LOGICAL READFI,RECORD,READMA C READFI - priznak cteni prikazu ze souboru pri interpretaci (logical) C RECORD - zaznam prikazu do souboru a potlaceni interpretace prikazu #xxx (logical) C READMA - read macro C C --------------- strings CHARACTER*4 LABELS,NEXKWD,MODKWD,TDOF,LALG,TEG,TRC,TMAT,TANAL CHARACTER*6 KEYW CHARACTER*8 PROBLEM,KEYW8,LEPA,LTC CHARACTER*12 FILENAM,FILEDAT,FILEXPERI,NEXFILE,MODFILE,VARTXT CHARACTER*(LENMODEL) MODTXT CHARACTER*(LENITE) TP,FUNTXT CHARACTER*(LENDIAL) NEXPARTXT,MODPARTXT C PROBLEM - character *8 nazev problemu (nebo vystupnich souboru) C FILENAM - character *12 jmeno souboru (s priponou - napr. record) C FILEDAT - default jmeno pro datovy soubor C FILEXPERI(MAXSEL)- nazev souboru casove krivky (odpovida vektoru NEXPER) C LABELS() - jmena navesti (na 4 znaky), viz #GOTO, #LABEL, #LOOP C NEXKWD(i) - klicove slovo (pouze na 4 znaky) volani externiho programu C NEXFILE(i) - jmeno souboru externiho programu cislo i C NEXPARTXT(j,i)- text hlavicky zadavani j-teho parametru i-teho EXterniho programu C MODKWD(i) - klicove slovo (pouze na 4 znaky) interpretovaneho modelu C MODFILE(i) - jmeno souboru interpretovaneho programu cislo i C MODTXT - TEXT modelu (aktualniho) C MODPARTXT(j) - text hlavicky zadavani j-teho parametru aktualniho modelu C VARTXT(j) - jmeno j-teho parametru C TP(MAXPAR) - text I-teho parametru prikazu (dialog zadavani parametru) C FUNTXT(MAXFUN)- text J-te funkce (viz FUNDEF casove nebo teplotni zavislosti) C TDOF(MAXTDOF) - nazvy DOF (4 znaky) C LEPA(IPAR,IT) - nazvy parametru elementu (pro max. 4 typy analyz) C LALG(operace) - nazvy operaci (UVP, PIPE,RTD,...) C LTC(typ TC) - nazvy typu casovych prubehu EMPTY, TIME, EXPERIM.,... C TEG,TRC,TMAT - nazvy parametru EGROUP,RCONST,MPROP C TANAL - nazvy zvoleneho typu analyzy / / / / / / / /
COMMON /FEM/ IAUX(MAXAUX), NPT,NCR,NSF,NVL, NE,ND, NGROUP,NRCONS,NMAT,NDOF,KANAL, MPEG,MPRC,MPMP,NTSTEP,DTIME, IALGOR(30),RALGOR(30), NKIND(3),JKIND(3,MAXDOF), JDOF(MAXDOF),
FEM1.DOC last update 15.11.2002
Page 111 of 116
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
LGROUP(MAXPEG),JGROUP(MAXGR,MAXPEG), LRCONS(MAXPRC),RCONST(MAXRC,MAXPRC), LRMAT(MAXPMP),RMAT(MAXMAT,MAXPMP),JMAT(MAXMAT,MAXPMP), IUE(4*MAXEL),LUE(MAXEL+1),MUE(MAXEL),EPAR(MAXEL,MAXEPA), IGROUP(MAXEL),IRCONS(MAXEL),IMAT(MAXEL), KINDE(MAXEL),NAMELE(MAXEL), XX(MAXND),YY(MAXND),ZZ(MAXND),KINDU(MAXND), LPU(MAXND+1),MPU(MAXND), IPU(MAXND*MAXDOF),JPU(MAXND*MAXDOF),VAL(MAXND*MAXDOF,4), XGR(MAXND),VGR(MAXND), PTX(MAXPT),PTY(MAXPT),PTZ(MAXPT),NEARND(MAXPT), ISF(8,MAXSF),MSF(MAXSF), ICR(3,MAXCR),MCR(MAXCR),NXCR(MAXCR),FLAFI(MAXCR), IVL(20,MAXVL),MVL(MAXVL), DOFMIN(MAXTDOF),DOFMAX(MAXTDOF), DOFRESI(MAXTDOF),DOFMEAN(MAXTDOF), IMARK(MAXTDOF),IACT(8), IICONS(MAXCON), INDFUN(MIFUN:MAFUN), MFUNCT,MRPN(MAXFUN),IRPN(MAXRPN,MAXFUN), MTABLE,KTABLE(MAXTAB), MTPT(MAXTAB),XTAB(MAXTPT,MAXTAB),YTAB(MAXTPT,MAXTAB), IMODELA,MIRPN,MMRPN,NUMLINES,LINESRPN(MAXLINES), MODRPN(MAXMRPN),MODCON(MAXMCON), CMODEL(MAXCMOD,2), IDENUM,METHOD,NEQUAT, NINPUTS,MINPUTS(MAXINPUTS),XINPUTS(MAXINPUTS), NOUTPUTS,MOUTPUTS(MAXOUTPUTS),YOUTPUTS(MAXOUTPUTS), NUMODP, PMODEL(MAXPMOD),RMODEL(MAXPMOD),ZMINP(MAXPMOD),ZMAXP(MAXPMOD), LMODEL(MAXPMOD),JMODEL(MAXPMOD),KMODEL(MAXPMOD), RP(MAXPAR),IP(MAXPAR),LAST,ISEMI, NLABELS,LABELINE(MAXLABELS), LOOPMAX(MAXLABELS),LOOPCOUNT(MAXLABELS),LOOPLINE(MAXLABELS), NGR,DTGR,YGR(MAXNTS,MAXSEL), INDG(MAXSEL),IQGR(MAXSEL), KCOMPAR,SCOMPAR,NCOMPAR,ICOMPAR(2,MAXSEL/2), NEXPERI,MEXPERI(MAXSEL), NEXCOM,NEXPAR(MAXEXCOM),DEXPAR(MAXPAR,MAXEXCOM), NMODELS, READFI,RECORD,READMA, PROBLEM,FILENAM,FILEDAT,FILEXPERI(MAXSEL), LABELS(MAXLABELS), NEXKWD(MAXEXCOM),NEXFILE(MAXEXCOM),NEXPARTXT(MAXPAR,MAXEXCOM), MODKWD(MAXMOD),MODFILE(MAXMOD), MODTXT,MODPARTXT(MAXPMOD),VARTXT(MAXPMOD), TP(MAXPAR),FUNTXT(MAXFUN), TDOF(MAXTDOF), TEG(MAXPEG),TRC(MAXPRC),TMAT(MAXPMP),TANAL(MAXANA), LEPA(MAXEPA,4),LALG(MAXOPER),LTC(8), KEYW8,IENDCHECK
C C Popisy EQUIVALENCE C DIMENSION AUX(MAXAUX),IEPAR(MAXEL,MAXEPA) EQUIVALENCE (IAUX,AUX,TIME),(IEPAR,EPAR),(IAUX(MAXAUX),JEPA), / (IAUX(MAXAUX-1),POWER),(IAUX(MAXAUX-2),ICOUNTS), / (IAUX(MAXAUX-3),ISEED), / (RALGOR(1),GX),(RALGOR(2),GY),(RALGOR(5),RUPW), / (RALGOR(6),EPSPIV),(RALGOR(9),PENFAKT),(RALGOR(10),TOL), / (NITELEC,IALGOR(11)),(NITTHER,IALGOR(12)),(NITCONC,IALGOR(13)), / (NITUVP ,IALGOR(14)),(NITUVPP,IALGOR(15)),(NITMIKE,IALGOR(16)), / (NITPENS,IALGOR(17)),(NITPSIN,IALGOR(18)),(NITPSOM,IALGOR(19)), / (NITPSBL,IALGOR(20)),(NITPIPE,IALGOR(21)),(NITHEXC,IALGOR(22)), / (NITRTD ,IALGOR(23)),(NITMIDE,IALGOR(24)), / (EPSTEMP,RALGOR(11)),(EPSVXYZ,RALGOR(15)),(EPSPRES,RALGOR(16)), / (EPSOMG ,RALGOR(17)),(EPSPS ,RALGOR(18)),(EPSCN ,RALGOR(20)), / (SUMREZ ,RALGOR(21)), / (KEYW,KEYW8) EQUIVALENCE (IACT(1),KGROUPS),(IACT(2),KMATS),(IACT(3),KRCONS), / (IACT(4),KND),(IACT(5),KEL),(IACT(6),KPT),(IACT(7),KCR), / (IACT(8),KSF) C----------------------------------------------
FEM1.DOC last update 15.11.2002
Page 112 of 116
C $FEM-LOC (parametry definovany v $fem-par) C $fem-loc (parametry definovany v $fem-par) C FINITE ELEMENTS DATABASE COMMON /FEM/ (vcetne DIAL,FUNC,RTD) C MAXEND JE CELKOVA DELKA ZONY /FEM/ C C Promenne pouzivane procedurou TRAN pro lokalizaci vektoru C LOCVST - 1.sloupec EGROUP (Steady/Transient) C LOCVGSS- 2.sloupec EGROUP (Gauss points) C LOCVPAX- 3.sloupec EGROUP (Planar/Axial sym) C LOCVH - 1.sloupec RCONST (h) C LOCVD - 2.sloupec RCONST (D) C LOCVPRS- 3.sloupec RCONST (P) C LOCVALF- 4.sloupec RCONST (ALF) C LOCVTE - 5.sloupec RCONST (Te) C LOCVARE- 6.sloupec RCONST (ARE) C LOCVPER- 7.sloupec RCONST (PER) C LOCVJZ - 8.sloupec RCONST (JZ) C LOCVKX - 1.sloupec RMAT (Kx-tepelna vodivost) C LOCVCP - 2.sloupec RMAT (Cp) C LOCVDEN- 3.sloupec RMAT (Density) C LOCVKAP- 4.sloupec RMAT (kappa) C LOCVEX - 5.sloupec RMAT (E-modul pruznosti) C LOCVMI - 6.sloupec RMAT (mi-Poisson const.) C LOCVISC- 7.sloupec RMAT (viskozita Pa.s) C LOCBETA- 8.sloupec RMAT (beta-roztaznost) C LOCVDN - 9.sloupec RMAT (Dn - difuzni soucinitel) C LOCVEN -10.sloupec RMAT (En - aktivacni energie) C LOCVAN -11.sloupec RMAT (An - frekvencni faktor) C LOCKIND- vektor typu uzlu (vrchol,strana,teziste) C LOCLPU - pointer uzlovych parametru (definuje IPU,JPU,VAL) C LOCMPU - pocty uzlovych parametru C LOCIPU - status uzloveho parametru C LOCJPU - vyznam uzlovych parametru (1-T,2-Ux,...) C LOCVAL - zacatek matice uzlovych parametru (jsou to vlastne 3 matice: C vstupni data, vysledek reseni, pocatecni podminky) C LOCV2 - vysledek reseni C LOCV3 - pocatecni podminky C LOCRANGE - DOFMIN,DOFMAX (rozsah hodnot vypoctenych uzlovych parametru) C---------------------------------------------PARAMETER ( / LOCAUX1=MAXAUX+1, / LOCAUX2=MAXAUX+2, / LOCAUX3=MAXAUX+3, / LOCAUX4=MAXAUX+4, / LOCAUX5=MAXAUX+5, / LOCAUX6=MAXAUX+6, / LOCAUX7=MAXAUX+7, / LOCAUX8=MAXAUX+8, / LOCAUX9=MAXAUX+9, / LOCAUX15=MAXAUX+15, / LOCAUX16=MAXAUX+16, / LOCIALG1=MAXAUX+17, / LOCIVELO=LOCIALG1+1, / LOCIBUOY=LOCIALG1+2, / LOCIOHMI=LOCIALG1+3, / LOCIUPW =LOCIALG1+4, / LOCIELEC=LOCIALG1+10, / LOCITHER=LOCIALG1+11, / LOCICONC=LOCIALG1+12, / LOCIUVP =LOCIALG1+13, / LOCIUVPP=LOCIALG1+14, / LOCIMIKE=LOCIALG1+15, / LOCIPENS=LOCIALG1+16, / LOCIPSIN=LOCIALG1+17, / LOCIPSOM=LOCIALG1+18, / LOCIPSBL=LOCIALG1+19, / LOCIPIPE=LOCIALG1+20, / LOCIHEXC=LOCIALG1+21, / LOCIRTD =LOCIALG1+22, / LOCIMIDE=LOCIALG1+23, / LOCRALG1=LOCIALG1+30, / LOCRALG2=LOCRALG1+1, / LOCRUPW =LOCRALG1+4, / LOCPIVT =LOCRALG1+5, / LOCRSCL =LOCRALG1+7, / LOCRLAMB=LOCRALG1+8, / LOCRTOL =LOCRALG1+9, / LOCSUMREZ=LOCRALG1+20, / LOCVST=MAXAUX+80+MAXDOF*4+MAXPEG,
FEM1.DOC last update 15.11.2002
Page 113 of 116
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
LOCVGSS=LOCVST+MAXGR, LOCVPAX=LOCVGSS+MAXGR, LOCVSTS=LOCVPAX+MAXGR, LOCVH=LOCVST+MAXPEG*MAXGR+MAXPRC, LOCVD=LOCVH+MAXRC, LOCVPRS=LOCVD+MAXRC, LOCVALF=LOCVPRS+MAXRC, LOCVTE=LOCVALF+MAXRC, LOCVARE=LOCVTE+MAXRC, LOCVPER=LOCVARE+MAXRC, LOCVJZ=LOCVPER+MAXRC, LOCVKX=LOCVH+MAXPRC*MAXRC+MAXPMP, LOCVCP=LOCVKX+MAXMAT, LOCVDEN=LOCVCP+MAXMAT, LOCVKAP=LOCVDEN+MAXMAT, LOCVEX=LOCVKAP+MAXMAT, LOCVMI=LOCVEX+MAXMAT, LOCVISC=LOCVMI+MAXMAT, LOCVBET=LOCVISC+MAXMAT, LOCVDN=LOCVBET+MAXMAT, LOCVEN=LOCVDN+MAXMAT, LOCVAN=LOCVEN+MAXMAT, LOCVKXF=LOCVKX+MAXMAT*MAXPMP, LOCIUE=LOCVKX+2*MAXMAT*MAXPMP, LOCLUE=LOCIUE+4*MAXEL, LOCMUE=LOCLUE+MAXEL+1, LOCEPAR=LOCMUE+MAXEL, LOCEPA2=LOCEPAR+MAXEL, LOCEPA3=LOCEPA2+MAXEL, LOCEPA4=LOCEPA3+MAXEL, LOCEPA5=LOCEPA4+MAXEL, LOCIGROUP=LOCEPAR+MAXEL*MAXEPA, LOCIRCONS=LOCIGROUP+MAXEL, LOCIMAT=LOCIRCONS+MAXEL, LOCKINDE=LOCIMAT+MAXEL, LOCXX=LOCKINDE+2*MAXEL, LOCYY=LOCXX+MAXND, LOCZZ=LOCYY+MAXND, LOCKIND=LOCZZ+MAXND, LOCLPU=LOCKIND+MAXND, LOCMPU=LOCLPU+MAXND+1, LOCIPU=LOCMPU+MAXND, LOCJPU=LOCIPU+MAXDOF*MAXND, LOCVAL=LOCJPU+MAXDOF*MAXND, LOCV2 =LOCVAL+MAXDOF*MAXND, LOCV3 =LOCV2 +MAXDOF*MAXND, LOCXGR=LOCVAL+4*MAXDOF*MAXND, LOCVGR=LOCXGR+MAXND, LOCPTX=LOCVGR+MAXND, LOCPTY=LOCPTX+MAXPT, LOCPTZ=LOCPTY+MAXPT, LOCNEAR=LOCPTZ+MAXPT, LOCRANGE=LOCNEAR+MAXPT+9*MAXSF+6*MAXCR+21*MAXVL, LOCRESI=LOCRANGE+2*MAXTDOF, LOCMEAN=LOCRESI+MAXTDOF, LOCIACT=LOCRANGE+5*MAXTDOF, LOCONST=LOCIACT+8, LOCIFUN=LOCONST+MAXCON, LOCMFUN=LOCIFUN+MAFUN-MIFUN+1, LOCMTAB=LOCMFUN+(MAXRPN+1)*MAXFUN+1, LOCIMODELA=LOCMTAB+(MAXTPT*2+2)*MAXTAB+1, LOCMODRPN=LOCIMODELA+4+MAXLINES, LOCMODCON=LOCMODRPN+MAXMRPN, LOCMVAL=LOCMODCON+MAXMCON, LOCMDER=LOCMVAL+MAXCMOD, LOCMETHOD=LOCMDER+MAXCMOD+1, LOCNEQUAT=LOCMETHOD+1, LOCNINPUTS=LOCNEQUAT+1, LOCMINPUTS=LOCNINPUTS+1, LOCXINPUTS=LOCMINPUTS+MAXINPUTS, LOCNOUTPUTS=LOCXINPUTS+MAXINPUTS, LOCMOUTPUTS=LOCNOUTPUTS+1, LOCYOUTPUTS=LOCMOUTPUTS+MAXOUTPUTS, LOCNUMODP=LOCYOUTPUTS+MAXOUTPUTS, LOCPMOD=LOCNUMODP+1, LOCRMOD=LOCPMOD+MAXPMOD, LOCZMINP=LOCRMOD+MAXPMOD, LOCZMAXP=LOCZMINP+MAXPMOD, LOCLMOD=LOCZMAXP+MAXPMOD, LOCJMOD=LOCLMOD+MAXPMOD,
FEM1.DOC last update 15.11.2002
Page 114 of 116
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
LOCKMOD=LOCJMOD+MAXPMOD, LOCNLABELS=LOCKMOD+MAXPMOD+2*MAXPAR+2, LOCNGR=LOCNLABELS+1+4*MAXLABELS, LOCDTGR=LOCNGR+1, LOCYG1=LOCDTGR+1, LOCYG2=LOCYG1+MAXNTS, LOCYG3=LOCYG2+MAXNTS, LOCYG4=LOCYG3+MAXNTS, LOCYG5=LOCYG4+MAXNTS, LOCYG6=LOCYG5+MAXNTS, LOCYG7=LOCYG6+MAXNTS, LOCYG8=LOCYG7+MAXNTS, LOCYG9=LOCYG8+MAXNTS, LOCYG10=LOCYG9+MAXNTS, LOCINDG=LOCYG1+MAXNTS*MAXSEL, LOCIQGR=LOCINDG+MAXSEL, LOCKCOMPAR=LOCIQGR+MAXSEL, LOCSCOMPAR=LOCKCOMPAR+1, LOCNCOMPAR=LOCSCOMPAR+1, LOCICOMPAR=LOCNCOMPAR+1, LOCNEXPERI=LOCICOMPAR+MAXSEL, LOCMEXPERI=LOCNEXPERI+1, LOCNEXCOM=LOCMEXPERI+MAXSEL, LOCNMODELS=LOCNEXCOM+MAXEXCOM*(MAXPAR+1)+1, LOCPROBLEM=LOCNMODELS+4, MAXEND=LOCPROBLEM+26+3*MAXSEL+MAXLABELS+ (LENITE/4)*(MAXPAR+MAXFUN)+4*MAXMOD+ LENMODEL/4+(LENDIAL/4)*(MAXPMOD+MAXPAR*MAXEXCOM)+ 3*MAXPMOD+4*MAXEXCOM+MAXTDOF+MAXPEG+MAXPRC+MAXPMP+ MAXANA+MAXOPER+MAXEPA*8)
FEM1.DOC last update 15.11.2002
Page 115 of 116
C $FEMLOC C FINITE ELEMENTS DATABASE COMMON /FEM/ (vcetne DIAL,FUNC,RTD) INCLUDE '$FEM-PAR' INCLUDE '$FEM-COM' INCLUDE '$FEM-LOC' DIMENSION INTERC(MAXEND),REALRC(MAXEND) EQUIVALENCE (INTERC,REALRC,IAUX)
FEM1.DOC last update 15.11.2002
Page 116 of 116