Numerické simulace - Novinky |
Používání externích souborů v prostředí ANSYSvolně přeložil: Petr Novák, z knihy Erdogan Madenci, Ibrahim Guven, The Finite Element Method and Applications in Engineering Using ANSYS, 2006, ISBN 0 387 28289 0; kapitola 11: Advanced Topics in Ansys.
Možnost používání externích souborů dělá ANSYS velmi všestranným nástrojem. Nejběžnější operace s externími soubory zahrnují:
Tato témata jsou krátce popsána v následující části. Nicméně popis používaných příkazů není kompletní, jsou uvedeny pouze jejich nejčastější zástupci/deklarace. Proto je doporučeno příp. zájemcům podrobnější studium nápovědy systému Ansys. Vstupní soubory jsou v ASCII formátu a obsahují ANSYS příkazy (jeden příkaz na jedné řádce) v pořadí, v jakém mají být vykonány. Vstupní soubory jsou v Ansysu používány pomocí /INPUT příkazu. Běžná deklarace tohoto příkazu je: /INPUT,Fname,Ext kde Fname a Ext jsou cesta k souboru a jeho přípona. Pokud není specifikována cesta, argument Fname obsahuje pouze jméno souboru a soubor je hledán v pracovním adresáři („Working Directory"). Zápis dat do ASCII (textových) souborů Existují dva hlavní důvody, proč zapisovat data do souborů:
Existují dva hlavní příkazy umožňující zápis dat do externího souboru: /OUTPUT a *CFOPEN. Když je vykonán jeden z těchto dvou příkazů, data jsou zapsána do externího souboru použitím *VWRITE příkazu. Tyto soubory jsou podrobněji popsány v následující sekci. /OUTPUT příkaz přesměrovává textový výstup do specifikovaného souboru. Deklarace příkazu je: /OUTPUT,Fname,Ext, ,Loc kde Fname a Ext jsou cesta (název souboru a přípona) a Loc stanovuje, zda začít zápis od začátku souboru (tedy zda má smazat obsah souboru) nebo zda má zápis přidat ke konci souboru. Jestliže je pole Loc necháno bez zápisu, Ansys začne zapisovat data od začátku souboru. Pro připojení na konec souboru je vepsána deklarace Append do pole Loc. Po vykonání /OUTPUT příkazu je text, který se obvykle objevuje ve výstupním okně („Output Window") zapsán do externího souboru. Bezprostředně po zápisu dat do souboru je potřeba přesměrovat textový výstup do výstupního okna („Output Window") příkazem /OUTPUT bez argumentů. Příklad, který zapisuje data do souboru DATA.OUT v pracovním adresáři je ukázán níže: /OUTPUT,DATA,OUT, ,APPEND *VWRITE,CH1,NUM1,NUM2 (A8,2X,F12.8,2X,E13.6) /OUTPUT Lepším způsobem jak zapisovat data do externích souborů je „otevřít příkazové pole" příkazem *CFOPEN. Deklarace je podobná jako u /OUTPUT příkazu se stejnou definicí proměnných: *CFOPEN,Fname,Ext, ,Loc Po vykonání tohoto příkazu je kdykoliv proveden příkaz *VWRITE, čímž jsou data zapsána do souboru. Když je dokončen zápis, může být příkaz ukončen použitím *CFCLOS příkazu. Deklarace *VWRITE příkazu je následující: *VWRITE,Par1,Par2,....,Par19 kde Par1, ...., Par19 jsou uživatelem definované parametry. Řádek příkazu *VWRITE musí být následován definicí formátu uzavřenou v závorkách. Způsob definice formátu je dle FORTRAN syntaxe programovacího jazyka. Používá se pět různých formátovacích popisovačů odkazujících na reálná čísla (tři různé popisovače), charaktery a prázdná místa. Popisovače reálných čísel jsou F, E a D, které mají následující deklaraci: Fw.d Ew.d Dw.d kde w je celkový počet číslic přidělených číslu v souboru (jeho celková „šířka"), a d stanovuje počet desetinných míst(počet číslic na pravé straně od desetinné čárky). Informace zde dané jsou běžné pro FORTRAN překladače používané v operačních systémech MS Windows. Pro překladače jiných OS může být potřeba malá změna, nicméně celkový koncept zůstává stejný. Popisovač F udává reálná čísla bez exponentů zatímco popisovače E a D zapisují s E a D exponenty. Číslo w musí zahrnout návěstí čísla, desetinnou čárku a exponenciální pole. Exponenciální pole, při použití popisovačů E a D, zahrnuje čtyři znaky: jeden pro charakter exponentu E nebo D, další pro návěstí exponentu a dva znaky pro vlastní exponent. Proto, ve formátu užívajícím E a D popisovače, musí být rozdíl (w-d) nejméně 7. Pro specifikování formátu znaku je popisovač A použit s následující deklarací: Aw kde w je celková šířka. Maximální šířka povolená v ANSYSU je 8 číslic. Prázdná místa jsou vložena použitím X popisovače s následující deklarací: wX kde w je celkový počet prázdných míst. Použití popisovačů F, E, D, A, a X je ukázáno dále. Vezměte v úvahu čísla 152.67328199 a -3.251667x106, která jsou uložena v parametru NUM1 a NUM2 a výraz RESULT1 je uložen v parametru CH1 v Ansysu. Toto může být zapsáno do externího ASCII souboru s použitím následujícího příkazu: *VWRITE,CH1,NUM1,NUM2 (A8,2X,F12.8, 2X,E13.6) což produkuje následující výstup v ASCII souboru: Všimněte si dvou věcí: (i) když je dáno více znaků než je délka řetězce, Ansys vloží tolik prázdných míst, kolik je potřeba, tak aby mělo pole stejnou šířku, jaká je specifikována a zarovná řetězec doleva, (ii) když je použit popisovač E nebo D, Ansys umístí 0 na začátek číselného řetězce. Při nahrazení výše popsaného formátu tímto: (A2,1X,F11.8,1X,E13.2) Následující výstup v ASCII souboru je: Poznámka: Když je počet znaků přidělených popisovačem A menší než je aktuální délka řetězce, Ansys řetězec zkrátí. Když je počet znaků přidělených popisovačem F (nebo E nebo D) menší než aktuální délka reálného čísla, Ansys vloží znak „*" tolikrát, kolikrát je specifikován počet znaků. Když je deklarace formátu nahrazena tímto: (A7,1X,E11.4,1X,D14.7] následující výstup v ASCII souboru bude: V některých případech může být vyžadováno vykonání externího souboru (vykonání je myšleno načtení a provedení příkazů zapsaných v daném souboru). V takových případech je použit /SYS příkaz, který zavádí řetězec do spuštěného programu. Jeho deklarace je: /SYS,String kde argument String je příkazový řetězec. Je to jméno spustitelného souboru. Např., když je jméno spustitelného souboru ROOTS.EXE, pak je deklarace příkazu: /SYS,ROOTS.EXE Při vykonání tohoto příkazu, kdy se zpracovává ROOTS.EXE soubor, nedovoluje Ansys vykonání dalších akcí. Jako příklad budeme uvažovat vytvoření časově závislého náhodného teplotního zatížení. V tomto příkladu bude název zavedeného souboru RANDOM.EXE a generování náhodných čísel je pomocí FORTRAN programovacího jazyka. Kód požaduje hodnoty pro pět vstupních parametrů: TOT Celkový čas aplikovaného zatížení. ND Počet bodů (náhodné číslo). MIN Minimální hodnota zatížení. MAX Maximální hodnota zatížení. SEED Vstupní počet generovaných náhodných. Hodnoty těchto parametrů jsou poskytovány vstupním souborem RANDOM.DAT. Poté co kód generuje čísla v rozsahu (MIN, MAX), jsou zapsána do výstupního souboru s názvem RANDOM.OUT. Vstup je jednotně formátován. FORTRAN kód je dán jako:
Následující sekvence příkazů, vykonávána v Ansysu, zapisuje požadovaný vstup do souboru RANDOM.DAT, vykoná příkazy v souboru RANDOM.EXE (umístěny v prac. adresáři), načte čas s odpovídajícím zatížením ze souboru RANDOM.OUT a nakonec zobrazí závislost zatížení a času. Po vykonání příkazů souboru RANDOM.EXE jsou definovány tři parametry pole („array parameters") (*SET příkaz) s jejich rozměrem (*DIM příkaz). Hodnoty zatížení a času jsou uloženy v jednom poli použitím *VREAD příkazu. Nakonec jsou specifikovány názvy os pomocí /AXLAB příkazu a zobrazen výsledek *VPLOT příkazem.
Když je výše uvedený skript, s danými hodnotami parametrů, vykonán v Ansysu, je výsledkem graf zobrazený na obr. 1. ![]() Obr. 1. Závislost hodnot zatížení a času načtených ze souboru RANDOM.OUT. Program Ansys může být použit jako POSTPROCESSOR pro výsledky vypočítané externím programem pomocí DNSOL nebo DESOL příkazu, které vloží tyto výsledky do Ansysu. Deklarace příkazů DNSOL a DESOL jsou: DNSOL,NODE,Item,Comp,V1,V2,V3,V4,V5,V6 DESOL,ELEM,NODE,Item,Comp,V1,V2,V3,V4,V5,V6 kde NODE a ELEM jsou čísla elementů, tedy těch, na kterých jsou specifikovány výsledky, Item a Comp jsou názvy pro specifikované stupně volnosti a V1 až V6 jsou hodnoty výsledků. Pokud je např. y-ové posunutí (Item je U a Comp je Y) v uzlu 12 pozměněno na 2.5, následující příkaz je: DNSOL,12,U,Y,2.5 Podobně, když je smykové napětí v yz-směru (Item je S a Comp je YZ) v uzlu 212 elementu 23 je modifikováno na 1200, následující příkaz bude: DESOL,23,212,S,YZ,1200 Přidat komentář | printer friendly version | 3665 přečtení
( kategorie: + Numerické simulace + - )
|
HledatDoporučujeme |