Onboarding FEM Devs: Difference between revisions

From FreeCAD Documentation
m (added Developer Documentation category)
Line 26: Line 26:
== FEM Code Infrastructure ==
== FEM Code Infrastructure ==


The FEM code lives in {{incode|src/Mod/Fem}}


* {{incode|App/}} contains the FreeCAD console-mode application, defines basic structures and base classes for document objects, that are used by modules to build their own.
* {{incode|Gui/}} contains the FreeCAD GUI-mode application, defines the 3D view, contains many tools and functions to be used by workbenches to interact with the interface and with the 3D view, defines base classes for view providers.

* {{incode|femcommands/}}
* {{incode|fem.dox}}
* {{incode|femexamples/}}
* {{incode|femguiobjects/}}
* {{incode|femguiutils/}}
* {{incode|feminout/}}
* {{incode|femmesh/}}
* {{incode|femobjects/}}
* {{incode|femresult/}}
* {{incode|femsolver/}}
* {{incode|femtaskpanels/}}
* {{incode|femtest/}}
* {{incode|femtools/}}
* {{incode|femviewprovider/}}
* {{incode|InitGui.py}}
* {{incode|Init.py}}
* {{incode|ObjectsFem.py}}
* {{incode|TestFemApp.py}}
* {{incode|TestFemGui.py}}

=== Coding Conventions ===

Please see [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Fem/coding_conventions.md coding_conventions.md] file on the FreeCAD repository.


== Adding New FEM Solvers ==
== Adding New FEM Solvers ==

Revision as of 23:19, 25 July 2021

Description

This page will orient new developers on how to setup their development environments in order to hack on the FEM workbench.

Setting up a Dev Environment

TBD

Prerequisites

Compiling via Source

TBD

Compiling via Docker

TBD


FEM Code Infrastructure

The FEM code lives in src/Mod/Fem

  • App/ contains the FreeCAD console-mode application, defines basic structures and base classes for document objects, that are used by modules to build their own.
  • Gui/ contains the FreeCAD GUI-mode application, defines the 3D view, contains many tools and functions to be used by workbenches to interact with the interface and with the 3D view, defines base classes for view providers.
  • femcommands/
  • fem.dox
  • femexamples/
  • femguiobjects/
  • femguiutils/
  • feminout/
  • femmesh/
  • femobjects/
  • femresult/
  • femsolver/
  • femtaskpanels/
  • femtest/
  • femtools/
  • femviewprovider/
  • InitGui.py
  • Init.py
  • ObjectsFem.py
  • TestFemApp.py
  • TestFemGui.py

Coding Conventions

Please see coding_conventions.md file on the FreeCAD repository.

Adding New FEM Solvers

Related