Onboarding FEM Devs/pl

Opis
Na tej stronie nowi programiści dowiedzą się, jak skonfigurować swoje środowiska programistyczne, aby hakować w środowisku pracy MES.



Konfiguracja środowiska deweloperskiego
Do opracowania.

Wymagania wstępne

 * Netgen

Zalecane

 * Paraview



Kompilacja ze źródła
Do opracowania.



Kompilacja przez Docker
Do opracowania.



Zarządzanie kodem źródłowym
Utrzymanie aktualności FreeCAD jest udokumentowane na stronie Zarządzanie kodem źródłowym. Wraz z przydatnymi wskazówkami.



Infrastruktura kodu MES
Kod MES znajduje się w.


 * console-mode application, defines basic structures and base classes for document objects, that are used by modules to build their own.
 * GUI-mode application, defines the 3D view, tools/functions used by workbench to interact with UI and 3D view, defines base classes for view providers.

Coding Conventions
Please see coding_conventions.md file on the FreeCAD repository.

Adding New FEM Solvers
A new FEM solver requires the following:


 * Mesh exporter
 * Results importer
 * Solver object (needs changes in solver settings, unit tests, ObjectsFem modules as well)
 * Task and writer module (here is where the main solver input writing happens)
 * GUI tool to create a solver
 * GUI preference tab to set the solver binary path
 * A solver input writing unit test. Best to take the ccx cantilever. This is available for all mesh element types
 * Having one or two beers

See also:
 * Extend FEM Module
 * The implementation efforts of the oofem solver
 * The implementation efforts of the myStran solver

Writing Unit Tests
TBD

Informative

 * Wrapping a Cplusplus class in Python
 * Add FEM Equation Tutorial
 * Add Button to FEM Toolbar Tutorial

Related

 * FEM bugs in the FreeCAD bugtracker
 * Open FEM FIXME comments in the FreeCAD source code
 * Open FEM TODO comments in the FreeCAD source code
 * Original thread discussion for this wiki page
 * FEM Workbench