Surface Refinement
Refine a found surface with surface refinement.
Surface Refinement is an optional post-search step that refines the critical slip surface to find a lower factor of safety. After a search returns its best surface, this step perturbs the surface's control points — moving its endpoints and reshaping its interior — seeking a lower-FS geometry that an ordinary search grid may have missed.
The optimization uses the BOBYQA derivative-free algorithm (from the NLopt library, compiled to WebAssembly) to adjust control-point positions. Because it turns the surface non-circular, even circular search results can be improved.
Enabling
Surface Refinement is off by default. Enable it in the slip-surface settings to apply it after the search completes.
How it works
- The critical surface is resampled to a set of control points.
- Over several stages, the algorithm moves the endpoints and reshapes the surface curvature, evaluating the factor of safety with BOBYQA at each step.
- Stages repeat until the configured stage count is reached, or until the improvement in factor of safety falls below the minimum-change threshold.
Candidate evaluations run on background threads. Whichever executor runs the analysis sizes the thread budget from the threads it has available. The thread count is not a model setting and is not saved with the project.
Parameters
| Parameter | Default | Description |
|---|---|---|
| Enabled | off | Toggles the optimization on. |
| Stages (iterations) | 3 | Number of optimization passes over the surface. |
| Circular control points | 48 | Number of points used to sample an incoming circular surface before optimizing. |
| Endpoint move fraction | 0.35 | Maximum endpoint movement, as a fraction of the surface width. |
| Curvature move factor | 1.5 | Scale governing how far interior points may move when reshaping curvature. |
| BOBYQA max evaluations | 20 | Maximum factor-of-safety evaluations per BOBYQA optimization. |
| Allow divergence from weak layer during refinement | off | When off, the parts of the surface that run along a weak layer stay on it. When on, refinement may move the surface off the weak layer, above or below it, if that lowers the factor of safety. New projects from the highwall-lowwall Section Wizard turn it on. |
| Minimum FS change | 0.0001 | Stops early when the factor-of-safety improvement between stages falls below this value. The early-stop check is enabled by default. |
The stage count, endpoint move fraction, curvature move factor, and BOBYQA evaluation limit are also adjusted together by the surface-optimization complexity slider.
Methods optimized
Surface Refinement runs per analysis method. By default it applies to Bishop Simplified, Janbu, Spencer, and Morgenstern-Price; Janbu Corrected can also be selected. You can restrict it to a subset of methods.
Note Optimization adds compute time, especially with many stages or methods selected. Enable it for final, critical-surface refinement rather than during exploratory runs.