Einführung für FEM-Entwickler
Appearance
Beschreibung
Diese Seite dient als Orientierungshilfe für neue Entwickler, um ihre Entwicklungsumgebung für das Bearbeiten des Arbeitsbereichs FEM anzupassen.
Eine Entwicklungsumgebung anlegen
TBD
Voraussetzungen
- Netgen
Empfohlen
- Paraview
Kompilieren über die Quelle
in Arbeit...
Kompilieren über Docker
in Arbeit...
Quellcodeverwaltung
Wie man FreeCAD auf dem neuesten Stand hält, ist auf der Seite Quellcodeverwaltung dokumentiert. Dort findet man auch nützliche git-Tipps.
FEM-Code-Infrastruktur
Der FEM-Code befindet sich in src/Mod/Fem.
App/Konsolen-Modus-Anwendung, definiert grundlegende Strukturen und Basisklassen für Dokumentobjekte, die von Modulen zum Erstellen eigener Objekte verwendet werden.Gui/GUI-Modus-Anwendung, definiert die 3D-Ansicht, vom Arbeitsbereich verwendete Werkzeuge/Funktionen für die Interaktion mit der Benutzeroberfläche und der 3D-Ansicht, definiert Basisklassen für Viewprovider.femcommands/fem.doxfemexamples/femguiobjects/femguiutils/feminout/femmesh/femobjects/femresult/femsolver/femtaskpanels/femtest/femtools/femviewprovider/InitGui.pyInit.pyObjectsFem.pyTestFemApp.pyTestFemGui.py
Codierungskonventionen
Man beachte die Datei coding_conventions.md im FreeCAD-Repository.
Neue FEM-Löser hinzufügen
Ein neuer FEM-Löser erfordert Folgendes:
- Mesh-Exporter
- Ergebnis-Importer
- Löser-Objekt (erfordert Änderungen an den Löser-Einstellungen, Unit-Tests und ObjectsFem-Modulen)
- Aufgaben- und Schreibmodul (hier erfolgt das Schreiben der wichtigsten Löser-Eingaben)
- GUI-Tool zum Erstellen eines Lösers
- GUI-Einstellungsregisterkarte zum Festlegen des Löser-Binärpfads
- Ein Unit-Test zum Schreiben der Löser-Eingabe. Am besten nimmt man den CCX-Ausleger. Dieser ist für alle Netzwerkelementtypen verfügbar.
- Ein oder zwei Bier trinken
Siehe auch:
- FEM Modul Erweitern
- Die Umsetzungsbemühungen der oofem-Löser
- Die Umsetzungsbemühungen der myStran-Löser
Unit-Tests schreiben
in Arbeit...
Informationen
- Eine C++-Klasse in Python einbinden
- Tutorial FEM Gleichung hinzufügen
- Tutorial Schaltfläche zur FEM-Symbolleiste hinzufügen
Verwandt
- FEM-Fehler im FreeCAD-Bugtracker
- Offene FEM-Kommentare FIXME im FreeCAD-Quellcode
- Offene FEM-Kommentare TODO im FreeCAD-Quellcode
- Original Diskussionsbeitrag für diese Wiki-Seite
- Arbeitsbereich FEM