/* do not put into content ======OOFEM - vlastnosti a hlavní rysy====== */ OOFEM - vlastnosti a hlavní rysy * **Objektově orientovaná architektura** * **Obecné a modulární výpočetní jádro (OOFEMlib)** * **široká rozšiřitelnost** - Vlastní výpočetní jádro je navrženo s ohledem na snadnou rozšiřitelnost. Samozřejmostí je možnost přidávat nové konečné prvky, materiálové modely s libovolným počtem a druhem stavových proměnných, nové okrajové podmínky, či nové typy analýz a příslušné numerické algoritmy, stejně tak jako možnost libovolného počtu a typu stupňů volnosti v každém uzlu. * **nezávislá formulace problému, numerického řešení a ukládání dat** - Výpočetní jádro poskytuje nezávislou a oddělenou reprezentaci vlastního problému, jeho numerického řešení a vlastního ukládání dat (řídké matice). To umožňuje nezávislou formulaci problému na numerickém řešení a dovoluje kombinovat řadu numerických metod pro řešení problému bez zásahu do vlastního kódu. Tento koncept je dále umocněn abstraktní reprezentací řídkých matic, jenž umožňuje formulovat numerické algoritmy nezávisle na typu řídké matice a její implementaci. * **plná podpora bodů obnovení** - Jádro plně podporuje vytváření bodů obnovení během výpočtu a návrat či spuštění analýzy z takto vytvořených bodů. * **podpora pro sdružené (fully coupled and staggered) úlohy** - nástroje pro seskupení dílčích problémů a mapování veličin mezi diskretizacemi jednotlivých podproblémů. . * **podpora paralelních výpočtů** - model založený na doménové dekompozici a komunikaci pomocí zpráv (MPI). Mnoho analýz podporuje paralelní výpočty s velmi dobrou škálovatelností na mnoha hardwarových platformách. Komunikace založená na výměně zpráv prostřednictvím MPI je podporována na mnoha platformách: masivně paralelní počítače s distribuovanou pamětí, počítače se sdílenou pamětí a svazcích pracovních stanic (clusters). Pro vývojáře jádro nabízí obecné a efektivní třídy pro vzájemnou komunikaci, založených na obecné komunikační vrstvě. Generická podpora pro dynamické vyvažování zátěže. * **efektivní řídké řešiče** - metody pro přímé a iterativní řešení soustav lineárních rovnic. Přímé řešiče zahrnují symetrickou a nesymetrickou variantu Skyline a implementován je i přímý řídký řešič (DSS). Iterační řešiče podporují řadu ukládacích formátů a je k dispozici řada předpodnínění. Je k dispozici také rozhranní umožňující využívat řešiče z externích knihoven - např. PETSc, IML, či SPOOLES. * **adaptivní analýza**. Podpora pro různé odhady chyb řešení, podpora pro plně adaptivní řešení bez nutnosti restartu, algoritmy pro mapování jednotlivých polí mezi diskretizacemi, algoritmy pro rychlou prostorovou lokalizaci. * **podpora XFEM** - podpora globálních bázových funkcí, jejich geometrické reprezentace a zobezněný koncept integračních pravidel poskytují efektivní podporu pro implementaci těchto algoritmů. * **Iso-Geometrická Analýza (IGA)** - podpora pro prvky s B-spline a NURBS interpolací geometrie a neznámých polí. * **Modul pro mechaniku (modul sm)** * **široká nabídka řešených problémů** - lineární a nelineární statika, dynamika (vlastní kmitání, přímá integrace (implicitní a explicitní), nelineární explicitní dynamika). * **rozsáhlá knihovna prvků a materiálů** - viz [[http://www.oofem.org/resources/doc/elementlibmanual/html/elementlibmanual.html|Knihovna prvků]](anglicky) a [[http://www.oofem.org/resources/doc/matlibmanual/html/matlibmanual.html|Knihovna materiálů]] (anglicky). * **adaptivní analýza** - lineární a nelineární statika. * **pokročilé možnosti modelování** - zavěšené uzly, tuhá ramena, lokální souředné systémy a mnoho dalšího. * **paralelní výpočty** - explicitní nelineární dynamika, lineární a nelineární statika (vyžaduje PETSC). * **optimalizace šířky pásu pro přímé řešiče.** /* caution: unprotected tm is converted to TM (Trade Mark) */ * **Transportní problémy (modul %%tm%%)** * **typy výpočtů:** stacionární a nestacionární vedení tepla (a příbuzné problémy), sdružená analýza vedení tepla a vlhkosti. * **konečné prvky:** rotační symetrie, 2D a 3D prvky, viz. [[http://www.oofem.org/resources/doc/elementlibmanual/html/elementlibmanual.html|Knihovna prvků]] (v angličtině). * **kombinace s modulem mechaniky** umožňuje současné řešení např úlohy vedení tepla a mechanické analýzy, kdy teplotní pole může být zahrnuto v mechanické analýze. Přitom je možné požít různé diskretizace obou problémů. * **Mechanika tekutin (modul fm)** * **typy výpočtů:** nestacionární proudění nestlačitelných kapalin - řešení vycházející z semi implicitního algoritmu CBS, nebo nestacionární řešič vužívající SUPG/PSPG stabilizaci. Druhý řešič umožňuje analyzovat proudění dvou nemísitelných kapalin či proudění s volnou hladinou. * **konečné prvky:** lineární prvky se shodnou aproximací rychlostí a tlaku, viz [[http://www.oofem.org/resources/doc/elementlibmanual/html/elementlibmanual.html|Knihovna prvků]] (anglicky). * **Postprocessing** * Zabudovaný postprocessor (vyžaduje X-windows). * Možnost exportovat výsledky do VTK formátu, jež umožňuje použít ředu multiplatformních vizualizačních nástrojů, založených na knihovně VTK (např. MayaVi či ParaView). * **Rozhranní ke generátorům sítě (T3d a Targe2)** * **Rozhranní k externím knihovnám pro řešení lineárních soustav řídkých rovnic a problémů vlastních čísel ( PETSC, SLEPc, IML a SPOOLES)** * **Vysoká přenositelnost (C++)** **OOFEM může využívat řadu externích programů:** * [[http://mech.fsv.cvut.cz/~dr/t3d.html|T3d]](generátor sítě od Daniela Rypla) * Targe2 (2D generátor vyvinutý Petrem Kryslem) * [[http://math.nist.gov/iml++/|IML++]] (knihovna iteračních metod) * [[http://www.netlib.org/linalg/spooles/|SPOOLES]] řídký přímý řešič. * [[http://www-unix.mcs.anl.gov/petsc/|PETSC]] - Portable, Extensible Toolkit for Scientific Computation. * [[http://www.grycap.upv.es/slepc/|SLEPc]] - Scalable Library for Eigenvalue Problem Computations. * [[http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview|ParMETIS]] - Paralelní doménová dekompozice * [[http://mayavi.sourceforge.net/|MayaVi]], [[http://www.paraview.org|ParaView]] - vynikající vizualizační nástroje Tyto nástroje jsou pouze volitelné a nemusí být instalovány, aby bylo možno OOFEM používat, ale značně rozšiřují jeho možnosti či snadnost použití. {{page>misc:cz_bottom&nofooter}} {{page>misc:cz_counter&nofooter}}