OutWit.Controller.Sweep 1.0.0

dotnet add package OutWit.Controller.Sweep --version 1.0.0
                    
NuGet\Install-Package OutWit.Controller.Sweep -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OutWit.Controller.Sweep" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OutWit.Controller.Sweep" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="OutWit.Controller.Sweep" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OutWit.Controller.Sweep --version 1.0.0
                    
#r "nuget: OutWit.Controller.Sweep, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OutWit.Controller.Sweep@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OutWit.Controller.Sweep&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=OutWit.Controller.Sweep&version=1.0.0
                    
Install as a Cake Tool

OutWit.Controller.Sweep

Host-side orchestration of parameter studies over the OutWit.Controller.CalculiX solve controller: open a deck with baked placeholder tokens, submit the variant table, and the pool computes the study — chunk by chunk, with everything harvested so far observable while the sweep runs.

Activities (all host-side)

Activity Purpose
Sweep.Plan(baseDeck, opts) → SweepPlan Validates the study (variant/parameter arity, every token present in the deck) and computes the progressive chunk schedule.
Sweep.InitState(plan) → SweepState The zero cursor.
Sweep.ChunkCount(plan) → Int Loop bound of the bundled script.
Sweep.MakeChunk(plan, state) → CcxTaskCollection Materializes the next chunk's variant decks by plain token substitution (this side never parses a deck) and builds their solve tasks.
Sweep.Harvest(plan, state, wave) → SweepState Appends the chunk's results — states, measured solve times, response rows, artifact blob ids — to the manifest blob; returns the advanced cursor. Since 0.2.2 every index entry also carries the variant's label from its parameter values ("XMAX=300, T=250", SweepVariantLabel), so document clients - the ParaView plugin's variant picker - name variants instead of numbering them.
Sweep.Finish(plan, state) → Blob Returns the final manifest blob.

Why chunks

A sweep chunk is a product checkpoint, not an algorithmic barrier: after every chunk the manifest holds all harvested variants, so a cancelled sweep keeps everything already computed, and a monitoring client sees per-variant states mid-run. Sizing is progressive — small first chunk (feedback in minutes, a broken scenario burns a handful of variants, not the night), geometric growth to a cap (near-optimal allocator packing for the bulk; the cap bounds both cancellation loss and a failed node's recompute radius).

A variant whose solver exits nonzero is recorded as a failed row in the manifest — it never fails the task, so one bad variant cannot poison its node batch.

Module shape

Host-only (IWitControllerHost alone): never delivered to compute nodes, which is what makes the declared dependencies on the host-only Grid and on Special honest — dependency validation runs on nodes too, and a module that carried node activities alongside these declarations would be refused there. Node-side work lives entirely in OutWit.Controller.CalculiX.

Script

Scripts/SweepSolve.wit (shipped via OutWit.Controller.Sweep.Scripts): plan → loop chunks { make → Grid.ForEach → harvest } → finish.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0 52 9/16/2026
0.2.2 181 8/26/2026
0.2.1 125 8/21/2026
0.2.0 113 8/21/2026
0.1.3 129 8/13/2026
0.1.2 107 8/13/2026
0.1.1 118 8/4/2026