The Compliant Mechanism 2D analysis optimizes a planar material layout that transmits force and motion between designated input and output regions. The solver uses AI-driven design optimization to find the best material distribution for your boundary conditions.
When to use this analysis
Use Compliant Mechanism 2D when:
- The mechanism operates primarily in a single plane.
- You need to convert an input force or displacement into a controlled output motion (grippers, inverters, amplifiers).
- You want fast iteration cycles. 2D solves complete in seconds to minutes on typical grids.
- The out-of-plane dimension (thickness) is constant and can be treated with plane-stress assumptions.
Do not use this analysis when:
- The mechanism requires out-of-plane motion or has significant 3D geometry. Use Compliant Mechanism 3D instead.
- The design is driven by thermal expansion from bolt-pad mounting. Use Decoupled Flexure instead.
Required boundary conditions
A valid 2D compliant mechanism analysis requires at minimum:
| Condition | Object type | Purpose |
|---|
| Input | Input Preserve + Linear/Rotational Path | Where and in what direction force is applied |
| Output | Output Preserve + Linear/Rotational Path | Where and in what direction motion is desired |
| Fixed | Fixed Preserve or Boundary Fixed Preserve | Prevents rigid-body motion; anchors the mechanism |
You may also add Obstacles (keep-out zones) and Preserve Pairs (to control which inputs drive which outputs in multi-pair designs).
Solver parameters
Optimization
| Parameter | Type | Default | Range | Description |
|---|
| Volume fraction | float | 0.3 | 0.01 -- 0.99 | Target fraction of the design domain to fill with material. Lower values produce thinner, more flexible designs. |
| Penalization | float | 5.0 | 1.0 -- 10.0 | Controls design sharpness. Higher values produce crisper, more clearly defined solid-or-void designs. |
| Filter radius | float | auto | > 0 | Feature size control radius in element widths. Controls minimum feature size. Larger values yield smoother, more manufacturable designs. When unset, defaults to 1.5x element size. |
| Iterations | int | 20 | 1 -- 1000 | Maximum number of optimization iterations. |
| Convergence tolerance | float | 1e-5 | > 0 | Iteration stops when the maximum change in any design value drops below this value. |
Design domain
| Parameter | Type | Default | Range | Description |
|---|
| Design domain width | float | (from part) | > 0 | Width of the rectangular design domain in mm. |
| Design domain height | float | (from part) | > 0 | Height of the rectangular design domain in mm. |
| Element size | float | 2.0 | > 0 | Edge length of each mesh cell in mm. Determines mesh resolution. Smaller elements increase accuracy and compute time quadratically. |
| Thickness | float | 1.0 | > 0 | Out-of-plane thickness in mm. Used for plane-stress stiffness scaling. |
Material
| Parameter | Type | Default | Range | Description |
|---|
| Material | string | None | See Materials | Selected material from the database. Determines Young's modulus, Poisson's ratio, density, and yield stress. |
| Young's modulus | float | 3.5e9 Pa (3500 MPa) | > 0 | Young's modulus in Pa. Overridden when a material is selected. |
| Poisson's ratio | float | 0.36 | 0.0 -- 0.5 | Poisson's ratio. Overridden when a material is selected. |
Compliant mechanism
| Parameter | Type | Default | Range | Description |
|---|
| Formulation mode | enum | Nuanced | Robust, Nuanced | Solver formulation. Nuanced (default) is a fine-tuned stiffness control mode with a characteristic stiffness constraint. Robust is a general-purpose mode reliable for a wide range of mechanisms. |
| Mechanical advantage (J*) | float | -1.0 | any | Ratio of output displacement to input displacement. Negative values produce inverting mechanisms (output moves opposite to input). |
| Max characteristic stiffness (K_p) | float | 10.0 | > 0 | Upper bound on characteristic stiffness K_p (N/mm). Only active in Nuanced mode. Set per preserve pair. |
| Use summed constraint | bool | false | -- | When true, sums K_p across all pairs into a single constraint. When false, each pair has an independent constraint. |
Symmetry
| Parameter | Type | Default | Description |
|---|
| Mirror vertical | bool | false | Enforce vertical (left-right) symmetry in the design result. |
| Mirror horizontal | bool | false | Enforce horizontal (top-bottom) symmetry in the design result. |
Advanced
| Parameter | Type | Default | Description |
|---|
| Use nonlinear analysis | bool | false | Enable geometric and material nonlinearity in simulation. Increases compute time significantly. |
| Material model | enum | Linear Plane Stress | Material model when nonlinear analysis is enabled. Options: Linear Plane Stress, Saint Venant-Kirchhoff, Yeoh Hyperelastic, Neo-Hookean. |
| Enable penalization scheduling | bool | false | Linearly ramp design sharpness from the base value to the final penalization over the last N iterations. Helps the solver produce cleaner, more defined designs. |
| Final penalization | float | 15.0 | Target penalization at final iteration when scheduling is enabled. |
| Enable stress constraint | bool | false | Activate a KS-aggregated von Mises stress constraint. |
| Yield strength | float | 250.0 | Material yield stress in MPa. Used with the factor of safety to compute the stress limit. |
| Factor of safety | float | 1.5 | Factor of safety: stress limit = yield strength / factor of safety. |
| Force preserve density | bool | true | Force full material density in preserve regions. Prevents the optimizer from removing material under boundary condition patches. |
Solver output
Each completed iteration returns:
| Output | Description |
|---|
| Material layout | Element material distribution across the design domain. 0 = void, 1 = solid. |
| Compliance | Structural performance metric value. |
| K_p values | Characteristic stiffness for each preserve pair. |
| Volume fraction | Actual volume fraction achieved. |
| Design change | Maximum design value change this iteration. |
| Converged | Whether the maximum change dropped below the convergence tolerance. |
The final iteration additionally includes displacement field data for animation, and an STL mesh of the optimized design.