Setup Nonlinear Structural Analysis in FreeCAD FEM

Setting up a nonlinear structural analysis in FreeCAD's Finite Element Method (FEM) workbench allows you to simulate models subject to large deformations, geometric nonlinearities, or nonlinear material behaviors. This guide details the step-by-step process of preparing your CAD geometry, assigning material properties, applying constraints and loads, configuring the CalculiX solver specifically for nonlinear settings, and running the simulation to evaluate incremental results.

1. Prepare the Analysis Container

  1. Open your 3D model in FreeCAD.
  2. Switch to the FEM Workbench using the workbench dropdown selector.
  3. Click the Analysis container button (yellow sphere icon) in the toolbar. This creates the FEM hierarchy in the tree view, which will hold your materials, constraints, mesh, and solver settings.

2. Assign Material Properties

Nonlinear analysis often requires defining plasticity or nonlinear elastic behaviors, though geometric nonlinearity can also be evaluated with standard linear-elastic materials:

  1. Select your body in the tree view.
  2. Click FEM material for solid.
  3. Choose a material from the built-in database (such as Steel or Aluminum) to define standard properties like Young’s Modulus and Poisson’s Ratio.
  4. If your analysis involves material plasticity, check the material object properties to define yield strength and post-yield plastic behavior according to your material's stress-strain curve.
  5. Click OK.

3. Apply Boundary Conditions and Loads

Nonlinear analyses resolve forces over multiple increments. Define realistic constraints to prevent rigid-body motion:

  • Fixed Constraints: Select the faces or edges where the part is anchored, click FEM constraint fixed, and confirm.
  • Loads: Select the surfaces receiving external forces or pressures, then click FEM constraint force or FEM constraint pressure. Enter the total magnitude. The solver will ramp this load up gradually across iterations.

4. Generate the FEM Mesh

A refined mesh is essential for nonlinear convergence, particularly in regions expecting high stress gradients or bending:

  1. Select the 3D part.
  2. Click FEM mesh from shape by Gmsh (or Netgen).
  3. Set the element dimension to From shape or define custom maximum/minimum element sizes.
  4. Ensure element order is set to Second Order (quadratic elements like 10-node tetrahedrals) for improved accuracy during large deformations.
  5. Click Apply and then OK.

5. Configure the Solver for Nonlinearity

FreeCAD uses CalculiX as its primary structural solver. To enable nonlinear calculations, adjust the solver's properties:

  1. Click Solver CalculiX Standard to add the solver object to your Analysis container.
  2. Select the SolverCalculixCxxtools object in the tree view and inspect the Property View below:
    • Geometric Nonlinearity: Set to true (this corresponds to the *STEP, NLGEOM card in CalculiX, which accounts for large deflections and rotations).
    • Iterations Maximum: Increase if necessary (default is typically sufficient, but complex problems may need 100 or more).
    • Time End: Set the pseudo-time duration for the step (typically 1.0).
    • Time Initial Step: Set an initial step size (e.g., 0.01 to 0.1) to ensure the solver starts with small increments.
    • Time Minimum Step: Set a small threshold (e.g., 1e-5) to allow the solver to cut back the step size if convergence fails.

6. Run the Analysis and Post-Process

  1. Double-click the SolverCalculixCxxtools object in the tree view.
  2. Click Write .inp file to generate the input deck.
  3. Click Run CalculiX.
  4. Monitor the output console. In a nonlinear run, you will see CalculiX perform multiple iterations per increment until equilibrium is achieved.
  5. Once the run finishes, close the solver dialogue.
  6. A new results pipeline will appear in your tree. Double-click the results object to view Von Mises stress, displacement, or strain fields across individual load increments.