FEM CalculiX
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:
- A CalculiX input file is created with details required to run the simulation
- The CalculiX solver is started with this input file
- The output from the solver is logged
- 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
- FEM Mesh CalculiX
- CalculiX page in the FEM Workbench preferences
- Materials: Solid Material, Fluid Material, Non-Linear Mechanical Material, Reinforced Material (Concrete); Material Editor
- Element Geometry: Beam Cross Section, Beam Rotation, Shell Plate Thickness, Fluid Section for 1D Flow
- Electromagnetic Boundary Conditions: Electrostatic Potential Boundary Condition, Current Density Boundary Condition, Magnetization Boundary Condition, Electric Charge Density
- Fluid Boundary Conditions: Initial Flow Velocity Condition, Initial Pressure Condition, Flow Velocity Boundary Condition
- Geometrical Analysis Features: Plane Multi-Point Constraint, Section Print Feature, Local Coordinate System
- Mechanical Boundary Conditions and Loads: Fixed Boundary Condition, Rigid Body Constraint, Displacement Boundary Condition, Contact Constraint, Tie Constraint, Spring Boundary Condition, Force Load, Pressure Load, Centrifugal Load, Gravity Load
- Thermal Boundary Conditions and Loads: Initial Temperature, Heat Flux Load, Temperature Boundary Condition, Body Heat Source
- Overwrite Constants: Constant Vacuum Permittivity
- Mesh: Mesh From Shape by Netgen, Mesh From Shape by Gmsh, Mesh Boundary Layer, Mesh Refinement, Mesh Group, Erase Elements, FEM Mesh to Mesh
- Solve: Solver CalculiX, Solver Elmer, Solver Mystran, Solver Z88; Mechanical Equations: Elasticity Equation, Deformation Equation; Electromagnetic Equations: Electrostatic Equation, Electricforce Equation, Magnetodynamic Equation, Magnetodynamic 2D Equation, Static Current Equation; Flow Equation, Flux Equation, Heat Equation, Solver Job Control, Run Solver
- Results: Purge Results, Show Result, Apply Changes to Pipeline, Post Pipeline From Result, Pipeline Branch, Warp Filter, Scalar Clip Filter, Function Cut Filter, Region Clip Filter, Contours Filter, Glyph Filter, Line Clip Filter, Stress Linearization Plot, Data at Point Clip Filter, Calculator Filter; Filter Functions: Plane, Sphere, Cylinder, Box; Data Visualizations: Create Lineplot, Create Histogram, Create Table
- Utilities: Clipping Plane on Face, Remove All Clipping Planes, FEM Examples; Clear FEM Mesh, Display Mesh Info
- Additional: Preferences; FEM Install, FEM Mesh, FEM Solver, FEM CalculiX, FEM Concrete; FEM Element Types