Fork From Iteration
Forking creates a new solver run that uses an existing iteration's density field as its starting point, rather than beginning from a uniform density distribution. This lets you branch off from a mid-optimization checkpoint to explore different parameters without losing your original results.
How to fork
There are two ways to fork from an iteration:
-
Context menu -- Right-click an iteration in the Results panel and select Fork From Here. This option appears in purple text and is only available when the iteration has a density field.
-
Fork button -- When viewing an iteration's details in the Results panel (on the Design tab), click the Fork from here button at the bottom. The button shows a branch icon and is styled in purple.
Both methods create a new solver job using the selected iteration's density field as the initial state.
When forking is available
The Fork From Here option appears only when the solver has produced and stored a density field for that iteration. This means:
- Very early iterations that have not yet produced density output will not show the fork option.
- The final iteration of a completed run will typically have a density field available.
- Intermediate iterations may or may not have density fields, depending on solver configuration and how frequently fields are saved.
What forking creates
When you fork from an iteration:
- A new solver job is created that initializes its density field from the selected iteration's stored density data.
- The scene is reloaded to include the new solver job.
- The UI switches to the Results tab and shows the convergence panel for the new run.
The new solver run is independent of the original. It appears as a separate entry in the Results panel with its own set of iterations.
When to use forking
Forking is useful when you want to:
- Try different parameters from a checkpoint -- Run the solver partway, then fork and adjust volume fraction, mesh resolution, or other parameters to compare outcomes.
- Branch after partial convergence -- If a run is converging well at iteration 50 but you want to test a parameter change, fork from iteration 50 instead of restarting from scratch.
- Explore alternative designs -- Fork from the same iteration multiple times with different settings to compare several design branches in parallel.
- Continue a stopped run -- If you cancelled a run early, fork from its last iteration to effectively resume optimization.
Status during forking
While a fork request is processing, the fork button shows "Forking..." and is disabled to prevent duplicate submissions. Once the new job is created, the button returns to its normal state.
If forking fails (for example, due to a network error or backend issue), an error toast notification appears with the message "Failed to fork analysis. See console for details."
Related pages
- Context Menus -- iteration context menu reference
- Run Analysis
- Interpret Results
- Convergence