Onboarding FEM Devs/fr

Description
Cette page oriente les nouveaux développeurs sur la façon de configurer leur environnement de développement afin de pouvoir travailler sur l'atelier FEM.

Configuration d'un environnement de développement
A définir

Prérequis

 * Netgen

Recommandé

 * Paraview

Compilation via la source
A définir

Compilation via Docker
A définir

Gestion du code source
Garder FreeCAD à jour est documenté dans la page Source code management. Avec des conseils utiles.

Infrastructure du code FEM
Le code FEM se trouve dans.


 * application en mode console, définit les structures de base et les classes de base pour les objets documentaires, qui sont utilisées par les modules pour construire les leurs.
 * Application en mode interface utilisateur, définit la vue 3D, les outils/fonctions utilisés par le banc de travail pour interagir avec l'interface utilisateur et la vue 3D, définit les classes de base pour les view providers.

Conventions de codage
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:
 * Add FEM solver tutorial
 * 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