FEM Workbench/pl: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Created page with "==Przepływ pracy==")
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{Docnav
{{Docnav
|[[Drawing_Workbench|Drawing Workbench]]
|[[Drawing_Workbench|Drawing Workbench]]
Line 7: Line 8:
}}
}}


[[Image:Workbench_FEM.svg|thumb|128px|FEM workbench icon]]
[[Image:Workbench_FEM.svg|thumb|128px|Ikonka FreeCAD dla środowiska pracy MES]]


{{TOCright}}
== Introduction ==


==Wprowadzenie==
The [[FEM Module|FEM Workbench]] provides a modern [https://en.wikipedia.org/wiki/Finite_element_analysis finite element analysis] (FEA) workflow for FreeCAD. Mainly this means all tools to make an analysis are combined into one graphical user interface (GUI).

The [[FEM_Workbench|FEM Workbench]] provides a modern [https://en.wikipedia.org/wiki/Finite_element_analysis finite element analysis] (FEA) workflow for FreeCAD. Mainly this means all tools to make an analysis are combined into one graphical user interface (GUI).


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


== Workflow ==
==Przepływ pracy==


The steps to carry out a finite element analysis are:
The steps to carry out a finite element analysis are:
Line 28: Line 30:
# Postprocessing: visualizing the analysis results from within FreeCAD, or exporting the results so they can be postprocessed with another application.
# 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|FEM Install]] for instructions on setting up the external tools.
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]]
[[Image:FEM_Workbench_workflow.svg|600px]]
Line 40: Line 42:
=== Materials ===
=== Materials ===


* [[Image:FEM_MaterialSolid.svg|32px]] [[FEM_MaterialSolid|Material for solid]]: Lets you select a material from the database.
* [[Image:FEM_MaterialSolid.svg|32px]] [[FEM_MaterialSolid|Material for solid]]: Lets you select a solid material from the database.


* [[Image:FEM_MaterialFluid.svg|32px]] [[FEM_MaterialFluid|Material for fluid]]: Lets you select a material from the database.
* [[Image:FEM_MaterialFluid.svg|32px]] [[FEM_MaterialFluid|Material for fluid]]: Lets you select a fluid material from the database.


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


* [[Image:FEM_MaterialReinforced.svg|32px]] [[FEM_MaterialReinforced|Reinforced material]]: Lets you select reinforced materials consist of a matrix and a reinforcement from the database.
* [[Image:FEM_MaterialReinforced.svg|32px]] [[FEM_MaterialReinforced|Reinforced material (concrete)]]: Lets you select reinforced materials consisting 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.


=== Element Geometry ===
=== Element Geometry ===


* [[Image:FEM_ElementGeometry1D.svg|32px]] [[FEM_ElementGeometry1D|Beam cross section]]:
* [[Image:FEM_ElementGeometry1D.svg|32px]] [[FEM_ElementGeometry1D|Beam cross section]]: Used to define cross sections for beam elements.


* [[Image:FEM_ElementRotation1D.svg|32px]] [[FEM_ElementRotation1D|Beam rotation]]:
* [[Image:FEM_ElementRotation1D.svg|32px]] [[FEM_ElementRotation1D|Beam rotation]]: Used to rotate cross sections of beam elements.


* [[Image:FEM_ElementGeometry2D.svg|32px]] [[FEM_ElementGeometry2D|Shell plate thickness]]:
* [[Image:FEM_ElementGeometry2D.svg|32px]] [[FEM_ElementGeometry2D|Shell plate thickness]]: Used to define shell element thickness.


* [[Image:FEM_ElementFluid1D.svg|32px]] [[FEM_ElementFluid1D|Fluid section for 1D flow]]: Creates a FEM fluid section element for pneumatic and hydraulic networks.
* [[Image:FEM_ElementFluid1D.svg|32px]] [[FEM_ElementFluid1D|Fluid section for 1D flow]]: Creates a FEM fluid section element for pneumatic and hydraulic networks.
Line 64: Line 66:
* [[Image:FEM_ConstraintElectrostaticPotential.svg|32px]] [[FEM_ConstraintElectrostaticPotential|Constraint electrostatic potential]]:
* [[Image:FEM_ConstraintElectrostaticPotential.svg|32px]] [[FEM_ConstraintElectrostaticPotential|Constraint electrostatic potential]]:


=== Fluid constraints ===
=== Fluid Constraints ===


* [[Image:FEM_ConstraintInitialFlowVelocity.svg|32px]] [[FEM_ConstraintInitialFlowVelocity|Constraint initial flow velocity]]: Used to define an initial flow velocity for the domain.
* [[Image:FEM_ConstraintInitialFlowVelocity.svg|32px]] [[FEM_ConstraintInitialFlowVelocity|Constraint initial flow velocity]]: Used to define an initial flow velocity for the domain.

* [[Image:FEM_ConstraintFluidBoundary.svg|32px]] [[FEM_ConstraintFluidBoundary|Constraint fluid boundary]]:


* [[Image:FEM_ConstraintFlowVelocity.svg|32px]] [[FEM_ConstraintFlowVelocity|Constraint flow velocity]]: Used to define a flow velocity as a boundary condition at an edge (2D) or face (3D).
* [[Image:FEM_ConstraintFlowVelocity.svg|32px]] [[FEM_ConstraintFlowVelocity|Constraint flow velocity]]: Used to define a flow velocity as a boundary condition at an edge (2D) or face (3D).


=== Mechanical constraints ===
=== Geometrical Constraints ===

* [[Image:FEM_ConstraintPlaneRotation.svg|32px]] [[FEM_ConstraintPlaneRotation|Constraint plane rotation]]: Used to define a plane rotation constraint on a planar face.

* [[Image:FEM_ConstraintSectionPrint.svg|32px]] [[FEM_ConstraintSectionPrint|Constraint section print]]: {{Version|0.19}}

* [[Image:FEM_ConstraintTransform.svg|32px]] [[FEM_ConstraintTransform|Constraint transform]]: Used to define a transform constraint on a face.

=== Mechanical Constraints ===


* [[Image:FEM_ConstraintFixed.svg|32px]] [[FEM_ConstraintFixed|Constraint fixed]]: Used to define a fixed constraint on point/edge/face(s).
* [[Image:FEM_ConstraintFixed.svg|32px]] [[FEM_ConstraintFixed|Constraint fixed]]: Used to define a fixed constraint on point/edge/face(s).


* [[Image:FEM_ConstraintDisplacement.svg|32px]] [[FEM_ConstraintDisplacement|Constraint displacement]]: Used to define a displacement constraint on point/edge/face(s).
* [[Image:FEM_ConstraintDisplacement.svg|32px]] [[FEM_ConstraintDisplacement|Constraint displacement]]: Used to define a displacement constraint on point/edge/face(s).

* [[Image:FEM_ConstraintPlaneRotation.svg|32px]] [[FEM_ConstraintPlaneRotation|Constraint plane rotation]]: Used to define a plane rotation constraint on a planar face.


* [[Image:FEM_ConstraintContact.svg|32px]] [[FEM_ConstraintContact|Constraint contact]]: Used to define a contact constraint between two faces.
* [[Image:FEM_ConstraintContact.svg|32px]] [[FEM_ConstraintContact|Constraint contact]]: Used to define a contact constraint between two faces.


* [[Image:FEM_ConstraintTransform.svg|32px]] [[FEM_ConstraintTransform|Constraint transform]]: Used to define a transform constraint on a face.
* [[Image:FEM_ConstraintTie.svg|32px]] [[FEM_ConstraintTie|Constraint tie]]: Used to define a tie constraint ("bonded contact") between two faces. {{Version|0.19}}

* [[Image:FEM_ConstraintSpring.svg|32px]] [[FEM_ConstraintSpring|Constraint spring]]: Used to define a spring. {{Version|0.20}}


* [[Image:FEM_ConstraintForce.svg|32px]] [[FEM_ConstraintForce|Constraint force]]: Used to define a force in [N] applied uniformly to a selectable face in a definable direction.
* [[Image:FEM_ConstraintForce.svg|32px]] [[FEM_ConstraintForce|Constraint force]]: Used to define a force in [N] applied uniformly to a selectable face in a definable direction.
Line 90: Line 98:
* [[Image:FEM_ConstraintSelfWeight.svg|32px]] [[FEM_ConstraintSelfWeight|Constraint self weight]]: Used to define a gravity acceleration acting on a model.
* [[Image:FEM_ConstraintSelfWeight.svg|32px]] [[FEM_ConstraintSelfWeight|Constraint self weight]]: Used to define a gravity acceleration acting on a model.


=== Thermal Constraints ===
* [[Image:FEM_ConstraintBearing.svg|32px]] [[FEM_ConstraintBearing|Constraint bearing]]: Used to define a bearing constraint.

* [[Image:FEM_ConstraintGear.svg|32px]] [[FEM_ConstraintGear|Constraint gear]]: Used to define a gear constraint.

* [[Image:FEM_ConstraintPulley.svg|32px]] [[FEM_ConstraintPulley|Constraint pulley]]: Used to define a pulley constraint.

=== Thermal constraints ===


* [[Image:FEM_ConstraintInitialTemperature.svg|32px]] [[FEM_ConstraintInitialTemperature|Constraint initial temperature]]: Used to define the initial temperature of a body.
* [[Image:FEM_ConstraintInitialTemperature.svg|32px]] [[FEM_ConstraintInitialTemperature|Constraint initial temperature]]: Used to define the initial temperature of a body.
Line 104: Line 106:
* [[Image:FEM_ConstraintTemperature.svg|32px]] [[FEM_ConstraintTemperature|Constraint temperature]]: Used to define a temperature constraint on a point/edge/face(s).
* [[Image:FEM_ConstraintTemperature.svg|32px]] [[FEM_ConstraintTemperature|Constraint temperature]]: Used to define a temperature constraint on a point/edge/face(s).


* [[Image:FEM_ConstraintBodyHeatSource.svg|32px]] [[FEM_ConstraintBodyHeatSource|Constraint body heat source]]:
* [[Image:FEM_ConstraintBodyHeatSource.svg|32px]] [[FEM_ConstraintBodyHeatSource|Constraint body heat source]]: Used to define an internally generated body heat.

=== Constraints without solver ===

* [[Image:FEM_ConstraintFluidBoundary.svg|32px]] [[FEM_ConstraintFluidBoundary|Fluid boundary condition]]:

* [[Image:FEM_ConstraintBearing.svg|32px]] [[FEM_ConstraintBearing|Constraint bearing]]: Used to define a bearing constraint.

* [[Image:FEM_ConstraintGear.svg|32px]] [[FEM_ConstraintGear|Constraint gear]]: Used to define a gear constraint.

* [[Image:FEM_ConstraintPulley.svg|32px]] [[FEM_ConstraintPulley|Constraint pulley]]: Used to define a pulley constraint.

=== Overwrite Constants ===

* [[Image:FEM_ConstantVacuumPermittivity.svg|32px]] [[FEM_ConstantVacuumPermittivity|Constant vacuum permittivity]]: {{Version|0.19}}


== Menu: Mesh ==
== Menu: Mesh ==
Line 110: Line 126:
* [[Image:FEM_MeshNetgenFromShape.svg|32px]] [[FEM_MeshNetgenFromShape|FEM mesh from shape by Netgen]]:
* [[Image:FEM_MeshNetgenFromShape.svg|32px]] [[FEM_MeshNetgenFromShape|FEM mesh from shape by Netgen]]:


* [[Image:FEM_MeshGmshFromShape.svg|32px]] [[FEM_MeshGmshFromShape|FEM mesh from shape by GMSH]]:
* [[Image:FEM_MeshGmshFromShape.svg|32px]] [[FEM_MeshGmshFromShape|FEM mesh from shape by Gmsh]]:


* [[Image:FEM_MeshBoundaryLayer.svg|32px]] [[FEM_MeshBoundaryLayer|FEM mesh boundary layer]]:
* [[Image:FEM_MeshBoundaryLayer.svg|32px]] [[FEM_MeshBoundaryLayer|FEM mesh boundary layer]]: Creates anisotropic meshes for accurate calculations near boundaries.


* [[Image:FEM_MeshRegion.svg|32px]] [[FEM_MeshRegion|FEM mesh region]]:
* [[Image:FEM_MeshRegion.svg|32px]] [[FEM_MeshRegion|FEM mesh region]]: Creates a localized area(s) to mesh which highly optimizes analysis time.


* [[Image:FEM_MeshGroup.svg|32px]] [[FEM_MeshGroup|FEM mesh group]]:
* [[Image:FEM_MeshGroup.svg|32px]] [[FEM_MeshGroup|FEM mesh group]]: Groups and labels elements of a mesh (vertex, edge, surface) together, useful for exporting the mesh to external solvers.


* [[Image:FEM_CreateNodesSet.svg|32px]] [[FEM_CreateNodesSet|Nodes set]]: Creates/defines a node set from FEM mesh.
* [[Image:FEM_CreateNodesSet.svg|32px]] [[FEM_CreateNodesSet|Nodes set]]: Creates/defines a node set from FEM mesh.
Line 124: Line 140:
== Menu: Solve ==
== Menu: Solve ==


* [[Image:FEM_SolverCalculixCxxtools.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_SolverCalculixCxxtools.svg|32px]] [[FEM_SolverCalculixCxxtools|Solver CalculiX Standard]]: Creates a new solver for this analysis. In most cases the solver is created together with the analysis.


* [[Image:FEM_SolverCalculiX.svg|32px]] [[FEM_SolverCalculiX|Solver CalculiX]]:
* [[Image:FEM_SolverCalculiX.svg|32px]] [[FEM_SolverCalculiX|Solver CalculiX (experimental)]]:


* [[Image:FEM_SolverElmer.svg|32px]] [[FEM_SolverElmer|Solver Elmer]]: Creates the solver controller for Elmer. It is independent from other solver objects.
* [[Image:FEM_SolverElmer.svg|32px]] [[FEM_SolverElmer|Solver Elmer]]: Creates the solver controller for Elmer. It is independent from other solver objects.

* [[Image:FEM_SolverMystran.svg|32px]] [[FEM_SolverMystran|Solver Mystran]]:


* [[Image:FEM_SolverZ88.svg|32px]] [[FEM_SolverZ88|Solver Z88]]:
* [[Image:FEM_SolverZ88.svg|32px]] [[FEM_SolverZ88|Solver Z88]]:


* [[Image:FEM_EquationHeat.svg|32px]] [[FEM_EquationHeat|Equation heat]]:
* [[Image:FEM_EquationElasticity.svg|32px]] [[FEM_EquationElasticity|Elasticity equation]]:

* [[Image:FEM_EquationElectricforce.svg|32px]] [[FEM_EquationElectricforce|Electricforce equation]]: {{Version|0.19}}


* [[Image:FEM_EquationElasticity.svg|32px]] [[FEM_EquationElasticity|Equation elasticity]]:
* [[Image:FEM_EquationElectrostatic.svg|32px]] [[FEM_EquationElectrostatic|Electrostatic equation]]:


* [[Image:FEM_EquationElectrostatic.svg|32px]] [[FEM_EquationElectrostatic|Equation electrostatic]]:
* [[Image:FEM_EquationFlow.svg|32px]] [[FEM_EquationFlow|Flow equation]]:


* [[Image:FEM_EquationFlux.svg|32px]] [[FEM_EquationFlux|Equation flux]]:
* [[Image:FEM_EquationFlux.svg|32px]] [[FEM_EquationFlux|Flux equation]]:


* [[Image:FEM_EquationFlow.svg|32px]] [[FEM_EquationFlow|Equation flow]]:
* [[Image:FEM_EquationHeat.svg|32px]] [[FEM_EquationHeat|Heat equation]]:


* [[Image:FEM_SolverControl.svg|32px]] [[FEM_SolverControl|Solver job control]]: Opens the menu to adjust and start the selected solver.
* [[Image:FEM_SolverControl.svg|32px]] [[FEM_SolverControl|Solver job control]]: Opens the menu to adjust and start the selected solver.


* [[Image:FEM_SolverRun.svg|32px]] [[FEM_SolverRun|Solver run calculation]]: Runs the selected solver of the active analysis.
* [[Image:FEM_SolverRun.svg|32px]] [[FEM_SolverRun|Run solver calculations]]: Runs the selected solver of the active analysis.


== Menu: Results ==
== Menu: Results ==


* [[Image:FEM_ResultsPurge.svg|32px]] [[FEM_ResultsPurge|Results purge]]: Deletes the results of the active analysis.
* [[Image:FEM_ResultsPurge.svg|32px]] [[FEM_ResultsPurge|Purge results]]: Deletes the results of the active analysis.


* [[Image:FEM_ResultShow.svg|24px]] [[FEM_ResultShow|Result show]]: Used to display the result of an analysis.
* [[Image:FEM_ResultShow.svg|24px]] [[FEM_ResultShow|Show result]]: Used to display the result of an analysis.


* [[Image:FEM_PostApplyChanges.svg|32px]] [[FEM_PostApplyChanges|Post Apply changes]]:
* [[Image:FEM_PostApplyChanges.svg|32px]] [[FEM_PostApplyChanges|Apply changes to pipeline]]:


* [[Image:FEM_PostPipelineFromResult.svg|32px]] [[FEM_PostPipelineFromResult|Post Pipeline from result]]:
* [[Image:FEM_PostPipelineFromResult.svg|32px]] [[FEM_PostPipelineFromResult|Post pipeline from result]]:


* [[Image:FEM_PostFilterWarp.svg|32px]] [[FEM_PostFilterWarp|Post Create warp vector filter]]:
* [[Image:FEM_PostFilterWarp.svg|32px]] [[FEM_PostFilterWarp|Warp filter]]:


* [[Image:FEM_PostFilterClipScalar.svg|32px]] [[FEM_PostFilterClipScalar|Post Create scalar clip filter]]:
* [[Image:FEM_PostFilterClipScalar.svg|32px]] [[FEM_PostFilterClipScalar|Scalar clip filter]]:


* [[Image:FEM_PostFilterCutFunction.svg|32px]] [[FEM_PostFilterCutFunction|Post Create cut filter]]:
* [[Image:FEM_PostFilterCutFunction.svg|32px]] [[FEM_PostFilterCutFunction|Function cut filter]]:


* [[Image:FEM_PostFilterClipRegion.svg|32px]] [[FEM_PostFilterClipRegion|Post Create clip filter]]:
* [[Image:FEM_PostFilterClipRegion.svg|32px]] [[FEM_PostFilterClipRegion|Region clip filter]]:


* [[Image:FEM_PostFilterDataAlongLine.svg|32px]] [[FEM_PostFilterDataAlongLine|Post Create data along line filter]]:
* [[Image:FEM_PostFilterDataAlongLine.svg|32px]] [[FEM_PostFilterDataAlongLine|Line clip filter]]:


* [[Image:FEM_PostFilterLinearizedStresses.svg|32px]] [[FEM_PostFilterLinearizedStresses|Post Create linearized stresses]]:
* [[Image:FEM_PostFilterLinearizedStresses.svg|32px]] [[FEM_PostFilterLinearizedStresses|Stress linearization plot]]:


* [[Image:FEM_PostFilterDataAtPoint.svg|32px]] [[FEM_PostFilterDataAtPoint|Post Create data at point filter]]:
* [[Image:FEM_PostFilterDataAtPoint.svg|32px]] [[FEM_PostFilterDataAtPoint|Data at point clip filter]]:


* [[Image:Fem-post-geo-sphere.svg|32px]][[File:Toolbar_flyout_arrow.svg|16px]] [[FEM_PostCreateFunctions|Post Create functions]]:
* [[FEM_PostCreateFunctions|Filter functions]]:
** [[Image:Fem-post-geo-sphere.svg|32px]] :
** [[Image:Fem-post-geo-plane.svg|32px]]
** [[Image:Fem-post-geo-plane.svg|32px]] :
** [[Image:Fem-post-geo-sphere.svg|32px]]


== Menu: Utilities ==
== Menu: Utilities ==
Line 180: Line 200:
* [[Image:FEM_ClippingPlaneRemoveAll.svg|32px]] [[FEM_ClippingPlaneRemoveAll|Remove all clipping planes]]:
* [[Image:FEM_ClippingPlaneRemoveAll.svg|32px]] [[FEM_ClippingPlaneRemoveAll|Remove all clipping planes]]:


* [[Image:FEM_Examples.svg|32px]] [[FEM_Examples|FEM Examples]]: Open the GUI to access FEM examples.
* [[Image:FEM_Examples.svg|32px]] [[FEM_Examples|Open FEM examples]]: Open the GUI to access FEM examples.


== Context Menu ==
== Context Menu ==


* [[Image:FEM_MeshClear.svg|32px]] [[FEM_MeshClear|FEM mesh clear]]:
* [[Image:FEM_MeshClear.svg|32px]] [[FEM_MeshClear|Clear FEM mesh]]: Deletes the mesh file from the FreeCAD file. Useful to make a FreeCAD file lighter.


* [[Image:FEM_MeshDisplayInfo.svg|32px]] [[FEM_MeshDisplayInfo|FEM mesh display info]]:
* [[Image:FEM_MeshDisplayInfo.svg|32px]] [[FEM_MeshDisplayInfo|Display FEM mesh info]]: Displays basic statistics of existing mesh - number of nodes and elements of each type.


== Preferences ==
== Preferences ==
Line 241: Line 261:
The following articles explain how the workbench can be extended, for example, by adding new types of boundary conditions (constraints), or equations.
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]]
* [[Extend_FEM_Module|Extend FEM Module]]
* [[Onboarding_FEM_Devs|Onboarding FEM Devs]] attempts to orient new devs on how to contribute to the FEM workbench.
* [[Add_FEM_Constraint_Tutorial|Add FEM Constraint Tutorial]]
* [[Add_FEM_Constraint_Tutorial|Add FEM Constraint Tutorial]]
* [[Add_FEM_Equation_Tutorial|Add FEM Equation 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.
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.
* [https://forum.freecadweb.org/viewtopic.php?t=17581 Early preview of ebook: Module developer' guide to FreeCAD source] (forum thread)
* [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)
* [https://github.com/qingfengxia/FreeCAD_Mod_Dev_Guide FreeCAD Mod Dev Guide] github repository.

== Extending the FEM Workbench documentation ==

* More information regarding extending or missing FEM documentation can be found in the forum: [https://forum.freecadweb.org/viewtopic.php?f=18&t=20823 FEM documentation missing on the Wiki]


{{Docnav
{{Docnav

Revision as of 17:53, 4 December 2021

Ikonka FreeCAD dla środowiska pracy MES

Wprowadzenie

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).

Przepływ pracy

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.

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

Element Geometry

Electrostatic Constraints

Fluid Constraints

Geometrical Constraints

Mechanical Constraints

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

Thermal Constraints

Constraints without solver

Overwrite Constants

Menu: Mesh

  • FEM mesh region: Creates a localized area(s) to mesh which highly optimizes analysis time.
  • FEM mesh group: Groups and labels elements of a mesh (vertex, edge, surface) together, useful for exporting the mesh to external solvers.
  • Nodes set: Creates/defines a node set from FEM mesh.

Menu: Solve

  • Solver CalculiX Standard: Creates a new solver for this analysis. In most cases the solver is created together with the analysis.
  • Solver Elmer: Creates the solver controller for Elmer. It is independent from other solver objects.

Menu: Results

  • Show result: Used to display the result of an analysis.

Menu: Utilities

Context Menu

  • Clear FEM mesh: Deletes the mesh file from the FreeCAD file. Useful to make a FreeCAD file lighter.
  • Display FEM mesh info: Displays basic statistics of existing mesh - number of nodes and elements of each type.

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

Tutorial 7: FEM Example Capacitance Two Balls; Elmer's GUI tutorial 6 "Electrostatics Capacitance Two Balls" using FEM Examples.


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.

Extending the FEM Workbench documentation