+ Numerické simulace + -



Utility síťování

    * 1 VGRID
          o 1.1 Instalace
    * 2 TetGen
          o 2.1 Instalace
    * 3 ITK-Snap
          o 3.1  Instalace
    * 4 Odkazy


 

VGRID

SimBio-Vgrid (zkráceně Vgrid) je octree 3D generátor sítě pro nestrukturované mřížky. Jeho hlavní výhody jsou následující:

  • Pracuje přímo nebo po segmentech s 3D obrazy, např. segmentované medicínské CT (počítačová tomografie) nebo MR (magnetická rezonance) obrazy.
  • Generuje jak rovnoměrné hexahedrální, tak nestejnoměrné tetrahedrální sítě
  • Umožňuje vyhlazení hranice u tetrahedrální sítě metodou MT (marching tetrahedra)
  • Umožňuje iterativní vyhlazení vnějších i vnitřních elementů
  • Je velmi rychlý: vytváří síť s 1mil. elementů za půl minuty na běžném PC
  • Nabízí plně automatické generování sítě z příkazové řádky

Instalace

  1. Stáhněte zdrojový kód z výše uvedené stránky, popř. zde.
  2. Pro zpracování snímků z CT a MR je nutné stáhnout ještě zdrojové soubory aplikací VISTA-IO, XMedCon(ver 0.8.13), dcm2v
  3. Jako nástavbu lze doporučit aplikace XMedCon-extra a general mesh viewer (GMV, popř. zde pro x86_64)
  4. Nejprve zkompilujte VGRID. Vznikne binární soubor vgrid v podadresáři "program", který rozkopírujte do svého systému (např. do /usr/bin)
  5. Zkompilujte VISTA-IO. Vytvoří se soubor /usr/local/bin/vistaio-config.
  6. Následně zkompilujte XMedCon. Po kompilaci se aplikace uloží do adresáře (/usr/local/xmedcon). Do souboru /etc/ld.so.conf vložte řádek /usr/local/xmedcon/lib a příkazem ldconfig aktualizujte systémové knihovny. Zároveň vytvořte symbolické odkazy na soubory v adresáři /usr/local/xmedcon/bin nejlépe do adresáře /usr/bin.
  7. Nakonec zkompilujte program dcm2v. Aplikace dcm2v slouží k převodu obrázků formátů DICOM do formátu *.v, který používá VGRID.
    Zaměstnanci úNOD si mohou stáhnout již zkompilovanou verzi jednotlivých programů: VGRID, VISTA-IO, XMedCon, dcm2v


TetGen

TetGen generuje tetrahedrální sítě. Algoritmus použitý v TetGen je typu Delaunay. U 3-D oblastí v závislosti na definici hranice TetGen používá "constrained" (Delaunay) tetrahedralizaci, rovnoměrnou Delaunay tetrahedralizaci a kvalitní Delaunay síť. Pro 3-D množinu bodů je generován tetrahedrální síť s konvexním obalem.

Instalace

  1. Stáhněte zdrojové soubory z výše uvedeného odkazu, nebo zde.
  2. Zkompilujte příkazem make.
    Zaměstnanci úNOD si mohou stáhnout již zkompilovanou verzi programu TetGen zde.

ITK-Snap

SNAP je programová aplikace určená pro segmentaci struktur z 3D medicínských obrazů. Poskytuje polo-automatickou segmentaci na bázi metody aktivní kontury spolu s ručním obrysem a krokováním obrazu. Mimo tyto základní funkce SNAP nabízí řadu doprovodných utilit. Některé z těchto, které jsou ve SNAPu zahrnuty:

SNAP is a software application used to segment structures in 3D medical images. It provides semi-automatic segmentation using active contour methods, as well as manual delineation and image navigation. In addition to these core functions, SNAP provides a number of supporting utilities. Some of the core advantages of SNAP include

  • Připojený kurzor pro hladkou 3D navigaci
  • Ruční segmentace ve třech navzájemn kolmých rovinnách najednou
  • Zjednodušené uživatelské rozhraní pro výběr parametrů metody aktivních kontur
  • Podpora řady 3D obrazových formátů
  • Nástroj 3D řezné roviny pro rychlé zpracování výsledků segmentace
  • Rozsáhlý tutoriál

 Instalace

  1. Stáhněte instalační skript ze stránek tvůrců programu, popř. zde.
  2. Před spuštěním instalačního skriptu je nutné učinit drobné úpravy v systémových knihovnách, tedy pokud budete instalovat na platformě Linux_x86_86 (AMD64/Opetron). Buhužel naše distribuce (OpenSuSE 10.0-kernel_2.6.13-15.-8) na konci procesu kompilace odmítla poskytnout 64bitové knihovny X a veškeré přesvědčování přes LD_LIBRARY_PATH, či parametry gcc (MCPU,...) bylo zbytečné a jako nejúčinější se ukázalo na okamžik kompilace nahradit níže uvedené knihovny z adresáře /usr/X11R6/lib/usr/X11R6/lib adekvátními soubory z adresáře /usr/X11R6/lib/usr/X11R6/lib64. Nyní již můžete spustit instalační skript. Instalace nejvíce závisí na rychlosti připojení. V našem případě celá instalace trvala 3hod. (samotná kompilace trvá cca 20min.-Opteron 2.4GHz)

Byly nahrazeny tyto soubory (vřele doporučuji je někam zazálohovat):

libX11.a
libX11.so
libX11.so.6
libX11.so.6.2
libXext.a 
libXext.so
libXext.so.6   
libXext.so.6.4 
libXft.a       
libXft.so      
libXft.so.1  
libXft.so.1.1  
libXft.so.2 
libXft.so.2.1.2 

    Po instalaci lze nahrazené knihovny vrátit do původního stavu.

    Zaměstnanci úNOD si mohou stáhnout již zkompilovanou verzi  (1.3)  programu ITK-SNAP zde (100MB) či novou verzi (1.4) zde (116MB). Doporučuji rozbalit soubor do adřesáře /usr/local/itk.



Odkazy

DClunie konvertory:  viz autorovy stránky, které obsahují odkazy na aplikace pro konverzi DICOM formátu.
MATLAB příklad obrazové analýzy z DICOM formátu: viz MATLAB file exchange server

 





free FEM řešiče

OBSAH 

CALFEM
FELyX
FEniCS
FreeFem
GETFEM
libmesh
OOFEM
PETSc

CALFEM je interaktivní program pro výuku metody konečných prvků (FEM). Název CALFEM je zkratkou z "Computer Aided Learning of the Finite Element Method". Program lze použít pro různé typy úloh stavební mechaniky a teorie polí.

 

FELyX je objektově orientovaný FE/FEM kód napsaný v C++. Nabízí nejběžnějsí elementy pro mechaniku pevných látek, redukci šířky pásma u matic, rychlý skyline řešič, několik iteračních řešičů a rozhraní do komerčních FEA balíků - ANSYS, ABAQUS.

Výčet některých aplikací tohoto programu:

  • Implementace topologických optimalizačních metod minimální spolehlivosti
  • Simulace tváření tekutých kompositů (LCM) 
  • Specializované formulace elementů pro kompozitní materiály
  • Implementace nového kritéria porušení kompozitních materiálů
  • Implementace nových postupů iteračního řešiče pro speciální účely optimalizace
  • Vytvoření algoritmů provazování sítí pro řešení interakce pevná látka-tekutina
        Zdrojové soubory a dokumentace

FEniCS je novým standardem výpočetního matematického modelování "Computational Mathematical Modeling" umožňujícím formulaci matematických rovnic (modelování) a řešení rovnic (výpočty) v podobě běžného zápisu diferenciálních/integrálních rovnic. Základní rysy tohoto programu jsou následující:

  • automatická diskretizace diferenciálních/integrálních rovnic,
  • automatizace diskrétního řešení,
  • automatizace kontoly chyb řešení,
  • automatizace modelování,
  • automatická optimalizace.

Tento programový systém je velmi rozsáhlý i proto že se nejedná o samostatnou aplikaci, ale kolekci různých programů. Dokumentaci lze nalézt zde.
Poznámka: Budete-li provádět vlastní kompilaci a objeví se Vám chybová hláška "Chybí Xm/Xm.h" potom je nutné nainstalovat balíček Openmotif-devel!!!

FreeFem je implementace programového jazyka zaměřená na řešení metodou konečných prvků. Umožňuje snadno řešit parciální diferenciální rovnice. Úlohy pokrývající několik fyzikálních oborů jako je např. interakce tekutin a pevné látky vyžadují interpolaci dat mezi různými sítěmi a jejich manipulaci v rámci programu. FreeFem zahrnuje rychlou "quadtree" interpolaci a jazyk pro manipulaci s daty na různorodých sítích.

Aktuální manuál k tomuto programu a který se neustále dopisuje najdete zde
Program se spouští příkazem ff3d (3D řešič), resp. ff (2D řešič).
Chcete-li si vyzkoušet již řešené přiklady stáhněte si tento soubor.

GETFEM

Projekt Getfem++ je zaměřen na vývoj původní a efektivní knihovny C++ pro základní konečněprvkové výpočty. Cílem je poskytnout knihovnu umožňující výpočet jakékoliv základní matice (dokonce i pro smíšené konečněprvkové metody) na nejrozsáhlejší třídě metod a elementů a libovolné dimenze (nejenom pro 2D a 3D problémy).

Nabízí úplné oddělení integračních metod (exaktních čí aproximačních), geometrické trasnformace (lineární i nelineární) a konečněprvkové metody libovolného stupně. Může tak významně přispět mnohem integrovanějším konečněprvkovým kódem technicky obtížných základních výpočtů.
Aplikace nabízí propojení s programem MATLAB a skriptovacím jazykem PYTHON.

Zdrojový kód, Dokumentace

Pro tvorbu sítě MKP je nutné před kompilací GETFEM nainstalovat QHULL. Lze také využít alternativní knihovnu BLAS pro rychlejší výpočty např. v podobě programu ATLAS (opět nainstalujte před kompilací GETFEM)

Zkompilovanou verzi pro AMD64/OpenSuSE10.0 lze stáhnout zde, bohužel se mi nepodařilo zkompilovat rozhraní pro Python a MATLAB, rovněž ATLAS není zahrnut. 

Jak pracovat s GetFEM?

1. Stáhněte si přiložený soubor Makefile.am
2. Zaměňte v tomto souboru odkazy ze souboru TestFile.cc na váš zdrojový soubor.
3. Spusťte příkaz automake
4. Spusťte příkaz make

 

libmesh je dalším velmi zajímavou opensource alternativou

Instalace MPICH
  Stáhněte si zdrojové soubory z domovské stránky MPICH

./configure --prefix=/usr/local/mpich |& tee c.log 
make
make install

Stáhnout a nainstalovat g77 (viz. tento GNU projekt, lépe ale sehnat balíčky přímo pro danou distribuci a aktuální verzi gcc. Pro OpenSuSE přidejte do svých zdrojů následující odkaz http://ftp.ale.org/pub/mirrors/opensuse/opensuse/distribution/SL-OSS-factory/inst-source/ popř. http://suse.bifi.unizar.es/opensuse/distribution/SL-10.0-OSS/inst-source/)

Instalace libmesh s podporou petsc 2.3.0, slepc 2.3.0 with MPI enabled (viz zdroj)

su
cd /usr/local
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/libmesh co libmesh
cd libmesh
cd contrib
wget ftp://ftp.mcs.anl.gov/pub/petsc/v2.3.0.petsc.tar.gz popř. wget ftp://ftp.mcs.anl.gov/pub/petsc/petsc-lite.tar.gz a nebo wget ftp://ftp.mcs.anl.gov/pub/petsc/petsc-2.3.1.tar.gz
tar xzf v2.3.0.petsc.tar.gz popř. tar xzf petsc-lite.tar.gz
cd petsc-2.3.0 popř. cd petsc-2.3.1
export PETSC_ARCH=linux
export PETSC_DIR=`pwd`
config/configure.py --with-cc=gcc --with-cxx=g++ --with-mpi-dir=/usr/local/mpich/ \
--with-debugging=1 --download-c-blas-lapack=yes --with-shared=0
popř.
config/configure.py --with-cc=gcc --with-cxx=g++ --download-mpich=yes --with-debugging=1 \
--download-c-blas-lapack=yes --download-f-blas-lapack=yes --download-sowing=yes \
--with-matlab=yes --with-matlab-dir=/usr/local/matlab --download-lgrind=yes \
--download-c2html=yes --download-party=yes --with-shared=1
make
cd ..
wget http://www.grycap.upv.es/slepc/download/distrib/slepc.tgz
tar xzf slepc.tgz
cd slepc-2.3.0
stáhnout patch na slepc [http://www.grycap.upv.es/slepc/download/patches/slepc_patch_all-2.3.0 zde] a pomocí následujícího příkazu opravit
patch -Np1 < slepc_patch_all-2.3.0
export SLEPC_DIR=`pwd`
config/configure.py
pokud používáte vyšší verzi PETSc, je nutné opravit v souboru slep-xxx.xx/include/slepcversion.h číslo verze SLEPc
make
cd ../..
./configure --enable-everything --enable-slepc
make
make run_examples

OOFEM je volný konečně prvkový kód s objektově orientovanou architekturou pro řešení úloh z mechaniky pevných látek a mechaniky tekutin funkční na různých platformách.
Hlavní rysy programu:

  • plně rozšiřitelný - Jádro je rozšiřitelné v jakémkoliv "směru. Je zde možnost přidání nového typu elementu, nového materiálového modelu s libovolným počtem vnitřních parametrů, nových okrajových podmínek, nových numerických algoritmů či nového modulu vlastní analýzy.
  • nezávislá formulace problému, numerického řešení a ukládání dat  - Jádro poskytuje nezávislou abstrakci pro analýzu, obecnou numerickou metodu a ukládání dat (řídké "sparse" matice). Koncept mapování komponent umožňuje formulovat problém a numerickou metodu nezávisle a umožňuje tak použít jakoukoliv vhodnou numerickou metodu pro řešení problému bez dalších/dodatečných změn. Tento koncept je navíc rozšířen o rozhraní abstraktních řídkých "sparse" matic umožňující formulovat numerickou metodu nezávisle na implementaci řídkých matic.
  • plná podpora restartu - Jádro podporuje plný restart z jakéhokoliv předchozího uloženého stavu.
  • stupňová analýza - umožňuje seskupovat základní problémy dohromady a převádět resp. sdílet řešení polí mezi jednotlivými subproblémy. Obecný design umožňuje použití různé diskretizace pro dílčí subproblémy.
  • podpora paralelního zpracování (předávání zpráv) - Jsou poskytovány sbecné třídy pro efektivní doménovou komunikaci  postavenou na abstraktní obecné vrstvě pro knihovny předávání zpráv, které jsou dostupné na mnoha paralelních platformách (distribuované paralelní systémy, systémy se sdílenou pamětí a klastry pracovních stanic).
  • podpora adaptivní analýzy - koncept složených domén. Podpora odhadu chyby s různými kritérii přesíťování, podpora mapování podle vnitřních proměnných. Jsou zaimplementovány Rychlé algoritmy lokalizace souřadnic založených na třech různých technikách.

Zdrojové soubory, Dokumentace

Kompilaci ze zdrojových souborů lze provést v následujících krocích (předpokládá se, že chcete nainstalovat OOFEM do /usr/local/oofem a máte již nainstalovány programy PETSc (/usr/local/petsc) a MPICH (/usr/local/mpich/bin)):

./configure --enable-poofem --enable-petsc --with-PETSCDIR=/usr/local/petsc --with-PETSCARCH=linux-gnu-c-real-debug --prefix=/usr/local/oofem 
make

make install 

PETSc je soubor datových struktur a rutin pro škálované (paralelní) řešení vědeckých aplikací modelovaných parciálními diferenciálními rovnicemi. Využívá standard MPI pro vlastní komunikaci a zpracování zpráv.

Manuál lze stáhnout zde

Aktuální zdrojové soubory najdete na výše uvedených stránkách. Zkompilovanou verzi pro AMD64/OpenSuSE10.0 lze stáhnout zde. Obsah souboru rozbalte do /usr/local

Upozornění: Po rozbalení zkompilovaných souborů, nebo vlastní kompilaci je nutné ručně zařadit knihovnu PETSc do systémových knihoven a to následujícím postupem:

1. do souboru /etc/ld.so.conf vložte na konec souboru řádek

     /usr/local/petsc/lib/linux-gnu-c-real-debug

2. spusťte příkaz ldconfig pro znovunačtení knihoven.

Tento program je základním kamenem mnoha další aplikací viz. např. Libmesh, FreeFEM, FEniCS, OOFEM

 





ANSYS

Návod na instalaci programu ANSYS/Workbench 

    * 1 Konfigurace pro ditribuované výpočty
          o 1.1 Vytvoření účtu pod kterým budou probíhat distrib.výpočty
          o 1.2 Nastavení sítě
          o 1.3 Vytvoření certifikátů pro kryptovanou komunikaci pomocí SSH protokolu
          o 1.4 Zaslání autorizačního klíče z příslušného (nastavovaného) PC ostatním počítačům v clusteru
          o 1.5 Rozkopírování souborů .bashrc, .rhosts, hosts.ccl, hosts100.ans na všechna PC v clusteru. Pozor v každém z těchto souborů je nutné smazat řádek, který označuje pravě nastavované PC
          o 1.6 Konfigurace ANSYSu
          o 1.7 Konfigurační soubor pro extrémně velké úlohy
    * 2 Aktivace odkládacích (swap) souborů
    * 3 Chyba SIGABRT při spouštění aplikace ANSYS Workbench
    * 4 Chyba "Failed determining temp location" při spouštění aplikace ANSYS workbench
    * 5 Spojení aplikace ANSYS Workbench s Microsoft Office
    * 6 Problémy při spouštění ANSYSu

    * 7 Monitorování spuštěné dávkové úlohy  

    * 8 Spuštění dávky ANSYSu v Linuxu  


 

1. Konfigurace pro ditribuované výpočty


Vytvoření účtu pod kterým budou probíhat distrib.výpočty

    useradd -G users -m ansysdds 

Nastavení sítě

a) Všechna síťová rozhraní musí být nakonfigurována pro připojení pomocí DHCP a automaticky se jim přiděluje jméno z DNS serveru b) do souboru /etc/resolv.conf je nutné uvést následující řádky:

search q.mendelu.cz mendelu.cz nod.mendelu.cz 

nameserver 10.7.1.1 

nameserver 195.178.72.150 

nameserver 195.178.72.170 

nameserver 195.178.72.10 

b) V souboru /etc/sysconfig/network/config je nutné změnit hodnotu následující položky

MODIFY_RESOLV_CONF_DYNAMICCALY="no" 

c) provede se restart síťových zařízení

/etc/init.d/network restart 
d) ověří se funkčnost připojení do intranetu NOD
 ping nodN (kde N je číslo od 1..40). 

Např.: ping nod4 ověří připojení PC správce itranetu. Stav připojených PC lze zkontrolovat zde )


Vytvoření certifikátů pro kryptovanou komunikaci pomocí SSH protokolu

 pro vytvoření certifikátů, zaslání autorizačního klíče a rozkopírování potřebných souborů lze použít tento skript

Zaslání autorizačního klíče z příslušného (nastavovaného) PC ostatním počítačům v clusteru.

Pozor!!! Soubor ~/.ssh/authorized_kyes musí mít chmod 600, jinak neustále vyžaduje heslo.

Rozkopírování souborů .bashrc, .rhosts, hosts.ccl, hosts100.ans na všechna PC v clusteru. Pozor v každém z těchto souborů je nutné smazat řádek, který označuje pravě nastavované PC.

Pokud v této fázi selže výše uvedený skript  překopírujte soubor host100.ans do adresáře /home/ansysdds
a soubor hosts.ccl do adresáře /usr/local/cfx/CFX-10.0/config

Konfigurace ANSYSu

a) instalace ANSYSu (s podporou parallel processingu. Pozor! Je nutné mít potřebnou licenci)
b) ověření funkčnosti připojení k licenčnímu serveru.

    ansys100 -p ansysuh -g -d X11c 
c) ověření funkčnosti parserovacího jazyka MPI
mpitest100 
d) vytvořit adresář /home/ansysdds/work s příslušnými právy
mkdir /home/ansysdds/work

chown -R ansysdds:users /home/ansysdds/work <br />

Konfigurační soubor pro extrémně velké úlohy

ANSYS je implicitně nastaven tak aby velmi rychle zvládal řešit průměrné úlohy. Toto nastavení, ale neumožní zavést a zpracovat extrémně velké úlohy (řádově v desítkách GB). Použijte proto soubor config100.ans, který nastavuje ANSYS tak, aby pracoval s velkými objemy dat. Soubor uložte do adresáre /ansys_inc/v100/ansys/apdl

 


2.  Aktivace odkládacích (swap) souborů

Při výpočtu velmi rozsáhlých úloh může být výhodou aktivace swap souborů, které nahrazují nedostatek fyzické paměti RAM. Na serveru jsou připravené 4 odkládací soubory, každý s kapacitou 2GB. Pro jejich aktivaci je nutné napsat v příkazovém řádku:

swapon /work/swapN

kde N=1..4 (např. swapon /work/swap1). Zavedení souboru lze zkontrolovat např. příkazem top, který za položkou swap: udává velikost swapovacího prostoru.


3. Chyba SIGABRT při spouštění aplikace ANSYS Workbench

Tato chyba ač by to od ní asi nikdo neočekával může znamenat ledacos. Nám pomohlo doplnit /etc/hosts, tak aby obsahoval název PC i rozšířený název (tj. 10.1.1.1 head head.woodcluster.cz)
Postupem času a se zvyšující se verzí Workbenche se rozšiřuje i množina opatření aby Workbench v Linuxu vůbec běžel. Takže poslední "záplata", kterou navrhujeme je rozšíření souboru workbench v úvodu o následující řádky:
export LD_LIBRARY_PATH=/ansys_inc/v100/ansys/lib/linop64:/ansys_inc/v100/ansys/syslib/linop64:/ansys_inc/v100/commonfiles/Tcl/lib/linop64
export LD_ASSUME_KERNEL=2.5.6


4. Chyba "Failed determining temp location" při spouštění aplikace ANSYS workbench

Chyba je způsobena faktem, že ANSYS nepočítá s lokalizací jednotlivých OS. Dříve stačilo změnit národní prostředí systému na anglické a WB se rozjelo. Od verze 11 je nutné upravit soubor
C:/Program Files/AISOL/CommonFiles/CommonPages/Languages/en-us/xml/globalPreferences.xml
a soubor
C:/Documents and Settings/<username>/Data aplikací/Ansys/v110/en-us/globalPreferences.xml
tak aby v záhlaví bylo místo původního
<?xml version="1.0"?>
i znaková sada, tedy:
<?xml version="1.0" encoding="ISO-8859-1"?>


5. Spojení aplikace ANSYS Workbench s Microsoft Office

viz článek na http://www1.ansys.com/customer/wb/forum/forum_posts.asp?TID=2020&PN=1


6. Problémy při spouštění ANSYSu

a) chybu "/usr/ansys_inc/v110/ansys/bin/linop64/ansys.e110: error while loading shared libraries: libXm.so.3: cannot open shared object file: No such file or directory" lze vyřešit u distribucí Debian/RHEL/SL/SuSE přejmenováním knihovny /ansys_inc/v110/ansys/syslib/linop64/libXm.so.3_Turbolinux8 na /ansys_inc/v110/ansys/syslib/linop64/libXm.so.3

b) chybu "/usr/ansys_inc/v110/ansys/bin/linop64/ansys.e110: /usr/ansys_inc/v110/ansys/syslib/linop64/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)" lze vyřešit prostým smazáním souboru /usr/ansys_inc/v110/ansys/syslib/linop64/libgcc_s.so.1

 

7. Monitorování spuštěné dávkové úlohy

Na ústavu nauky o dřevě byla vytvořena aplikace Filemonitor, která nahrazuje linuxový příkaz tail. Umožňuje sledovat vybraný soubor a automaticky zobrazovat poslední změny, které se v souboru udály. Vhodný zejmena pro začátečníky ANSYSu, kteří se seznamují s jednotlivými příkazy, popř. každému kdo spouští dávkově jednotlivé úlohy a potřebuje sledovat aktuální změny ve výstupním souboru. Po každé akci v grafickém okně získají odpovídající seznam příkazů, které této akci přísluší, resp. textový obsah souboru, který si veberou pro monitorování při spuštění.

 

8. Spuštění dávky v Linuxu

 

V prostředí Linux lze dávku spustit v příkazové řádce následujícím způsobem:

/ansys_inc/v110/ansys/bin/ansys110 -b -i file.inp -o file.out

–b udává, že ANSYS se má spustit v dávkovém režimu

-i specifikuje vstupní dávku (APDL makro), která bude vstupovat do systému

-o specifikuje výstupní soubor, do kterého se budou vypisovat textové výstupní informace

 
Pokud chce uživatel spustit úlohu v dávkovém režimu na vzdáleném serveru, je výhodné použít příkaz nohup, který zaručí, že i v případě odhlášení od vzdáleného serveru, bude aplikace dále pracovat.

Např. následující příkaz pošle dávku na pozadí a zůstane tam až do ukončení řešení:

nohup /ansys_inc/v110/ansys/bin/ansys110 –b –i file.inp –o file.out &

Ještě mocnější je příkaz screen, který umožní zachovat celý terminál, ve kterém byla úloha spuštěna

Postup:

1.       Přihlašte se v konsoli ke vzdálenému serveru

2.       Spusťte příkaz screen –RRD nazev

Kde název je identifikátor pomocí kterého se budete moci opětovně přihlašovat

3.       Spusťte jakýkoliv příkaz (např. dávku ansysu)

4.       Ukončete konsoli pomocí které jste se přihlásili ke vzdálenému server

5.       Otevřete novou konsoli (třeba i na jiném PC) a opět spusťte příkaz screen –RRD nazev

Jak vidíte aplikace, kterou jste na vzdáleném serveru spustili, stále běží…

Uvedený způsob spouštění dávek v dávkovém režimu je platný pouze pro nativní rozhraní programu ANSYS a nikoliv pro aplikaci Workbench, která implicitně a automaticky řeší všechny úlohy pomocí dávkového režimu.

 





Používání externích souborů v prostředí ANSYS

volně 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.

 Obsah
 

Úvod

Čtení vstupních souborů  

Zápis dat do ASCII

/OUTPUT příkaz

*CFOPEN a *CFCLOS příkazy

*VWRITE příkaz

Vykonání externího souboru

Modifikování výsledků

 

Úvod:

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í:

  • Čtení vstupního souboru.

  • Zápis dat do ASCII (textových) souborů.

  • Čtení dat z textových souborů.

  • Vkládání řetězců příkazů do spuštěného programu.

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.

Čtení vstupních souborů

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ů:

  • Ansys může být použit jako „pre-" a „postprocessor" při zpracování vlastního výpočtu jiným softwarem.

  • Ačkoliv Ansys nabízí řadu možností zobrazení, ne vždy je toto prostředí vhodné pro naše požadavky. V takovém případě může být efektivnější zápis výstupních dat do externího ASCII souboru. Tento soubor pak můžeme zpracovat specializovaným softwarem pro získání požadovaného zobrazení.

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.

...obsah  

/OUTPUT příkaz

/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

...obsah

*CFOPEN a *CFCLOS Příkazy

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.

...obsah

*VWRITE příkaz 

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:

Vykonání externího souboru

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:


REAL(8) NUM,TOT,DT,T,MIN,MAX

INTEGER(4) ND,F,I,SEED

OPEN(1,FILE='RANDOM.DAT')

OPEN(2,FILE='RANDOM.OUT')

READ(1,*) TOT,ND,MIN,MAX,SEED

DT=TOT/ND

T=DT

F=0

AMP=MAX-MIN

NUM=DRAND(SEED)

DO I=1,ND

NUM=MIN+AMP*DRAND(F)

WRITE(2,100) T,NUM

T=T+DT

ENDDO

100 FORMAT(2(E16.8,2X))

END

! REAL VARIABLES

! INTEGER VARIABLES

! DECLARE INPUT FILE

! DECLARE OUTPUT FILE

! READ INPUT

! FIND TIME STEP SIZE

! INITIALIZE TIME

! INITIALIZE RANDOM NUMBER GENERATOR

!FLAG

! FIND LOAD RANGE

! GENERATE RANDOM NUMBER SET

! START LOOP OVER DATA POINTS

! FIND LOAD VALUE

! WRITE TIME AND LOAD VALUES

! UPDATE TIME

! END LOOP OVER DATA POINTS

! FORMAT STATEMENT

! END OF PROGRAM

 

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.

 

/PREP7

TOT=8

ND=160

MN=0

MX=100

SEED=12

/OUTPUT,RANDOM,DAT

*VWRITE,TOT,ND,MN,MX,SEED

(E16.8,2X,F8.0,2X,E10.2,2X,E10.2,2X,F8.0)

/OUTPUT

/SYS,RANDOM.EXE

*SET,ARY

*SET,TIM

*SET,LOAD

*DIM,ARY,ARRAY,2*ND

*DIM,TIM,TABLE,ND

*DIM,LOAD,TABLE,ND

*VREAD,ARY(1),RANDOM,OUT

(2(E16.8,2X))

*DO,I,1,ND

TIM(I)=ARY(2*I-1)

LOAD(I)=ARY(2*I)

*ENDDO

/AXLAB,X,TIME

/AXLAB,Y,LOAD

*VPLOT,TIM(1),LOAD(1)

!Vstup do PREPROCESSORu.

!Definování parametrů.

!

!

!

!

!Přesměrování výstupu do soub. RANDOM.DAT.

!Zápis dat do souboru.

!Deklarace formátování.

!Přesměrování výstupu do okna.

!Vykonání souboru RANDOM.EXE.

!Vytvoření parametru ARY.

!Vytvoření parametru TIM.

!Vytvoření paramtru LOAD.

!Rozměr parametru ARY.

!Rozměr parametru TIM.

!Rozměr parametru LOAD.

!”Naplnit pole ARY z RANDOM.OUT.

!Deklarace formátu.

!Počátek cyklu příkazů.

!Oddělit část pole ARY do TIM.

!a část do LOAD.

!Konec cyklu příkazů.

!Definování názvu X-ové osy.

!Definování názvu Y-ové osy.

!Zobrazení dvou vzájemně závislých polí.

 Když je výše uvedený skript, s danými hodnotami parametrů, vykonán v Ansysu, je výsledkem graf zobrazený na obr. 1.

  Závislost hodnot zatížení a času načtených ze souboru RANDOM.OUT.

Obr. 1. Závislost hodnot zatížení a času načtených ze souboru RANDOM.OUT.

...obsah

Modifikování výsledků

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 V1V6 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

...obsah





Substructuring: Superelements

volně 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.

 Obsah
 

Úvod

Příklad 

Generation Pass

    Model Generation (generování modelu)

    Skript pro generování modelu

    Vytvoření superelementu

    Skript pro vytvoření superelementu

Use Pass

    Skript pro Use Pass

Expansion Pass

    Skript pro Expansion Pass 

Úvod:

Představte si letadlo, jako je na obr. 1 . Detailní konečně prvkový model by mohl obsahovat několik set tisíc stupňů volnosti. Pro zredukování výpočetní náročnosti bez ztráty přesnosti může být soustava rovnic pro ocasní část a křídla vztažena na korespondující uzly („Master DOFs"), viz. obr. 1 . Takto bude velikost soustavy rovnic řešení rovna počtu neznámých stupňů volnosti trupu letadla („main structure"). Když je získáno řešení jsou známy všechny stupně volnosti trupu, včetně Hlavních stupňů volnosti („Master DOFs"). Nakonec je získáno řešení pro ocasní část a křídla s užitím známých Hlavních stupňů volnosti („Master DOFs") jako okrajových podmínek.

Lineární soustava rovnic reprezentující skupinu elementů (a uzlů) může být zhuštěna do menšího systému rovnic, který koresponduje počtu vybraných stupňů volnosti („DOF"). Tento postup je běžně znám jako „Static Condensation" nebo „Substructuring". Výsledná soustava rovnic může být uvažována jako soustava rovnic speciálního elementu, který je nazýván „Substructure" nebo „Superelement". Superelementy jsou k hlavní struktuře připojeny pomocí Hlavních stupňů volnosti („Master DOFs"). Hlavní výhoda substrukturování je, že nám umožňuje řešení složitých, komplexních struktur při redukované výpočetní náročnosti (na CPU a RAM). Další výhodou je, že když se vyskytne problém vyžadující kombinaci materiálů s lineárním a nelineárním chováním, lineární část může být zhuštěna do superelementu, takže jsou přepočítávány pouze rovnice korespondující nelineární části během opakování nelineárního řešení.

Analýza s použitím substrukturování sestává ze třech hlavních kroků:

Generation Pass": (Tvorba) V tomto kroku jsou generovány superelementy. To zahrnuje výběr Hlavních stupňů volnosti („master DOFs), které se nachází na přechodu mezi superelementem a hlavní strukturou. Na konci tohoto kroku je zapsána matice korespondující každému elementu do samostatného souboru v pracovním adresáři.

Use Pass": (Použití) V tomto kroku je generována hlavní struktura. Zároveň jsou do hlavní struktury uvedeny superelementy. Na konci tohoto kroku je získáno řešení pro hlavní strukturu, které zahrnuje i řešení pro Hlavní stupně volnosti („Master DOFs") každého superelementu.

Expansion Pass": (Expanze) Během tohoto kroku je získáno kompletní řešení pro superelement expanzí řešení Hlavních stupňů volnosti („Master DOFs") získaného v předchozím kroku.

 truktura letadla a jeho síťování s rozdělením na čtyři části (tři superelementy a hlavní strukturu).

Obr. 1. Struktura letadla a jeho síťování s rozdělením na čtyři části (tři superelementy a hlavní strukturu).

Užití superelementů je demonstrováno na příkladu analýzy elektronického balíku s lineárním a nelineárním materiálovým chováním.

...obsah  

Příklad:

Elektronický balík zobrazený na obr. 2 . je složen z FR4 podkladu, dvou „solder ball" (pajecí kuličky) a „silicon die" (silikonová matrice). Jak je naznačeno na obr. 2 , tloušťka podkladu a matrice je hs a hd, zbývající tloušťka je hb. Délka matrice a podkladu je l1 a l2. Rozteč „solder ball" je p a průměr těchto kuliček je r. Materiálové vlastnosti kuliček a podkladu jsou v tabulce 1 . Chování pájky („solder") je viskoplastické s užitím Anandova modelu, vlastnosti jsou dány v tab. 10.2 a 10.3. (viz. Použitá literatura). Následující numerické hodnoty parametrů užitých pro analýzu jsou: hs= 2 mm, hb= 0.7 mm, hd= 1 mm, p = 2mm, a r = 0.5 mm. Teplota jako funkce času je zobrazena na obr. 3 . Teplota nezatíženého stavu je 0°C. Teplota celé struktury je nejprve zvýšena na 60°C v čase 120 sekund, následuje zvýšení na 100°C v čase 120 s. Nakonec je celý balík zchlazen, ve stejných intervalech jako byl ohřát. Rovina symetrie je v dána v x-ovém směru. Také posunutí v y-ovém směru je potlačeno v levém spodním rohu. Cílem je vyřešit tento případ s užitím substrukturovací techniky. Obr. 4 . ukazuje superelement a hlavní strukturu. Hlavní stupně volnosti („master DOFs) jsou zobrazeny na obr. 5 .

...obsah

Generation Pass (tvorba):

Tento krok je složen ze dvou hlavních částí: (i) generování modelu a (ii) generování superelementů.

V našem příkladu budou „solder balls" hlavní strukturou a matrice superelement.

 Elektronický balík s FR4 podkladem, „solder balls“ (pajecími kuličkami) a silikonovou matricí.

Obr. 2 Elektronický balík s FR4 podkladem, „solder balls" (pajecími kuličkami) a silikonovou matricí.

Tabulka 1. Vlastnosti použitých materiálů.

Modul Elasticity

(GPa)

Poissonova konst.

CTE

(ppm/°C)

Materiálové ref. číslo

Silikonová matrice

FR4 podklad

163

22.0

0.278

03.90

2.6

18.0

1

2

 Teplotní namáhání jako funkce času.

Obr. 3. Teplotní namáhání jako funkce času.

Superelement a hlavní struktura.

Obr. 4. Superelement a hlavní struktura.

Detail umístění Hlavních stupňů volnosti („master DOFs).

Obr. 5. Detail umístění Hlavních stupňů volnosti („master DOFs).

...obsah

Model Generation (generování modelu):

Materiál pájky je modelován s užitím dvou-dimenzionálních VISCO106 viskoplastických elementů. Pro specifikování teplotní závislosti elastických vlastností je vytvořena teplotní tabulka užitím MPTEMP příkazu, následovaného specifikací vlastností užitím MPDATA příkazu. Povšimněte si, že teplota je definována v Kelvinech, Anandovy viskoplastické vlastnosti jsou definovány užitím TB a TBDATA příkazů. Pro to, aby měly uzly na hranici mezi superelementem a hlavní strukturou stejná čísla (pro zajištění kontinuity) je generován celý model (viz. Obr. 4 .) a uložen jako SUB1.DB. Poté jsou elementy (a související uzly) pájky smazány (užitím EDEL a NDEL příkazů) ponechávajíce pouze síť superelementu.

...obsah

Skript pro generování modelu:

/FILNAME,GEN

/PREP7

ET,1,PLANE42

ET,2,VISCO106

KEYOPT,2,5,2

MPTEMP

MPTEMP,1,238.15,258.15,278.15

MPTEMP,4,298.15,323.15,348.15,373.15,398.15

MP,EX,1,163E3

MP,NUXY,1,0.278

MP,ALPX,1,2.6E-6

MPDATA,EX,2,1,40781,37825,34884

MPDATA,EX,2,4,31910,28149,24425,20710,16942

MPDATA,NUXY,2,1,0.354,0.3565,0.36

MPDATA,NUXY,2,4,0.3628,0.365,0.37,0.3774,0.3839

MPDATA,ALPX,2,1,2.43E-5,2.45E-5,2.47E-5

MPDATA,ALPX,2,4,2.48E-5,2.50E-5,2.53E-5,2.55E-5,2.58E-5

MP,EX,3,22E3

MP,NUXY,3,0.39

MP,ALPX,3,18E-6

TB,ANAND,2

TBDATA,1,12.41,9400,4E6,1.5,0.303,1379

TBDATA,7,13.79,0.07,1.3

HS=2

HB=0.7

HD=1

R=0.5

P=2

L1=5

L2=10

R1=SQRT(R**2-(HB/2)**2)

CYL4,P/2,HS+HB/2,R

CYL4,3*P/2,HS+HB/2,R

BLC4,0,0,L2,HS

BLC4,0,HS+HB,L1,HS

ASEL,S,,,1,2

CM,A1,AREA

ASEL,S,,,3,4

CM,A2,AREA

ALLSEL

ASBA,A1,A2,,,KEEP

AGLUE,ALL

ESIZE,0.1

AMESH,ALL

ASEL,S,LOC,Y,HS/2

ESLA,S

EMODIF,ALL,MAT,3

ASEL,S,LOC,Y,HS+HB/2

ESLA,S

EMODIF,ALL,MAT,2

EMODIF,ALL,TYPE,2

ALLSEL

MODMSH,DETACH

SAVE,SUB1,DB

ESEL,S,MAT,,2

EDEL,ALL

NDEL,ALL

ETDELE,2

ALLSEL

FINISH

!Specifikování názvu souboru jako GEN.

!Vstup do PREPROCESSORu.

!Element typ 1 je PLANE 42.

!Element typ 2 je VISCO106.

!Nastavení elementu jako plastického.

!Definování teplotní tabulky.

!Specifikace teplot (v Kelvinech).

!

!Modul elasticity silikonové matrice.

!Poissonova konst. silikonové matrice.

!CTE (koeficient tepelné roztažnosti) sil. m.

!Modul el.asticity "solder balls".

!

!

!

!

!

!Modul elasticity FR4 podkladu.

!

!

!Anandův viskoplastický model pro "solder ball".

!Specifikace Anand. modelu.

!

!Tloušťka podkladu.

!

!Tloušťka matrice.

!Poloměr kuliček.

!Rozteč kuliček.

!Délka matrice.

!Délka podkladu.

!

!Vytvoření "solder ball".

!

!Vytvoření podkladu.

!Vytvoření matrice.

!Výběr ploch pro "solder balls".

!Vytvoření komponent (skupiny) ploch.

!Výběr ploch matrice a podkladu.

!

!

!Substrakce ploch s ponecháním odečtených pl.

!Slepení všechny plochy.

!Specifikace velikosti elementu.

!Síťování ploch.

!Výběr ploch podle pozice.

!Výběr elementů dotýkajících se plochy.

!Změna materiálových vlastností.

!

!

!

!Změna typu elementu.

!

!Oddělit model od sítě.

!Uložit jako SUB1.DB.

!Výběr elementů dle materiálu (solder balls).

!Smazat vybrané elementy.

!Smazat "volné" uzly.

!Smazat typ elementu (VISCO106).

!

!Výstup z preprocessoru.

...obsah

Vytvoření superelementu:

Typ analýzy je specifikován jako „Substructuring". To nám zajistí vytvoření souboru superelementu (GEN.SUB) v pracovním adresáři při užití příkazu SOLVE. Jméno superelementu je specifikováno SEOPT příkazem. Dotykové uzly mezi hlavní strukturou a superelementem jsou definovány jako Hlavní stupně volnosti „Master Degrees of Freedom" užitím M příkazu (viz. obr. 5 .). Po definování posunutí (D příkazem) a tepelného zatížení (BFUNIF příkaz), je substruktura uložena v souboru GEN.DB, což je nutné pro expanzi řešení pro superelement po získání výsledků hlavní struktury. Obr. 6 . nám ukazuje superelement s vyznačenými dotykovými uzly.

 Síť superelementu s vyznačenými dotykovými uzly.

Obr. 6. Síť superelementu s vyznačenými dotykovými uzly.

Ačkoliv superelement obsahuje pouze materiály s lineárním chováním, musí být vloženy časové hodnoty se souvisejícím tepelným zatížením (viz. obr. 3 .). Toto je zajištěno TIME příkazem. Teplota „bez napětí" je definována TREF příkazem. Vektory zatížení korespondující každému kroku zatížení jsou opakovaně získávány SOLVE příkazem při změnách hodnoty času.

...obsah

Skript pro vytvoření superelementu:

/SOLU

ANTYPE,SUBSTR

SEOPT,GEN

NSEL,S,LOC,Y,HS+HB

NSEL,R,LOC,X,P/2-R1,P/2+R1

CM,N1,NODE

NSEL,S,LOC,Y,HS

NSEL,R,LOC,X,P/2-R1,P/2+R1

CM,N2,NODE

NSEL,S,LOC,Y,HS+HB

NSEL,R,LOC,X,3*P/2-R1,3*P/2+R1

CM,N3,NODE

NSEL,S,LOC,Y,HS

NSEL,R,LOC,X,3*P/2-R1,3*P/2+R1

CM,N4,NODE

ALLSEL

CMSEL,S,N1,NODE

CMSEL,A,N2,NODE

CMSEL,A,N3,NODE

CMSEL,A,N4,NODE

M,ALL,ALL

ALLSEL

NSEL,S,LOC,X,0

D,ALL,UX,0

NSEL,R,LOC,Y,0

D,ALL,ALL

ALLSEL

TREF,273.15

BFUNIF,TEMP,333.15

TIME,120

SAVE

SOLVE

BFUNIF,TEMP,373.15

TIME,240

SOLVE

BFUNIF,TEMP,333.15

TIME,360

SOLVE

BFUNIF,TEMP,273.15

TIME,480

SOLVE

FINISH

!Vstup do řešiče.

!Nastavení typu analýzy na substrukturovou.

!Definování jména superelementu.

!Výběr kontaktních uzlů.

!Vytvoření komponent (skupin) vybraných uzlů.

!

!

!

!

!

!

!

!

!

!

!

!Výběr komponentu N1.

!Přidání komponentu N2 do výběru.

!

!

!Definování Hlavních uzlů volnosti („Master DOF").

!

!Výběr uzlů podle umístění.

!Definování posunutí v X-směru.

!

!Definování posunutí ve všech směrech.

!

!Definování teploty, při které je model bez napětí.

!Rovnoměrný vzrůst teploty na 333,15 K.

!Čas do konce zatížení.

!Uložení databáze do GEN.DB pro krok expanze.

!Výpočet - vytvoření souboru GEN.SUB, který obsahuje matici superelementu a vektor zatížení pro 1.krok.

!

!

!

!

!

!

!

!

!

!Ukončení řešiče.

...obsah

Use pass (použití):

V tomto bodě obsahuje náš pracovní adresář soubor se superelementem GEN.SUB. Hlavní struktura je vytvořena načtením SUB1.DB souboru a eliminací elementů (a souvisejících uzlů) korespondujících podkladu a silikonové matrici („silicon die"). Třetí typ elementu je definován jako MATRIX50, a je využíván pro superelementy. Soubor superelementu GEN.SUB je načten s využitím SE příkazu, po kterém je získáno zobrazení elementů (EPLOT příkaz) pro ověření umístění superelementu. V části řešení (kroku Použití - „Use pass") je aplikováno termální zatížení pro hlavní strukturu, následováno načtením vektoru zatížení korespondujícímu prvnímu zatížení užitím SFE příkazu se SELV deklarací. Nakonec je získáno řešení pro hlavní strukturu. Tento postup je opakován pro zatížení 2 až 4. Obr. 7 . nám ukazuje hlavní strukturu s označenými dotykovými uzly.

  Síť hlavní struktury s označenými dotykovými uzly.

Obr. 7. Síť hlavní struktury s označenými dotykovými uzly.

...obsah

Skript pro Use pass:

/CLEAR

/FILNAME,USE

RESUME,SUB1,DB

/PREP7

ET,3,MATRIX50

ESEL,U,MAT,,2

EDEL,ALL

NDEL,ALL

ALLSEL

TYPE,3

SE,GEN

EPLOT

ALLSEL

FINISH

/SOLU

NLGEOM,ON

KBC,0

AUTOTS,ON

ESEL,S,TYPE,,3

*GET,SENUM,ELEM,0,NUM,MAX

ALLSEL

TREF,273.15

BFUNIF,TEMP,333.15

SFE,SENUM,1,SELV,,1

TIME,120

DELTIM,10,1,10

SAVE

SOLVE

BFUNIF,TEMP,373.15

TIME,240

SFE,SENUM,2,SELV,,1

SOLVE

BFUNIF,TEMP,333.15

TIME,360

SFE,SENUM,3,SELV,,1

SOLVE

BFUNIF,TEMP,273.15

TIME,480

SFE,SENUM,4,SELV,,1

SOLVE

FINISH

/POST1

PLNSOL,NL,PLWK

FINISH

!Vyčištění databáze.

!Pojmenování pracovního souboru jako USE.

!Načtení ze souboru SUB1.DB.

!Vstup do Preprocessoru.

!MATRIX50 je typ elementu pro superelement.

!Od-výběr dle materiálu (pájky - "solder").

!Smazání všech vybraných elementů.

!Smazání vybraných uzlů.

!

!Přepnutí do typu elementu 3.

!Načtení superelementu.

!Zobrazení elementů pro ověření jejich umístění.

!

!

!Vstup do řešiče.

!Nastavení nelineární geometrie.

!Interpolování zatížení mezi jednotl. kroky zatíž.

!Zapnutí automat. čas. krokování.

!Výběr superelementu.

!Přiřazení vybr. elementu parametr SENUM.

!

!Specifikace teploty s nulovým zatížením.

!Zvýšení rovnoměrné teploty na 333.15 K.

!Načtení zatěž. vektoru 1 do superelementu.

!Nastavení délky kroku zatěžování.

!Nastavení časového kroku.

!Uložení databáze do USE.DB

!Získání řešení pro krok 1.

!

!

!

!

!

!

!

!

!

!

!

!

!Ukončení řešiče.

!Vstup do postprocessoru.

!Zobrazení výsledků.

!

Řešení obsahuje všechny výsledky pro hlavní strukturu, včetně stupňů volnosti uzlů na stykových plochách mezi hlavní strukturou a superelementem. Výsledky stupňů volnosti pro superelement je také uložen v USE.DB souboru, který je užit v třetím kroku, „Expansion Pass". Obr. 8 . zobrazuje rozložení plastické práce („plastic work") na konci čtvrtého zatěžujícího kroku.

 Rozložení plastické práce („plastic work“) na konci čtvrtého kroku.

Obr. 8. Rozložení plastické práce („plastic work") na konci čtvrtého kroku.

...obsah

Expansion Pass (expanze):

Pro získání celého řešení je nejprve smazána databáze a následně načten soubor Gen.DB (RESUME příkaz). Expanze je provedena pomocí EXPASS příkazu. Jména souborů superelementů (GEN.SUB) a souborů obsahujících řešení superelementů (USE.DSUB) jsou deklarována SEEXP příkazem. Příkaz EXPSOL je užit pro získání řešení v různých časových hodnotách (zatěžujících krocích).

...obsah

Skript pro Expansion Pass: 

/CLEAR

/FILNAME,GEN

RESUME

/SOLU

EXPASS,ON

SEEXP,GEN,USE

EXPSOL,,,120

SOLVE

EXPSOL,,,240

SOLVE

EXPSOL,,,360

SOLVE

EXPSOL,,,480

SOLVE

FINISH

/POST1

SET,LAST

PLNSOL,S,Y,2

PLNSOL,S,XY,2

FINISH

!Vyčistění databáze.

!Pojmenování pracovního souboru jako GEN.

!Načtení z GEN.DB.

!Vstup do řešiče.

!Zapnutí expanze.

!Deklarace jmen souborů.

!Zadání délky zatěžujícího kroku.

!Řešení.

!

!

!

!

!

!

!Ukončení řešiče.

!Vstup do postprocessoru.

!Nastavení výsledků pro poslední krok.

!Zobrazení rozložení napětí v Y-ovém směru.

!Zobrazení rozložení napětí v XY-ovém směru.

!

 Zobrazení rozložení normálového napětí na konci čtvrtého kroku.

Obr. 9. Zobrazení rozložení normálového napětí na konci čtvrtého kroku.

Zobrazení rozložení Shearova napětí na konci čtvrtého kroku.

Obr. 10. Zobrazení rozložení smykového napětí na konci čtvrtého kroku.

  ...obsah





Submodeling

volně 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.

 obsah
 

Úvod

Teorie

Příklad

    Analýza globálního modelu

    Skript pro globální model

    Analýza submodelu

    Skript pro submode  

Úvod:

Submodeling je metoda používaná pro získání přesnějších výsledků ve specifické oblasti. Vyžaduje existující model, který je pojmenován „globální model" a korespondující řešení. Globální model používá hrubé síťování pro minimalizaci výpočetní náročnost. Oproti tomu je na submodel použita mnohem jemnější síť pro zvýšení přesnosti výpočtu. Převod výsledků ze submodelu do globálního modelu je zajištěn okrajovými podmínkami aplikovanými na submodel.

Teorie:

Představte si ozubené kolo jako je na obr. 1. Pokud je naším největším zájmem znát hodnotu intenzity napětí v regionu viz. obr. 1., pak samostatný konečně prvkový model (submodel) tohoto regionu je generován s mnohem jemnějším síťováním. Hranice submodelu, které nejsou externí hranice globálního modelu („external boundaries") jsou nazvány „řezné hranice" („Cut boundaries"). Výsledné stupně volnosti z globálního modelu jsou interpolovány jako okrajové podmínky na řeznou hranici. Okrajové podmínky na externích hranicích submodelu musí být stejné jako ty, které byly použity na Globálním modelu. Řezné hranice se nemusí shodovat s globálními elementovými hranicemi.

Síťování Globálního modelu a Submodelu.

 

Obr. 1. Síťování Globálního modelu a Submodelu.

Typické kroky pro analýzu s využitím submodelu sestává z:

  • Vytvoření globálního modelu a získání výsledků.

  • Uložení globálního modelu a jeho řešení.

  • Vytvoření submodelu a jeho uložení.

  • Výběr uzlů podél řezných hranic a jejich zápis do souboru.

  • Vyvolání globálního modelu.

  • Znovu-načtení výsledků globálního modelu.

  • Interpolace na řeznou hranici (zápis okrajových podmínek do souboru s uzly řezné roviny.

  • Znovu-načtení submodelu.

  • Načtení souboru s podmínkami uzlů řezné roviny.

  • Zatížení (zatížení tělesa a/nebo podmínek podél externích hranic).

  • Získání řešení submodelu.

Následuje příklad submodelové analýzy desky s kruhovým otvorem, na kterém je demonstrováno, jak správně použít submodel do analýzy.

...obsah  

Příklad:

Tenká čtvercová plocha (10×10 in) s kruhovým otvorem (o poloměru 2.5 in) je namáhána stejnoměrným tahovým napětím (100 psi) ve vertikálním směru podél její horní hrany. Uchycena je na spodní hraně (viz. obr. 2 ). Protože je deska tenká a namáhána rovinným zatížením, je možná plošná idealizace napětí. Materiálové vlastnosti jsou: Modul pružnosti E=10×106 psi a Poissonova konstanta ν=0.25. Úkolem je vytvořit analýzu s použitím submodelingu v okolí kruhového otvoru pro zjištění přesnějších výsledků.

Plocha s kruhovým otvorem stejnoměrně tahově namáhána.  

Obr. 2. Plocha s kruhovým otvorem stejnoměrně tahově namáhána.

 ...obsah

Analýza globálního modelu:

Pokud chceme, aby naše submodelová analýza byla úspěšná, je nutné specifikovat název pracovního souboru („jobnames") jak pro globální model, tak i pro submodel (použitím /FILNAM příkazu).

V našem příkladě je globální model specifikován jako GLO. Poté co je získáno řešení globálního modelu je použit příkaz SAVE, který ukládá jak model, tak i řešení.

...obsah

Skript pro globální model:

/FILNAM,GLO

/PREP7

ET,1,PLANE42

MP,EX,1,10E6

MP,NUXY,1,0.25

RECTNG,0,5,0,5

PCIRC,2.5

ASBA,1,2

CSYS,1

LSEL,S,LOC,X,2.5

LESIZE,ALL, , ,8

CSYS

ALLSEL

LESIZE,ALL, , ,4

LCCAT,2,3

MSHKEY,1

AMESH,ALL

ARSYM,X,ALL

ARSYM,Y,ALL

NUMMRG,ALL

FINISH

/SOLU

NSEL,S,LOC,Y,-5

D,ALL,ALL

NSEL,S,LOC,Y,5

SF,ALL,PRES,-1000

ALLSEL

SOLVE

SAVE

FINISH

/POST1

PLNSOL,S,Y

FINISH

!Přejmenování pracovního souboru na GLO.

!Vstup do PREPROCESSORu.

!Použít PLANE42 jako element typ 1.

!Specifikace mat. vlastností, (Modul pruž.)

!a poissonovy konst.

!Vytoření obdélníku.

!Vytvoření kruhové plochy.

!Odečtení ploch.

!Přepnutí do globálního cylindrického SS.

!Výběr úseček podle umístění.

!Počet rozdělení úseček.

!Přepnutí do globálního kartézského SS.

!

!

!Zřetězit úsečky 2 a 3.

!Užít "MAPPED" síťování.

!Síťovat všechny plochy.

!Zrcadlit síťované plochy podle YZ-roviny.

!Zrcadlit síťované plochy podle XZ-roviny.

!Sloučit všechny zdvojené entity.

!Ukončit PREPROCESSOR.

!Vstup do řešiče.

!Vybrat uzly podle umístění.

!Okrajové podmínky na vybrané uzly.

!

!Zatížení na vybrané uzly.

!

!Řešit.

!Uložit model a výsledek.

!Ukončit řešící processor.

!Vstup do POSTPROCESSORu.

!Zobrazit rozložení napětí v y-směru.

!Ukončit POSTPROCESSOR.

...obsah

Analýza submodelu:

Na části modelu je vytvořena jemnější síť. Na obr. 2 je uzavřena čárkovanou čarou, obklopující submodel. Obr. 3 zobrazuje síť globálního modelu a region, kde je vytvořen submodel. Zjemněná síť pro submodel je zobrazena na obr. 4 . Jméno pro submodel je v našem případě „SUB". Všechny úsečky kromě čáry ohraničující kruhovou plochu jsou řezné hranice. Po vytvoření sítě pro submodel jsou vybrány uzly na řezné hranici a zapsány do externího ASCII souboru (SBS.NOD) s použitím „NWRITE" příkazu. Následně je model uložen („SAVE" příkaz). Interpolace řezných hranic může být provedena s využitím hraničních uzlových bodů ze souboru SBS.NOD a výsledku řešení globálního modelu (ze souboru GLO.RST). Pro tento účel je načten globalní model (RESUME příkaz) a jsou načteny výsledky.

Interpolace řezných hranic je provedena příkazem CBDOF, který zapíše interpolované výsledky okrajových podmínek (v našem případě do souboru SBS.CBD). Submodel je následně zatížen a SBS.CBD soubor je načten jako vstup.

Napětí v y-směru z globálního modelu a submodelu jsou zobrazena na obr. 5 .

Síť pro globální model (vlevo) a umístění submodelu (vpravo).

Obr. 3. Síť pro globální model (vlevo) a umístění submodelu (vpravo).

Síť submodelu (překrytý na globálním modelu).  

Obr. 4. Síť submodelu (překrytý na globálním modelu).

 Napětí v y-směru získané z globálního modelu a submodelu vztažené k x-souřadnicím.

Obr. 5. Napětí v y-směru získané z globálního modelu a submodelu vztažené k x-souřadnicím.

...obsah

Skript pro submodel:

/CLEAR,START

/FILNAM,SUB

/PREP7

ET,1,PLANE42

MP,EX,1,10E6

MP,NUXY,1,0.25

RECTNG,0,3,0,3

PCIRC,2.5

ASBA,1,2

LESIZE,9, , ,10

LESIZE,10, , ,10

LESIZE,5, , ,40

LESIZE,2, , ,20

LESIZE,3, , ,20

LCCAT,2,3

MSHKEY,1

AMESH,ALL

NSEL,S,LOC,Y,0

NSEL,A,LOC,X,0

NSEL,A,LOC,Y,3

NSEL,A,LOC,X,3

NWRITE,SBS,NOD

ALLSEL

SAVE

FINISH

RESUME,GLO,db

/POST1

FILE,GLO,rst

CBDOF,SBS,NOD, ,SBS,CBD

FINISH

RESUME,SUB,db

/SOLU

/INPUT,SBS,CBD

SOLVE

FINISH

/POST1

PLNSOL,S,Y

!Vyčistit databázi a začít nový.

!Změnit jméno prac. soub. na SUB.

!Vstup do PREPROCESSORu.

!Použít PLANE42 jako element typ 1.

!Definování materiálové vlast. (EX)

!Definování Poissonovy konst.

!Vytvořit obdélník.

!Vytvořit kruh.

!Odečíst kruh z obdélníku.

!Specifikování počtu rozdělení úsečky.

!

!

!

!

!Zřetězit úsečky 2 a 3.

!Užít "MAPPED" síťování.

!Síťovat všechny plochy.

!Vybrat uzly podle umístění.

!Dovybrat úsečky podle umístění.

!

!

!Uložit uzly do souboru "SBS.NOD".

!

!

!

!Načíst soubor "GLO.DB".

!Vstup do POSTPROCESSORu.

!Deklarace výstupního souboru.

!Provést interpolaci řezných hranic.

!Ukončit POSTPROCESSOR.

!Načíst soubor "SUB.DB".

!Vstup do řešiče.

!Načíst okrajové podmínky řezné hranice.

!Řešit.

!Ukončit řešič.

!Vstup do POSTPROCESSORu.

!Zobrazit rozložení napětí v y-směru.

...obsah





Coupled Degrees of Freedom (Sdružené stupně volnosti)

volně 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.

V určitých inženýrských problémech může být známo chování některých neznámých stupňů volnosti. Například, u určitý uzlů („nodes") může být očekáváno stejné posunutí v určitém směru. Tohoto chování může být využito pro výpočet přesného řešení s minimem vstupních výpočtů. Jestliže je u několika bodů očekávána stejná neznámá hodnota, mohou být tyto body sdruženy. Užití sdružených bodů je objasněno na následujícím příkladu: dlouhý, dutý válec vystavený vnitřnímu tlaku (viz. Obr. 1 ).

Tento problém může být vyřešen dvěma rozdílnými přístupy: (i) idealizací plošné poměrné deformace, (ii) osovou symetrií. Užití idealizace plošné poměrné deformace zahrnuje síťování v x-y ploše a nevyžaduje uložení dalšího omezení. Obr. 2 ukazuje model plošné poměrné deformace s aplikovanými okrajovými podmínkami (je použita čtvrteční symetrie).

Při užití osové symetrie je síť (mesh) generována v x-z ploše, jak je vidět na Obr. 3 . Podél levé vertikální hranice je specifikován vnitřní tlak. Na základě charakteru definovaného problému, je známo, že z tové posunutí x-y plochy je stejnoměrné, ale jeho hodnota je neznámá. Tato podmínka je zavedena vázáním posunutí podél spodní hranice a sdružením posunutí v z směru bodů podle vnějšího povrchu.

 Dlouhý, dutý válec namáhaný vnitřním tlakem.

Obr. 1 Dlouhý, dutý válec namáhaný vnitřním tlakem.

 

 Idealizace plošné poměrné deformace s užitím okrajových podmínek.

Obr. 2 Idealizace plošné poměrné deformace s užitím okrajových podmínek.

 Osově souměrný model s aplikovanými okrajovými podmínkami.

Obr. 3 Osově souměrný model s aplikovanými okrajovými podmínkami.

Oba způsoby, Idealizace plošné poměrné deformace i model s užitím osové souměrnosti, jsou správné. Řešení získané použitím Idealizace plošné poměrné deformace má stejné výsledky v obvodovém směru (při zobrazení v cylindrickém souřadném systému). Ačkoliv oba modely mohou mít podobné množství uzlů, přesnost výsledku v radiálním směru získaná řešením s osovou souměrností je mnohem vyšší než při užití řešení Idealizací plošné poměrné deformace.

Nastavení sdružených stupňů volnosti je definováno užitím CP příkazu, který má následující deklaraci:

CP, NSET, Lab, NODE1, NODE2,...., NODE17

kde NSET je číslo sdruženého stupně volnosti, Lab je název stupně volnosti (např. UX, UY, atd.) a NODE1NODE17 jsou body, které mají být sdruženy. Je běžné, nejprve vybrat body, které chceme sdružit a následně napsat ALL místo argumentu NODE1. Například z-posunutí všech bodů při y=1 je sdružené, použitím následujícího příkazu:

NSEL,S,LOC,Y,1

CP,1,UZ,ALL

Soubor sdružených stupňů volnosti nesmí zahrnovat žádný stupeň volnosti, specifikovaný jako okrajovou podmínku; musí být neznámé.





Statistická analýza dat v aplikaci R

Statistická analýza dat v R

Hanuš Vavrčík (vavrcik@mendelu.cz)

 

V tomto tutorialu se dozvíte, co je jazyk R a jak jej využít při statistické analýze dat. Nebude chybět ani postup pro vytváření různých grafů.





Constraint Equations (Vazební rovnice)

volně 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.

 Obsah
 

Teorie

Příklad 

Skript

Výsledky  

Teorie:

Sdružené stupně volnosti, popsané v předchozím článku jsou podskupinou vazebních rovnic. Když se sdružují dva stupně volnosti, tedy x-posunutí bodů 2 a 4, je vazební rovnice:

u_{x}^{2}-u_{x}^{4}=0

 

V Ansysu je možné specifikovat více vazebních rovnic. Zápis těchto rovnic je potom:

c_{0}=\sum_{i=1}^{N}c_{i}u_{j}^{(i)}

kde ci (i=0,...,N) jsou koeficienty konstant, uj(i) označují stupně volnosti v bodě i v j-směru (j=x, y, z) a N je počet stupňů volnosti zapojených do vazební rovnice. Vazební rovnice jsou specifikovány použitím „CE" příkazu s následující deklarací:

CE,NEQN,CONST,NODE1,Lab1,NODE2,Lab2,C2,NODE3,Lab3,C3

kde NEQN je referenční číslo vazební rovnice, CONST, C1, C2 a C3 jsou koeficienty ci z rov. (2); NODE2, NODE2, a NODE3 označují číslo uzlu zapojeného do vazební rovnice; a nakonec, Lab1, Lab2 a Lab3 jsou názvy stupňů volnosti. Použití tohoto příkazu je vysvětleno v příkladu.

Představte si 5 uzlů rozmístěných dle obr. 4 . Zaveďme předpoklad, že bude x ové posunutí těchto uzlů očekáváno v anti-symetrickém směru. Z toho můžeme vyvodit dvě vazební rovnice:

Ekvivalentní vstupní příkaz s použitím CE příkazu je:

CE,1,0,1,UX,1,5,UX,-1

CE,2,0,2,UX,1,4,UX,-1

Použití vazebních rovnice je zvláště užitečné pokud je potřeba zohlednit pevné spojení mezi dvěmi oddělenými regiony. Jako ideální příklad pro definování pevných vazeb může posloužit modelování sendvičových desek, kdy je jádrová deska překryta dvěmi tenkými povrchovými deskami. V tomto případě jsou povrchové desky modelovány za použití skořepinových („Shell") elementů a jádro s použitím hranolových elementů(solid brick"), jak je ukázáno na Obr. 5 .

 

Obr. 4 Pět rovnoměrně rozmístěných uzlů s očekávaným antisymetrickým posunutím.

Skořepinové elementy implicitně umisťují uzly do středu desky. Jestliže byly uzly skořepinových elementů sdíleny s hranolovými („solid bricks") elementy, polovina elementů povrchové desky ve směru její tloušťky zasahuje do hranolových elementů („solid bricks"), tedy vytváří špatnou reprezentaci aktuální struktury. Použitím skořepinových elementů („shell") jejíchž středová rovina je posunuta ve smyslu pevnostních vazeb odstraňuje tento problém.

Pevnostní vazby jsou specifikovány užitím „CERIG" příkazu s následující deklarací:

CERIG,MASTE,SLAVE,Ldof,Ldof2,Ldof3,Ldof4,Ldof5

kde MASTE a SLAVE jsou čísla uzlů pro hlavní a podružné uzly a Ldof,...,Ldof5 jsou stupně volnosti. Když je vazba specifikována, je do systému rovnic zahrnut pouze hlavní uzel, který se nazývá „master node", zbývající uzly jsou nazývány „slave node". Parametr Ldof je nahrazován třemi argumenty, ALL, UXYZ a RXYZ, a navíc obvyklé označení stupňů volnosti (UX, UY, UZ, ROTX, ROTY a ROTZ). Použití „CERIG" příkazu je demonstrováno na příkladu sendvičové desky namáhané tlakem v příčném směru.

 ...obsah

Příklad:

Skladba sendvičové desky s povrchovými vrstvami a jádrem je znázorněna na Obr. 6 . Středová rovina sendvičové desky se shoduje s x, y rovinou referenční konstrukční roviny. Jak je vidět na obr. 6, panel má jednotnou tloušťku 2h. Tloušťka jádra a povrchových vrstev je označena hc a hf. Panel má čtvercovou rovinnou geometrii popsanou jako 2a=2b=6 in. Povrchové vrstvy mají stejnou tloušťku hc=0.5 in. Povrchové vrstvy jsou homogenní, elastické a ortotropní. Modul elasticity a Poissonovy konstanty jsou definovány s ohledem na referenční rámec jako Exx=Eyy=9.58×106 psi, Ezz=1.66×106psi, Gxy=709×103 psi, Gyz=Gxz=731×103 psi,νxy=0.033 a νyzxz=0.352. Jádro je izotropní s Youngovým modulem Ec=18.5×103 psi a Poissonovou konstantou νc=0.3.

Panel je na válcových podpěrách podél všech hran a je namáhán silou o hodnotě 1000 psi ve směru z, rozloženou na ploše 2×2 in umístěné uprostřed spodního povrchu panelu. Je zde aplikována x-ová a y-ová symetrie v bodě x=0 a y=0.

 

Obr. 5 Sendvičový panel a korespondující konečně prvkový model používající pevnou vazbu mezi skořepinovými a hranolovými elementy.

 

Obr. 6 Sendvičový panel při zatížení.

...obsah  

 Skript:

/PREP7

ET,1,99

KEYOPT,1,5,2

KEYOPT,1,8,1

KEYOPT,1,11,0

ET,2,95

R,1

RMODIF,1,1,1,0,0,0,0,0

RMODIF,1,13,1,0,.01,

UIMP,1,EX,EY,EZ,9.582E6,9.582E6,1.66E6,

UIMP,1,PRXY,PRYZ, PRXZ,0.03192,0.35231,0.35231,

UIMP,1,GXY,GYZ,GXZ,709E3,731E3,731E3,

UIMP,2,EX, , ,18.51E3

UIMP,2,NUXY, , ,.3,

LOCAL,11,0

ESYS,11

W=6

H=6

D=1

TF1=0.01

TF2=0.01

TC=0.5

P=1000

DIV1=10

DIV2=7

DIV3=5

DIV4=DIV1/2

RECTNG, , W/2, , H/2,

RECTNG, ,D, ,H/2

RECTNG, , W/2, ,D

RECTNG, ,2*D, ,H/2

RECTNG, , W/2, ,2*D

AOVLAP,ALL

ALLSEL

LSEL,S,LOC,X,D/2

LSEL,A,LOC,Y,D/2

LESIZE,ALL, , ,DIV1

LSEL,S,LOC,X,3*D/2

LSEL,A,LOC,Y,3*D/2

LESIZE,ALL, , ,DIV2

LSEL,S,LOC,X,5*D/2

LSEL,A,LOC,Y,5*D/2

LESIZE,ALL, , ,DIV3

TYPE,1

MAT,1

REAL,1

MSHKEY,1

AMESH,ALL

LSEL,S,LCCA

LDEL,ALL

ALLSEL

AGEN,2,ALL, , , , ,-TF1/2, ,0

TYPE,2

MAT,2

EXTOPT,ESIZE,6,0,

ASEL,S,LOC,Z,-TF1/2

VEXT,ALL, , ,0,0,-TC

ALLSEL

ASEL,S,LOC,Z,-TC-TF1/2

AGEN,2,ALL, , , , ,-TF1/2, ,1

TYPE,1

MAT,1

REAL,1

AMESH,ALL

MODMSH, DETACH

NSEL,S,LOC,Z,0

NSEL,A,LOC,Z,-TC-TF1

ESLN

ESEL,INVE

ESEL,U,TYPE, ,2

NSLE

EDEL,ALL

NDEL,ALL

ALLSEL

NSEL,S,LOC,Z,-TF1/2

*GET,NUM1,NODE,0,COUNT

*GET,MIN1,NODE,0,NUM,MIN

CURNOD=MIN1

*DO,I,1,NUM1

ALLSEL

SLAVE=NODE(NX(CURNOD),NY(CURNOD),0)

CERIG,CURNOD,SLAVE,UXYZ

 

NSEL,S,LOC,Z,-TF1/2

CURNOD=NDNEXT(CURNOD)

*ENDDO

ALLSEL

NSEL,S,LOC,Z,-TC-TF1/2

*GET,NUM1,NODE,0,COUNT

*GET,MIN1,NODE,0,NUM,MIN

CURNOD=MIN1

*DO,I,1,NUM1

ALLSEL

SLAVE=NODE(NX(CURNOD),NY(CURNOD),-TC-TF1)

CERIG,CURNOD,SLAVE,UXYZ

NSEL,S,LOC,Z,-TC-TF1/2

CURNOD=NDNEXT(CURNOD)

*ENDDO

FINISH

/SOLU

NSEL,S,LOC,X,0

D,ALL,UX

NSEL,S,LOC,Y,0

D,ALL,UY

NSEL,S,LOC,Y,H/2-1E-2

D,ALL,UX

D,ALL,UZ

NSEL,S,LOC,X,W/2-1E-2

D,ALL,UY

D,ALL,UZ

ALLSEL

NSEL,S,LOC,Z,-TC-TF1

NSEL,R,LOC,X,0,1

NSEL,R,LOC,Y,0,1

SF,ALL,PRES,P

ALLSEL

/NERR,5,100000

SOLVE

SAVE

FINISH

/POST1

PLNSOL,S,EQV

PLNSOL,S,Z

!Vstup do Preprocessoru.

!Použít SHELL99 jako element typ 1.

!Definování napětí i poměrnou defor. jako výstup.

!Uchovat data pro všechny vrstvy.

!Uzly umístěné ve středové vrstvě.

!Použít SOLID95 jako element typ 2.

!Definování reálných konstant.

!

!Specifikování tloušťky.

!Specifikování mat. vlast. pro povrch. vrstvy.

!

!

!Specifikování mat. vlast. pro jádro.

!

!Definování lokálního souř. syst.

!Přiřazení lokálního SS elementům.

!Parametr pro X-délku desky.

!Parametr pro Y-délku desky.

!Parametr pro SUBDIVISIONS

!Tloušťka horní povrchové desky.

!Tloušťka dolní povrchové desky.

!Tloušťka jádra.

!Zatěžující napětí v PSI.

!Parametry pro počty dělení v různých lokacích.

!

!

!

!Vytvořit obdélník.

!

!

!

!

!"Překrýt" všechny plochy.

!

!Vybrat úsečky podle umístěni.

!Dovýběr úsečky podle umístění.

!Specifikování počtu rozdělení vybraných úseček.

!

!

!

!

!

!

!Použít SHELL99 (element typ 1).

!Použít materiál 1.

!Použít reálené konstanty 1.

!Užít "MAPPED" síťování.

!Síťovat všechny plochy.

!Vybrat zřetězené úsečky ("concatenated lines").

!Smazat vybrané úsečky.

!

!Vytvořit plochu z existujícího vzoru.

!Použít SOLID95 (element typ 2).

!Použít materiál 2.

!Specifikování délky vytažení.

!Vybrat plochy podle umístění.

!Vytáhnout plochy ve směru z.

!

!

!

!

!

!

!

!Oddělit model ze sítě.

!Vybrat uzly podle umístění.

!

!Vybrat elementy náležející vybraným uzlům.

!Převrátit výběr elementů.

!Odvýběr elementů s element typem 2

!Výběr uzlů náležejících vybraným elementům.

!

!

!

!

!Přiřazení počtu uzlů parametru NUM1.

!Přiřazení nejnižšího čísla parametru MIN1.

!Inicializovat uzel s číslem parametru MIN1.

!Počátek smyčky příkazů na horní povrch. vrstvě.

!

!Uložení uzlu korespondujícího uzlu jádra do parametru

!SLAVE.

!Nastavení pevné vazby.

!Výběr uzlu horní povrchové vrstvy.

!Přenastavení vybraného uzlu.

!Ukončení smyčky příkazů pro povrchovou vrstvu.

!

!

!

!

!

!

!

!

!

!

!

!

!Ukončení PREPROCESSORU.

!Vstup do řešiče.

!Výběr uzlů podle umístění.

!Nastavení okrajové podmínky.

!

!

!

!

!

!

!

!

!

!

!

!

!Nastavit napětí na vybrané uzly.

!

!Zvýšení počtu povolených chybových hlášení.

!Vyřeš.

!Ulož model.

!Ukončení řešiče.

!Vstup do POSTPROCESSORU.

!Zobrazení ekvivalentního rozložení napětí.

!Zobrazení napětí v z-směru.

...obsah

Výsledky:

Obr. 7 a 8 zobrazují ekvivalentní napětí a napětí v z-ovém směru, získané pomocí příkazů viz. výše.

 

Ekvivalentní napětí.

 Obr. 7 Ekvivalentní napětí.

  Napětí v z-ovém směru.

Obr. 8 Napětí v z-ovém směru.

 





Obsah shromážděného obsahu