MES: Solver
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 Nastrana. 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:
- Strona główna, strona pobierania, repozytorium kodu źródłowego (i prekompilowane pliki wykonywalne).
- Informacje o wydaniu: Z88os V15 wydany 17.07.2017, Z88os V13 wydany 20.05.2009 (wersja w Debian Jessie 8, Stretch 9, Buster 10).
- How to use Z88 in FEM? (wątek na forum).
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
- Analizy na mieszanych siatkach (bryłowo-powłokowych) do symulacji kompozytowych słupów lub prefabrykowanych komponentów architektonicznych: typy obiektów MES (wątek na forum).
- Ulepszone elementy belkowe i powłokowe, ponieważ elementy belkowe solvera CalculiX wydają się dawać złe wyniki: element belkowy 3-węzłowy CalculiX (wątek na forum), typy obiektów MES (wątek na forum), przykład analizy 1D (wątek na forum).
- Sterowanie długością łuku do przekraczania punktów bifurkacji w sprężysto-plastycznych analizach wyboczeniowych: MES - rurowe połączenie z elementami powłokowymi (wątek na forum).
- Elementy o zerowej grubości do modelowania połączeń w różnych zastosowaniach, takich jak beton sprężony z tarciem: sprężony most betonowy (wątek na forum).
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 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:
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 Uniwerystet Techniczny do rozwiązywania zagadnień mechanicznych, przenoszenia masy i przepływowych.
It was mentioned as having some advantages over CalculiX, like interface elements (pre-stressed pre/post-tensioned concrete bridge (forum topic)), and arc-length control for elastic-plastic collapse analysis (FEM - Tubular Connection with Shell Elements (forum topic)).
Preliminary integration into the FEM Workbench has been done. See: OOFem (main forum topic), test request, multiple solvers (forum topic).
Until the solver integration is completed and the new code is merged into the main FreeCAD repository, the required files for using the solver in the FEM Workbench can be downloaded from a forked FreeCAD branch. For a implementation overview have a look at the very clean commit history https://github.com/berndhahnebach/FreeCAD_bhb/commits/femoofem
MBDyn
- OpenSource general purpose Multibody Dynamics analysis software
- MBDyn
- FreeCAD as pre-post processor for MBDyn (forum topic)
Solvers not integrated
The following solvers have not been integrated into FreeCAD but they have garnered some interest by the user community. If a developer wishes to create a communication bridge for a particular solver, he or she should refer to the FEM subforum for advice and assistance.
The following articles may be outdated, but the information they contain may still be useful to understand how to integrate solvers into FreeCAD
ADAPy
See ADAPy and ADA - Assembly for Design & Analysis (forum topic).
Agros2D and Hermes
Agros2D is a multiplatform graphical program designed for solving different physical problems. Internally it uses the Hermes C++ libraries for the solution of simple and complex time-dependent nonlinear partial differential equation (PDE) systems using a general version of the finite element method (hp-FEM). Main code repository, and tutorials.
Code-Aster and Code-Saturne
Code-Aster is an open source multiphysics solver; together with the Salomé-Meca pre-processor they form a simulation platform developed by EDF-GDF, France's biggest energy company. It was an early package considered for inclusion in FreeCAD: FreeCAD and Code-Aster/Salome-Meca (forum topic).
Code-Saturne is a free, open-source software developed and released by EDF to solve computational fluid dynamics (CFD).
FElt
FElt is a finite element package to solve linear static and dynamic structural analysis problems. The original code is outdated, so it was forked to a new repository to revive the project and make it compile in a modern system.
It was suggested in the forums to perform reinforced concrete frames analysis (beam and column assemblies) using 1D beam elements: Automation in Design (forum topic), Felt in FEM Workbench (forum topic).
Frame3DD
Frame3DD is a software package for static and dynamic structural analysis of 2D and 3D frames and trusses, main repository. A preliminary reader for input files was announced in the forums: Test read data from Frame3DD file. General topic in the FEM forum: Frame3DD.
Impact FEM
- http://www.impact-fem.org/ (broken link)
libMesh
libMesh is a c++ finite element library for the numerical solution of partial differential equations, with a major goal to provide support for adaptive mesh refinement (AMR) computations in parallel: code repository.
It was suggested to integrate this library into FreeCAD as part of a Google Summer of Code project: GSOC 2019 Configuration Management Project (forum topic).
Modelica
Modelica is a language to model and optimize complex, and interconnected physical systems, for example, mechanical, electrical, thermal, hydraulic, and others. The language itself and its standard libraries are open source. Some simulation environments based on Modelica, like Catia's Dymola, are proprietary, but there are also free implementations like OpenModelica and JModelica.
With FreeCAD, Modelica was suggested to help perform animations, but more broadly it could be used in mechanical and building engineering to solve equations and optimize a particular design: Modelica (forum topic).
The PyFMI package contains Python bindings to work with FMU models, which are standardized models in binary format produced by compliant Modelica environments, including Dymola, OpenModelica, and JModelica. It was suggested that this library could help FreeCAD connect to a Modelica system (forum topic).
Mumps
Mumps is a generic solver for massive systems of equations, which generally deals with factorizing and operating on sparse matrices. It was mentioned in the forum: Test request, multiple solvers (forum topic).
It does not perform finite element analysis directly, but it may be used internally by other packages like Code-Aster.
Nastran
Nastran is a structural analysis program developed by NASA in the 1970s. Modern versions of it are commercial products and closed source; however, older versions of it, Nastran-93 and Nastran-95 were released as open source in 2015. Forum post: Nastran (forum topic).
There is no technical support for the open source code, and it is probably difficult to compile in a modern system.
OpenSees
OpenSees is a software framework for developing applications to simulate structural and geotechnical systems mainly in the field of earthquake engineering. OpenSees, the Open System for Earthquake Engineering Simulation (forum topic) and Relicensing of OpenSees (forum topic).
PolyFEM
PolyFEM is a simple C++ and Python finite element library. We provide a wide set of common partial differential equations including: Laplace, Helmholtz, Linear Elasticity, Saint-Venant Elasticity, Neo-Hookean Elasticity and Stokes. PolyFEM (forum topic).
Sparselizard
Sparselizard is a fast, general, multiphysics, p-adaptive, open source C++ finite element library running on Linux, Mac and Windows. It is used to design next generation microdevices (ultrasound transducers, micromirrors, microvalves, comb drives,...) and it is carefully validated against analytical solutions, third party software and measurements of the fabricated devices. It looks like it is developed by the team of gmsh mesh generator.
SU2
SU2 is a collection of software tools developed in C++ and Python for the solution of partial differential equations (PDE) and PDE-constrained optimization problems on unstructured meshes. It is particularly used in the fields of aerodynamics and computational fluid dynamics (CFD).
Technog
Technog Professional is a closed source program to perform geotechnical simulations such as landslides, driving piles, slope stability, and civil engineering calculations (masonry and earthquake response), website (broken link).
Technog was successfully used in FreeCAD as a substitute of CalculiX, although the trial version is limited in the number of elements it can handle: Integration of tochnog solver in FreeCAD FEM (forum topic).
XC
XC is a FEA program designed to solve structural problems in civil engineering like real beam shell analysis. Internally it uses the OpenSees libraries: main repository, XC, opensource structural engineering FEM code (forum topic).
- Materiał: Bryła, Ciecz, Nieliniowy materiał mechaniczny, Materiał zbrojony (beton), Edytor materiału
- Geometria elementu: Geometria elementu, Obrót w okół osi, Geometria elementu 2D, Element przepływu
Wiązania
- Elektromagnetyczne: Potencjał elektryczny, Gęstość prądu, Magnetyzacja
- Geometryczne: Obrót w płaszczyźnie, Zapis wyników z przekroju, Zdefiniuj odkształcenie
- Mechaniczne: Zdefiniuj przytwierdzenie, Zdefiniuj przemieszczenie, Zdefiniuj kontakt, Zdefiniuj powiązanie, Wiązanie sprężyny, Zdefiniuj siłę, Zdefiniuj obciążenie ciśnieniem, Zdefiniuj siłę odśrodkową, Zdefiniuj obciążenie ciężarem własnym
- Termiczne: Warunek początkowy temperatury, Zdefiniuj strumień ciepła, Zdefiniuj temperaturę, Zdefiniuj objętościowe źródło ciepła
- Zmieniające wiązania: Zdefiniuj przenikalność elektryczną próżni
- Siatki: Siatka Netgen, Siatka GMSH, Warstwa graniczna siatki, Obszar siatki, Grupa siatki, Utwórz zestaw węzłów, Siatka MES na obiekt środowiska Siatka
- Solver: Narzędzia CalculiX, Elmer, Mystran, Z88; Równania: Elastyczności, Elektrostatyczne, Siły elektrostatycznej, Magnetodynamiczne, RMagnetodynamiczne 2D, Przepływu, Strumienia, Ciepła; Solver: Kontrola pracy solvera, Uruchom solver
- Wyniki: Oczyszczanie z wyników, Prezentacja wyników; Postprocessing: Zastosuj zmiany, Prezentacja graficzna, Filtr rozpraszający, Skalarny filtr obcinający, Filtr odcięcia funkcji, Filtr odcięcia obszaru, Filtr konturów, Filtr danych wzdłuż linii, Wykres liniowości naprężeń, Filtr obcinania danych w punkcie, Utwórz funkcję, Filtr funkcji płaszczyzny, Filtr funkcji sfery, Filtr funkcji walca, Filtr funkcji prostopadłościanu
- Dodatkowe: Konfiguracja, Instalacja środowiska MES, Siatka, FEM Solver, CalculiX, Beton, Rodzaje elementów
- Jak zacząć
- Instalacja: Pobieranie programu, Windows, Linux, Mac, Dodatkowych komponentów, Docker, AppImage, Ubuntu Snap
- Podstawy: Informacje na temat FreeCAD, Interfejs użytkownika, Profil nawigacji myszką, Metody wyboru, Nazwa obiektu, Edytor ustawień, Środowiska pracy, Struktura dokumentu, Właściwości, Pomóż w rozwoju FreeCAD, Dotacje
- Pomoc: Poradniki, Wideo poradniki
- Środowiska pracy: Strona Startowa, Złożenie, BIM, CAM, Rysunek Roboczy, MES, Inspekcja, Siatka, OpenSCAD, Część, Projekt Części, Punkty, Inżynieria Wsteczna, Robot, Szkicownik, Arkusz Kalkulacyjny, Powierzchnia 3D, Rysunek Techniczny, Test Framework