Jump to content

FEM CalculiX

From FreeCAD Documentation
This page is a translated version of the page FEM CalculiX and the translation is 10% complete.
Outdated translations are marked like this.

Introduction

This page collects information on the CalculiX finite element solver, the default solver in the FEM Workbench for structural and thermo-mechanical analysis. Depending on the operating system you are working with, you'll need to install CalculiX before running your first simulation. Please see FEM Install.

The solver is able to do linear and non-linear calculations, for static, dynamic, and thermal problems. The solver operates on an Abaqus-like input file (.inp), which means it can be used with different pre-processors that support this format. The program includes its own graphical preprocessor which, however, is not used by FreeCAD, only the solver itself.

CalculiX is designed to run on Unix platforms like Linux and Irix computers but also on MS-Windows. CalculiX was developed by engineers from MTU Aero Engines, Munich, Germany, to assist them in designing machinery such as jet turbines. The software is currently released to the public on the terms of the GPL version 2.

Integration with FreeCAD

Interaction between the FEM Workbench and CalculiX is done through writing and reading text files. The sequence of operations is as follows:

  1. A CalculiX input file is created with details required to run the simulation
  2. The CalculiX solver is started with this input file
  3. The output from the solver is logged
  4. The output files from the solver are read, if they are available

The FEM Control Solver tool manages the whole process. User interaction in the process is possible.

Preprocessing interface

The input file that CalculiX uses can be prepared and edited before the solver is started. CalculiX doesn't use units and it's the user's responsibility to ensure that the same unit system is used consistently in the whole input deck. The units in which FreeCAD writes the input file are independent of the unit system set in FreeCAD's project or preferences. The input file is always written using the SI(mm) unit system:

  • length: mm,
  • force: N,
  • mass: tonne,
  • time: s,
  • pressure: MPa,
  • energy: mJ,
  • density: tonne/mm^3,
  • temperature: K.

The CalculiX interface supports the following objects:

Элементы МКЭ

  • 3D solid:
    • tetrahedral: C3D4, C3D10
    • hexahedral: C3D8(R), C3D20(R)
  • 3D shell and membrane:
    • triangular: S3, S6, M3D3, M3D6
    • quadrilateral: S4(R), S8(R), M3D4(R), M3D8(R)
  • 2D plane stress, plane strain and axisymmetric:
    • triangular: CPS3, CPS6, CPE3, CPE6, CAX3, CAX6
    • quadrilateral: CPS4(R), CPS8(R), CPE4(R), CPE8(R), CAX4(R), CAX8(R)
  • 3D beam and truss: B31(R), B32(R), T3D2, T3D3

More details about the supported CalculiX elements can be found on the FEM Mesh CalculiX page.

Анализ

  • Linear and nonlinear static analysis
  • Frequency analysis
  • Linear buckling analysis
  • Coupled and uncoupled thermal-structural analysis, pure heat transfer analysis
  • Electrostatic analysis - only refactored CalculiX solver implementation

Материалы

  • Linear elastic isotropic materials (uniform properties in all directions)
  • Plasticity with isotropic or kinematic hardening

Postprocessing interface

The legacy CalculiX implementation ("SolverCcxTools" object created if the "Result object" preference is disabled) in the FEM workbench loads the results into "CCX_Results" legacy result objects which will contain:

  • Displacements (components and magnitude)
  • Stresses: max/min principal, von Mises, max shear (Tresca)
  • Equivalent plastic strain – if nonlinear material was used
  • Temperature – for thermomechanical analysis
  • Mass flow rate and network pressure - for 1D fluid networks

These objects show color maps without legend, but minimum and maximum values can be read from the task panel. Units shown there are adjusted based on the values (e.g. GPa for large stresses, mm for small displacements and so on). FreeCAD reads the results from the *.frd file which was created by CalculiX. If these results contain multiple time steps, each time step is imported to FreeCAD as a new result object. The same behavior applies for Frequency or Buckling analysis with multiple eigenvalues. Each result object contains the mode number or buckling factor value in its name and the ДанныеEigenmode Frequency property shows the corresponding natural frequency.

The legacy CalculiX implementation also creates a multi-frame "Pipeline_CCX_Results" results pipeline object. The units there are currently inconsistent - the input SI(mm) system is used for most outputs apart from displacements (meters) and stresses (Pascals). So, for example, heat flux units are mW/mm^2.

Results available in the legacy CalculiX solver's pipeline object are:

  • Displacement [m]
  • Displacement magnitude [m]
  • Tresca stress [Pa]
  • Strain xx, xy, xz, yy, yz and zz components [-]
  • Stress xx, xy, xz, yy, yz and zz components [Pa]
  • Major, intermediate and minor principal stress [Pa]
  • Von Mises stress [Pa]
  • Critical strain ratio - for analyses with nonlinear (plastic) materials [-]
  • Equivalent plastic strain - for analyses with nonlinear (plastic) materials [-]
  • Major, intermediate and minor principal stress vector - for analyses with reinforced materials [-]
  • Mohr-Coulomb stress - for analyses with reinforced materials [Pa]
  • Reinforcement ratio x,y,z - for analyses with reinforced materials [-]
  • Mass flow rate - for 1D fluid networks [tonne/s]
  • Network pressure - for 1D fluid networks [Pa]
  • Heat flux - for thermomechanical analyses [mW/mm^2]
  • Temperature - for thermomechanical analyses [K]

The refactored CalculiX implementation ("SolverCalculiX" object created if the "Result object" preference is enabled) creates only a multi-frame "SolverCalculiXResult" results pipeline object. The units there are consistent with input SI(mm) units so displacements are in mm, stresses in MPa, heat flux in mW/mm^2 and so on.

Results available in the refactored CalculiX solver's pipeline object are:

  • Displacement components and magnitude [mm]
  • Stress components and magnitude [MPa]
  • Strain components and magnitude [-]
  • Error [-]
  • Major, intermediate and minor principal stress [MPa]
  • Major, intermediate and minor principal stress direction [-]
  • Von Mises stress [MPa]
  • Tresca stress [MPa]
  • Maximum absolute principal stress [MPa]
  • Heat flux components and magnitude - for thermomechanical analyses [mw/mm^2]
  • Temperature - for thermomechanical analyses [K]
  • Equivalent plastic strain - for analyses with nonlinear (plastic) materials [-]
  • Mass flow rate (MF) - for 1D fluid networks [tonne/s]
  • Network pressure (PS) - for 1D fluid networks [MPa]
  • Potential - for electrostatic analyses [mV]
  • Electric flux density - for electrostatic analyses [C/mm^2]

Reaction forces can be found in ccx_dat_file which contains reaction force components (fx, fy, fz) for each fixed boundary condition and for each displacement boundary condition which constrains translation degrees of freedom. Displacements, reaction forces and moments are also printed there for degrees of freedom constrained at rigid body constraint reference nodes.

The same file contains eigenvalue output for frequency analyses and buckling factor for buckling analyses.

Related