MES: Solver

From FreeCAD Documentation
This page is a translated version of the page FEM Solver and the translation is 100% complete.

Przedmowa

Ta strona zawiera informacje o solverach metody elementów skończonych (MES) używanych przez środowisko pracy MES. Interfejs pomiędzy solverem i programem FreeCAD w czasie preprocessingu i postprocessingu jest oparty o pliki tekstowe. Oznacza to, że teoretycznie każdy solver, który można konfigurować i kontrolować poprzez pliki tekstowe nadaje się do pracy z FreeCAD. Żeby ta komunikacja działała, potrzebny jest odpowiedni kod parsujący i zapisujący pliki wejściowe i wyjściowe. Wątek na forum omawiający i zapowiadający wszelkie zmiany związane z różnymi solverami można znaleźć tutaj.

Na Wikipedii jest lista wielu pakietów metody elementów skończonych. Porównanie można zaś znaleźć na stronie feacompare.com.

Dostępne solvery w różnych dystrybucjach Linuxa

Repozytorium FreeCAD-dependencies śledzi zależności programu FreeCAD dla wielu dystrybucji Linuxa. Strona FEM.md skupia się na dostępnych otwartych solverach MES, które mogłyby być używane ze środowiskiem pracy MES. Ta strona uwzględnia wersję danego solvera w repozytorium danej dystrybucji Linuxa. Te informacje są przydatne jeśli solver jest aktualny lub nieaktualny i musi być zaktualizowany.

Te informacje są również omawiane w wątku o wspieranych i niewspieranych solverach na forum.

Solvery z interfejsem we FreeCAD

Te solvery są dobrze zintegrowane z programem FreeCAD, co oznacza, że można ustawić i uruchomić analizę przy pomocy środowiska graficznego i przycisków środowiska pracy MES.

CalculiX

To pierwszy solver jaki został zintegrowany do pracy w środowisku MES. CalculiX jest zaprojektowany głównie do analiz statycznych, termomechanicznych i modalnych. Więcej informacji o nim można znaleźć na stronie MES: CalculiX.

Elmer

Solver do zagadnień sprzężonych Elmer został zintegrowany z programem FreeCAD w ramach projektu Google Summer of Code 2017: strona główna, portal społeczności, repozytorium kodu źródłowego, Elmer Integration (GSoC) - Activity Log (wątek na forum).

Mystran

Mystran to program do analiz strukturalnych, który korzysta z formatu plików wejściowych Nastran. Jest dostępny w ramach licencji MIT. Oznacza to, że może być uznawany za otwarty. Zobacz stronę główną, repozytorium kodu źródłowego i Mystran-FreeCAD-forum (wątek na forum).

Z88

Solver Z88 jest zaprojektowany do liniowych analiz statycznych z naciskiem na nauczanie metody elementów skończonych. Było to drugi solver zintegrowany z FreeCAD. Później jego integracja została usprawniona w ramach projektu Google Summer of Code 2017.

Zobacz:

Istnieją dwie wersje, Z88OS to wersja z otwartym kodem źródłowym, podczas gdy Z88Aurora to freeware i uwzględnia interfejs graficzny oraz dodatkowe metody rozwiązywania.

Solvery zaimplementowane jako zewnętrzne środowiska pracy

Te solvery nie są zintegrowane ze środowiskiem pracy MES, co oznacza, że potrzebują odrębnego interfejsu do ustawienia symulacji. Jest to osiągane poprzez makra lub zewnętrzne środowiska pracy.

DualSPHysics

DualSPHysics to zestaw bibliotek C++, CUDA i Java używających metody smoothed particle hydrodynamics (SPH) nazwany SPHysics do analizowania przepływów z wolną powierzchnią, takich jak fale.

DesignSPHysics to zewnętrzne środowisko wbudowane we FreeCAD, które zapewnia interfejs graficzny dla DualSPHysics: strona główna, repozytorium kodu źródłowego, Interesting project: DesignSPHysics fluid simulator (wątek na forum).

DesignSPHysics można zainstalować poprzez menedżer dodatków.

FastHenry i FasterCap

FastHenry i FasterCap to solvery pól indukcyjno-opornościowych i pojemnościowych opracowane przez FastFieldSolvers: strona główna, strona pobierania (pliki wykonywalne i kod źródłowy), forum.

The środowisko pracy EM to zewnętrzny moduł, który został stworzony aby służyć jako interfejs do tych solverów elektromagnetycznych. FastHenry, do analiz magneto-quasistatycznych 3D impedancji jest w pełni wspierany, podczas gdy FasterCap jest dostępny przez pewne makra w Python.

Zobacz: ElectroMagnetic Workbench (główny wątek na forum) , Electromagnetic Workbench - again.. (wątek na forum), FreeCAD for ElectroMagnetics (wątek na forum), repozytorium kodu źródłowego środowiska pracy.

Środowisko pracy EM można zainstalować poprzez menedżer dodatków.

fcFEM

fcFEM to solver MES do zagadnień strukturalnych, zaimplementowany w Python, który można uruchomić bezpośrednio z FreeCAD bez wywoływania plików wykonywalnych zewnętrznych solverów. Zatem można go uznać za własny solver programu FreeCAD.

fcFEM został zaprojektowany aby ominąć pewne ograniczenia innych solverów, takich jak CalculiX, aby przeprowadzać różne analizy strukturalne.

Niektóre problemy, które ten solver ma ominąć to

Autor uważa FreeCAD za dobrą platformę do prototypowania, pozwalającą szybko ustawić, przetestować i zwizualizować różne zagadnienia strukturalne, więc posiadanie zintegrowanego solvera o większych możliwościach byłoby bardzo pomocne. Zobacz fcFEM - FEA from start to finish (główny wątek na forum).

fcFEM jest udostępniany jako biblioteka Python i makro i można go pobrać z repozytorium GitHub. Finalnie ma być dostępny z poziomu menedżera dodatków lub jako część programu FreeCAD.

OpenFoam

OpenFoam to potężne środowisko do symulacji z dziedziny obliczeniowej mechaniki płynów (CFD), udostępniane jako seria bibliotek C++.

OpenFoam jest dostępny we FreeCAD poprzez dwa zewnętrzne środowiska:

  • Cfd, pierwotnie autorstwa Qingfeng Xia.
  • CfdOF, fork Cfd, skupiający się na łatwości użycia.

Podczas gdy Cfd ma na celu oferować kompletny zestaw funkcjonalności dla zaawansowanych użytkowników, CfdOF skupia się na użytkownikach, którzy dopiero zaczynają pracę z CFD i OpenFoam.

Dla Cfd: aktualizacja o FreeCAD + OpenFOAM (wątek na forum), Postęp w ogólnym środowisku CFD: CfdWorkbench (stary wątek na forum).

Dla CfdOF: Środowisko CFD korzystające z OpenFOAM (wątek na forum), materiały szkoleniowe.

Oba środowiska można zainstalować poprzez menedżer dodatków i oba mają swoje miejsce do dyskusji na forum CfdOF / CFD.

Implementacja w toku

FEniCS

FEnicS to środowisko obliczeniowe do rozwiązywania równań różniczkowych cząstkowych (PDE) z interfejsem programistycznym wysokiego poziomu w Python i C++. Może być używane do opisywania zagadnień naukowych przy pomocy sformułowań metody elementów skończonych a następnie rozwiązywania ich numerycznie.

Zobacz: strona główna, Fenics jako solver (wątek na forum).

FenicsSolver to platforma do symulacji do zagadnień wielobryłowych, sprzężonych i wieloskalowych. Celem jest integracja solvera FEniCS do zarówno środowiska pracy MES, jak i zewnętrznego środowiska Cfd, więc uzyskany system funkcjonuje jako darmowa alternatywa dla Comsola lub Moose. FenicsSolver jest opracowywany przez autora środowiska Cfd.

OOFEM

OOFEM to zorientowany obiektowo program MES tworzony przez Czeski Uniwersytet Techniczny do rozwiązywania zagadnień mechanicznych, przenoszenia masy i przepływowych.

Wspomniane były pewne jego zalety w stosunku do CalculiX, takie jak elementy do modelowania połączeń (sprężony most betonowy (wątek na forum)) i sterowanie długością łuku do sprężysto-plastycznych analiz wyboczeniowych (MES - połączenie rurowe z elementami powłokowymi (wątek na forum)).

Wstępna integracja ze środowiskiem pracy MES została dokonana. Zobacz: OOFem (główny wątek na forum), prośba o test, wiele solverów (wątek na forum).

Dopóki integracja solvera nie zostanie ukończona i nowy kod nie zostanie wprowadzony do głównego repozytorium FreeCAD, pliki wymagane do używania tego solvera w środowisku pracy MES będzie można pobrać z tego repozytorium. Aby zobaczyć przegląd implementacji, przejrzyj bardzo czystą historię zmian https://github.com/berndhahnebach/FreeCAD_bhb/commits/femoofem

MBDyn

Solvery niezintegrowane

Następujące solvery nie zostały zintegrowane z FreeCAD, ale wywołały pewne zainteresowanie społeczności użytkowników. Jeśli developer chce utworzyć interfejs do komunikacji z danym solverem, powinien zajrzeć na forum MES aby uzyskać rady i wsparcie.

Następujące strony mogą być nieaktualne, ale informacje na nich zawarte mogą nadal być przydatne do zrozumienia jak integrować solvery z FreeCAD

ADAPy

Zobacz ADAPy i ADA - Assembly for Design & Analysis (wątek na forum).

Agros2D and Hermes

Agros2D to wieloplatformowy program graficzny zaprojektowany do rozwiązywania różnych zagadnień fizycznych. Wewnątrz korzysta z bibliotek C++ Hermes do rozwiązywania prostych i złożonych równań różniczkowych cząstkowych (PDE) z zależnością od czasu przy pomocy ogólnej wersji metody elementów skończonych (hp-FEM). Główny kod repozytorium i poradniki.

Code-Aster i Code-Saturne

Code-Aster to otwarty solver do zagadnień sprzężonych, razem z preprocessorem Salomé-Meca tworzą platformę do symulacji opracowaną przez EDF-GDF, największą firmę energetyczną we Francji. Był już dawno rozważany do uwzględnienia we FreeCAD: FreeCAD i Code-Aster/Salome-Meca (wątek na forum).

Code-Saturne to darmowy, otwarty program opracowany i udostępniany przez EDF do rozwiązywania zagadnień obliczeniowej mechaniki płynów (CFD).

FElt

FElt to pakiet metody elementów skończonych do rozwiązywania zagadnień liniowych statycznych i dynamicznych mechaniki konstrukcji. Oryginalny kod jest nieaktualny, więc powstał fork w nowym repozytorium aby odnowić projekt i umożliwić jego kompilację we współczesnych systemach.

Na forum zasugerowano przeprowadzanie analiz ram betonowych (złożeń belek i słupów) przy pomocy elementów belkowych 1D: Automatyzacja w projektowaniu (wątek na forum), Felt w środowisku pracy MES (wątek na forum).

Frame3DD

Frame3DD to pakiet oprogramowania do analiz statycznych i dynamicznych ram i kratownic 2D i 3D, główne repozytorium. Wstępny kod do odczytu plików wejściowych został ogłoszony na forum: Test czytania danych z pliku Frame3DD. Ogólny wątek na forum MES: Frame3DD.

Impact FEM

libMesh

libMesh to biblioteka C++ metody elementów skończonych do numerycznego rozwiązywania równań różniczkowych cząstkowych, której głównym celem jest zapewnienie wsparcia dla obliczeń z użyciem adaptacyjnego zagęszczania siatki (adaptive mesh refinement - AMR) przy pomocy wielu rdzeni: repozytorium kodu źródłowego.

Sugerowano integrację tej biblioteki z FreeCAD jako część projektu Google Summer of Code: GSOC 2019 Configuration Management Project (wątek na forum).

Modelica

Modelica to język do modelowania i optymalizacji złożonych i wzajemnie połączonych układów fizycznych, przykładowo mechanicznych, elektrycznych, termicznych, hydraulicznych i innych. Sam język i jego standardowe biblioteki są otwarte. Niektóre środowiska do symulacji oparte na Modelice, jak Dymola, są komercyjne, ale istnieją też darmowe implementacje jak OpenModelica i JModelica.

Sugerowano użycie środowiska Modelicia we FreeCAD do wsparcia tworzenia animacji, ale szerzej mogłoby ono być wykorzystywane w inżynierii mechanicznej i budowlanej do rozwiązywania równań i optymalizacji projektów: Modelica (wątek na forum).

Pakiet PyFMI zawiera powiązania Pythona do pracy z modelami FMU, które są ustandaryzowanymi modelami w formacie binarnym tworzonymi przez środowiska zgodne z Modelica, wliczając Dymola, OpenModelica i JModelica. Sugerowano, iż ta biblioteka mogłaby pomóc połączyć program FreeCAD ze środowiskiem Modelica (wątek na forum).

Mumps

Mumps to ogólny solver do ogromnych układów równań, które przede wszystkim zajmuje się faktoryzacją i operacjami na rzadkich macierzach. Był wspomniany na forum: Prośba o test, wiele solverów (wątek na forum).

Nie przeprowadza analiz MES bezpośrednio, ale może być używany wewnętrznie przez inne pakiety, takie jak Code-Aster.

Nastran

Nastran to program do analiz strukturalnych opracowany przez NASA w latach 70. Jego współczesne wersje są komercyjne i zamknięte, ale starsze wersje, Nastran-93 i Nastran-95 zostały udostępnione jako otwarte w 2015 r. Dyskusja: Nastran (wątek na forum).

Nie ma wsparcia technicznego dla wersji z otwartym kodem źródłowym i prawdopodobnie ciężko ją skompilować we współczesnym systemie.

OpenSees

OpenSees to środowisko do tworzenia aplikacji do symulacji zagadnień strukturalnych i geotechnicznych, głównie w dziedzinie inżynierii sejsmicznej. OpenSees, otwarty system do symulacji z dziedziny inżynierii sejsmicznej (wątek na forum) i Relicencjonowanie OpenSees (wątek na forum).

PolyFEM

PolyFEM to prosta biblioteka metody elementów skończonych C++ i Pythona. Zapewnia szeroki wybór równań różniczkowych cząstkowych, wliczając równania Laplace'a, Helmholtza, liniowej sprężystości, sprężystości Saint-Venanta, sprężystości Neo-Hookean i Stokesa. PolyFEM (wątek na forum).

Sparselizard

Sparselizard to szybka, ogólna, sprzężona, p-adaptacyjna, otwarta biblioteka MES działająca na systemach Linux, Mac i Windows. Jest używana do projektowania nowej generacji mikrourządzeń (przetworniki ultradźwiękowe, mikrolustra, mikrozawory, mikronapędy,...) i jest ostrożnie weryfikowana przy pomocy rozwiązań analitycznych, innych programów i pomiarów wyprodukowanych urządzeń. Wydaje się być opracowana przez zespół tworzący generator siatek Gmsh.

SU2

SU2 to zbiór narzędzi opracowanych w C++ i Python do rozwiązywania równań różniczkowych cząstkowych (PDE) i związanych z nimi zagadnień optymalizacji na nieregularnych siatkach. Jest głównie używany w aerodynamice i obliczeniowej mechanice płynów (CFD).

Tochnog

Tochnog Professional to zamknięty program do symulacji geotechnicznych, takich jak osuwiska, wbijanie pali, stabilność zboczy i obliczenia w inżynierii budownictwa (murarstwo i odpowiedź na trzęsienia ziemi), strona projektu.

Tochnog był z sukcesem używany we FreeCAD jako zamiennik dla CalculiX, chociaż wersja testowa ma ograniczenie liczby elementów: Integracja solvera Tochong w środowisku pracy MES (wątek na forum).

XC

XC to program MES zaprojektowany do rozwiązywania zagadnień strukturalnych w inżynierii budownictwa, takich jak symulacji z użyciem prawdziwych elementów belkowych i powłokowych. Wewnątrz korzysta z bibliotek OpenSees: główne repozytorium, XC, otwarty kod do analiz strukturalnych MES (wątek na forum).