FEM Workbench/cs: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{Docnav
{{docnav|[[Drawing Workbench|Drawin Workbench]]|[[Image Workbench|Image Workbench]]|IconL=Workbench_Drawing.svg|IconR=Workbench_Image.svg}}
|[[Drawing Workbench|Drawing Workbench]]
|[[Image Workbench|Image Workbench]]
|IconL=Workbench_Drawing.svg
|IconR=Workbench_Image.svg
}}


[[Image:Workbench_FEM.svg|64px]]
[[Image:Workbench_FEM.svg|thumb|128px|FEM workbench icon]]


== Introduction ==
== Introduction ==
Line 9: Line 14:


{{TOCright}}
{{TOCright}}
[[Image:FemWorkbench.jpg]]
[[Image:FemWorkbench.jpg|300px]]


== Workflow ==
== Workflow ==


The steps to carry out a FE analysis are:
The steps to carry out a finite element analysis are:
# Preprocessing: setting up the analysis problem.
# Preprocessing: setting up the analysis problem.
## Modeling the geometry: creating the geometry with FreeCAD, or importing it from a different application.
## Modeling the geometry: creating the geometry with FreeCAD, or importing it from a different application.
## Creating an Analysis.
## Creating an analysis.
### Creating a finite element Mesh for the geometrical model.
### Adding simulation constraints such as loads and fixed supports to the geometric model.
### Adding Constraints such as loads and fixed supports to the model.
### Adding materials to the parts off the geometric model.
### Creating a finite element mesh for the geometrical model, or importing it from a different application.
### Adding a Material to the analysis model.
# Solving: solving a system of equations using an external solver from within FreeCAD.
# Solving: running an external solver from within FreeCAD.
# Postprocessing: visualizing the analysis Results from within FreeCAD.
# Postprocessing: visualizing the analysis results from within FreeCAD, or exporting the results so they can be postprocessed with another application.


As of FreeCAD 0.15 the FEM Workbench can be used on Windows, MacOSX and Linux platforms. Since the workbench makes use of external solvers, the amount of manual setup will depend on the operating system that you are using. See the [[FEM_Install|FEM Install]] page for instructions on setting up the external tools.
As of FreeCAD 0.15 the FEM Workbench can be used on Linux, Windows, and Mac OSX. Since the workbench makes use of external solvers, the amount of manual setup will depend on the operating system that you are using. See [[FEM Install|FEM Install]] for instructions on setting up the external tools.

[[Image:FEM_Workbench_workflow.svg|600px]]

{{Caption|Workflow of the FEM Workbench; the workbench calls two external programs to perform meshing of a solid object, and perform the actual solution of the finite element problem}}


== Menu: Model ==
== Menu: Model ==
Line 36: Line 45:


* [[Image:Fem-material-nonlinear.svg|32px]] [[FEM_MaterialMechanicalNonlinear|Nonlinear mechanical material]]: Lets you select a material from the database.
* [[Image:Fem-material-nonlinear.svg|32px]] [[FEM_MaterialMechanicalNonlinear|Nonlinear mechanical material]]: Lets you select a material from the database.


* image is missing [[FEM_MaterialReinforced|Reinforced material]]: Lets you select reinforced materials consist of a matrix and a reinforcement from the database.


* [[Image:Arch_Material_Group.svg|32px]] [[Material_editor|Material editor]]:: Lets you open the material editor to edit materials
* [[Image:Arch_Material_Group.svg|32px]] [[Material_editor|Material editor]]:: Lets you open the material editor to edit materials
Line 113: Line 125:
== Menu: Solve ==
== Menu: Solve ==


* [[Image:Fem-solver.svg|32px]] [[FEM_SolverCalculixCxxtools|Solver Calculix CCX tools]]: Creates a new solver for this analysis. In most cases the solver is created together with the analysis.
* [[Image:Fem_Solver.svg|32px]] [[FEM_SolverCalculixCxxtools|Solver Calculix CCX tools]]: Creates a new solver for this analysis. In most cases the solver is created together with the analysis.


* [[Image:Fem-solver.svg|32px]] [[FEM_SolverCalculiX|Solver CalculiX]]:
* [[Image:Fem_Solver.svg|32px]] [[FEM_SolverCalculiX|Solver CalculiX]]:


* [[Image:Fem-elmer.svg|32px]] [[FEM_SolverElmer|Solver Elmer]]:
* [[Image:Fem-elmer.svg|32px]] [[FEM_SolverElmer|Solver Elmer]]:


* [[Image:Fem-solver.svg|32px]] [[FEM_SolverZ88|Solver Z88]]:
* [[Image:Fem_Solver.svg|32px]] [[FEM_SolverZ88|Solver Z88]]:


* [[Image:Fem-equation-heat.svg|32px]] [[FEM_EquationHeat|Equation heat]]:
* [[Image:Fem-equation-heat.svg|32px]] [[FEM_EquationHeat|Equation heat]]:
Line 178: Line 190:


* [[Image:Std_DlgParameter.svg|32px]] [[Fem_Preferences|Preferences...]]: Preferences available in FEM Tools.
* [[Image:Std_DlgParameter.svg|32px]] [[Fem_Preferences|Preferences...]]: Preferences available in FEM Tools.

== Information ==

The following pages explain different topics of the FEM Workbench.

[[FEM_Install|FEM Install]]: a detailed description on how to set up the external programs used in the workbench.

[[FEM_Mesh|FEM Mesh]]: further information on obtaining a mesh for finite element analysis.

[[FEM_Solver|FEM Solver]]: further information on the different solvers available in the workbench, and those that could be used in the future.

[[FEM_CalculiX|FEM CalculiX]]: further information on CalculiX, the default solver used in the workbench for structural analysis.

[[FEM_Concrete|FEM Concrete]]: interesting information on the topic of simulating concrete structures.

[[FEM_project|FEM Project]]: further information on the unit system, limitations, and the development ideas and roadmap of the workbench.


== Tutorials ==
== Tutorials ==
Tutorial 1 [[FEM_CalculiX_Cantilever_3D | FEM CalculiX Cantilever 3D]]
Tutorial 1: [[FEM_CalculiX_Cantilever_3D|FEM CalculiX Cantilever 3D]]; basic simply supported beam analysis.


Tutorial 2 [[FEM_tutorial | FEM Tutorial]]
Tutorial 2: [[FEM_tutorial|FEM Tutorial]]; simple tension analysis of a structure.


Tutorial 3 [[FEM_Tutorial_Python | FEM Tutorial Python]]
Tutorial 3: [[FEM_Tutorial_Python|FEM Tutorial Python]]; set up the cantilever example entirely through scripting in Python, including the mesh.


Tutorial 4 [[FEM Shear of a Composite Block|FEM Shear of a Composite Block]]
Tutorial 4: [[FEM Shear of a Composite Block|FEM Shear of a Composite Block]]; see the deformation of a block that is comprised of two materials.


Tutorial 5: [[Transient FEM analysis]]
Coupled thermal mechanical analysis tutorials [https://opensimsa.github.io/training.html PDF's]


Tutorial 6: [[Post-Processing_of_FEM_Results_with_Paraview]]
Video Tutorial 1 [https://forum.freecadweb.org/viewtopic.php?f=18&t=20499#p158353 Forum post with you tube link]


Video Tutorial 2 [https://forum.freecadweb.org/viewtopic.php?f=18&t=20499&start=10#p162321 Forum post with you tube link]


Coupled thermal mechanical analysis tutorials by [https://opensimsa.github.io/training.html openSIM]
Further video Tutorials [https://forum.freecadweb.org/viewtopic.php?f=18&t=20499&start=10#p162640 Forum post with you tube link]


Video tutorial 1: [https://forum.freecadweb.org/viewtopic.php?f=18&t=20499#p158353 FEM video for beginner] (including YouTube link)
* [[Extend_FEM_Module|Extend FEM Module]]
** [[Add_FEM_Equation_Tutorial|Add FEM Equation Tutorial]]
** [[Add_FEM_Constraint_Tutorial|Add FEM Constraint Tutorial]]


Video tutorial 2: [https://forum.freecadweb.org/viewtopic.php?f=18&t=20499&start=10#p162321 FEM video for beginner] (including YouTube link)
== Links ==
[[FEM_Install|FEM Install]] for a detailed description how to set up a working FEM Module.


Many video tutorials: [https://www.youtube.com/channel/UCnvFCm2BbXOVI3ObfXcxXhw anisim Open Source Engineering Software] (in German)
[[FEM_Mesh|FEM Mesh]] for further Information about the FEM Mesh in FEM Module.


== Extending the FEM Workbench ==
[[FEM_Solver| FEM Solver]] for further Informations about FEM Solvers in FEM Module,


The FEM Workbench is under constant development. An objective of the project is to find ways to easily interact with various FEM solvers, so that the end user can streamline the process of creating, meshing, simulating, and optimizing an engineering design problem, all within FreeCAD.
[[FEM_CalculiX|FEM CalculiX]] for further Information about CalculiX, the most used and best develop solver in FEM Module.

The following information is aimed at power users and developers who want to extend the FEM Workbench in different ways. Familiarity with C++ and Python is expected, and also some knowledge of the "document object" system used in FreeCAD is necessary; this information is available in the [[Power users hub]] and the [[Developer hub]]. Please notice that since FreeCAD is under active development, some articles may be too old, and thus obsolete. The most up to date information is discussed in the [https://forum.freecadweb.org/index.php FreeCAD forums], in the Development section. For FEM discussions, advice or assistance in extending the workbench, the reader should refer to the [https://forum.freecadweb.org/viewforum.php?f=18 FEM subforum].

The following articles explain how the workbench can be extended, for example, by adding new types of boundary conditions (constraints), or equations.
* [[Extend_FEM_Module|Extend FEM Module]]
* [[Add_FEM_Constraint_Tutorial|Add FEM Constraint Tutorial]]
* [[Add_FEM_Equation_Tutorial|Add FEM Equation Tutorial]]


A developer's guide has been written to help power users in understanding the complex FreeCAD codebase and the interactions between the core elements and the individual workbenches. The book is hosted at github so multiple users can contribute to it and keep it updated.
[[FEM_project|FEM Project]] for more detailed informations about the Units, Limitations and the Development of FEM Module.
* [https://forum.freecadweb.org/viewtopic.php?t=17581 Early preview of ebook: Module developer' guide to FreeCAD source] (forum thread)
* [https://github.com/qingfengxia/FreeCAD_Mod_Dev_Guide FreeCAD Mod Dev Guide] (github repository)


{{Docnav
[[FEM_Concrete|FEM Concrete]] for informations about analysis's of concrete structures.
|[[Drawing Workbench|Drawing Workbench]]
|[[Image Workbench|Image Workbench]]
|IconL=Workbench_Drawing.svg
|IconR=Workbench_Image.svg
}}


{{FEM Tools navi{{#translation:}}}}
{{docnav|[[Drawing Workbench|Drawin Workbench]]|[[Image Workbench|Image Workbench]]|IconL=Workbench_Drawing.svg|IconR=Workbench_Image.svg}}
{{Userdocnavi{{#translation:}}}}
{{FEM Tools navi}}
[[Category:Workbenches{{#translation:}}]]
{{Userdocnavi}}
[[Category:Workbenches]]

Revision as of 22:44, 18 March 2020

FEM workbench icon

Introduction

The FEM Workbench provides a modern finite element analysis (FEA) workflow for FreeCAD. Mainly this means all tools to make an analysis are combined into one graphical user interface (GUI).

Workflow

The steps to carry out a finite element analysis are:

  1. Preprocessing: setting up the analysis problem.
    1. Modeling the geometry: creating the geometry with FreeCAD, or importing it from a different application.
    2. Creating an analysis.
      1. Adding simulation constraints such as loads and fixed supports to the geometric model.
      2. Adding materials to the parts off the geometric model.
      3. Creating a finite element mesh for the geometrical model, or importing it from a different application.
  2. Solving: running an external solver from within FreeCAD.
  3. Postprocessing: visualizing the analysis results from within FreeCAD, or exporting the results so they can be postprocessed with another application.

As of FreeCAD 0.15 the FEM Workbench can be used on Linux, Windows, and Mac OSX. Since the workbench makes use of external solvers, the amount of manual setup will depend on the operating system that you are using. See FEM Install for instructions on setting up the external tools.

Workflow of the FEM Workbench; the workbench calls two external programs to perform meshing of a solid object, and perform the actual solution of the finite element problem

Menu: Model

  • Analysis container: Creates a new container for a mechanical analysis. If a solid is selected in the tree view before clicking on it, the meshing dialog will be opened next.

Materials


  • image is missing Reinforced material: Lets you select reinforced materials consist of a matrix and a reinforcement from the database.

Element Geometry

Electrostatic Constraints

Fluid constraints

Mechanical constraints

  • Constraint force: Used to define a force in [N] applied uniformly to a selectable face in a definable direction.

Thermal constraints

Menu: Mesh

  • Nodes set: Creates/defines a node set from FEM mesh.

Menu: Solve

  • Solver Calculix CCX tools: Creates a new solver for this analysis. In most cases the solver is created together with the analysis.

Menu: Results

  • Result show: Used to display the result of an analysis.

Menu: Utilities

Context Menu

Preferences

Information

The following pages explain different topics of the FEM Workbench.

FEM Install: a detailed description on how to set up the external programs used in the workbench.

FEM Mesh: further information on obtaining a mesh for finite element analysis.

FEM Solver: further information on the different solvers available in the workbench, and those that could be used in the future.

FEM CalculiX: further information on CalculiX, the default solver used in the workbench for structural analysis.

FEM Concrete: interesting information on the topic of simulating concrete structures.

FEM Project: further information on the unit system, limitations, and the development ideas and roadmap of the workbench.

Tutorials

Tutorial 1: FEM CalculiX Cantilever 3D; basic simply supported beam analysis.

Tutorial 2: FEM Tutorial; simple tension analysis of a structure.

Tutorial 3: FEM Tutorial Python; set up the cantilever example entirely through scripting in Python, including the mesh.

Tutorial 4: FEM Shear of a Composite Block; see the deformation of a block that is comprised of two materials.

Tutorial 5: Transient FEM analysis

Tutorial 6: Post-Processing_of_FEM_Results_with_Paraview


Coupled thermal mechanical analysis tutorials by openSIM

Video tutorial 1: FEM video for beginner (including YouTube link)

Video tutorial 2: FEM video for beginner (including YouTube link)

Many video tutorials: anisim Open Source Engineering Software (in German)

Extending the FEM Workbench

The FEM Workbench is under constant development. An objective of the project is to find ways to easily interact with various FEM solvers, so that the end user can streamline the process of creating, meshing, simulating, and optimizing an engineering design problem, all within FreeCAD.

The following information is aimed at power users and developers who want to extend the FEM Workbench in different ways. Familiarity with C++ and Python is expected, and also some knowledge of the "document object" system used in FreeCAD is necessary; this information is available in the Power users hub and the Developer hub. Please notice that since FreeCAD is under active development, some articles may be too old, and thus obsolete. The most up to date information is discussed in the FreeCAD forums, in the Development section. For FEM discussions, advice or assistance in extending the workbench, the reader should refer to the FEM subforum.

The following articles explain how the workbench can be extended, for example, by adding new types of boundary conditions (constraints), or equations.

A developer's guide has been written to help power users in understanding the complex FreeCAD codebase and the interactions between the core elements and the individual workbenches. The book is hosted at github so multiple users can contribute to it and keep it updated.