An engineer rarely runs a model once. Before a design review there is the mesh check, then the load swept over its range, the plate at three thicknesses, two materials against each other, the inlet at four speeds. Each run is the same model with different numbers, and each one waits for the one before it on the same workstation.

Those runs don't depend on each other. Nothing stops them from running at the same time, except that they all sit in one queue on one computer.

WitSweep takes that queue apart. You open your model, click the values that should change, and press Run. Every variant goes to its own machine in your group or project, and the answers come back as one table.

Your model, as it is

WitSweep opens the file you already have. For CalculiX that is the .inp PrePoMax writes on every Run, or the deck from FreeCAD or any other tool that targets CalculiX. For Nastran it is the bulk-data deck Inventor Nastran or Femap writes for its solver. For OpenFOAM it is the case folder, with its Allrun. There is no import step, no project format to convert into, and WitSweep never writes into your files.

You pick a value by pointing at it. The deck or the case is on the screen as written, with everything that can vary lit up: material constants, loads, boundary values, thicknesses, an inlet speed, a viscosity, the cell count of a mesh. Click one, give it a list or a range, and it becomes a parameter, named by where it lives in your file:

{{oc1}} ← -0.5 · prescribed value · line 45921

There are no variables to declare and no template to maintain. Two parameters or more combine one at a time, to see what each does, or as a full factorial, to see what they do together. A CSV pastes in when the plan already exists in a spreadsheet.

A study that compares meshes or shapes is a folder: mesh each variant wherever you mesh, put the decks or cases in one folder, and open it. Every file is one variant, run as it is.

What it does with a study

Inputs CalculiX decks and folders of decks, Nastran decks, OpenFOAM cases and folders of cases
Parameters Any value WitSweep lights in the deck or the case, and OpenFOAM choices such as turbulence models and schemes
Plans Lists, ranges and CSV rows, combined one at a time or as a full factorial
Responses Stresses, displacements, temperatures, reaction sums, eigenfrequencies and buckling factors for CalculiX and Nastran. Forces, coefficients, patch and volume statistics, probes and the case's own function objects for OpenFOAM
Running Now or at a set time, with the app free to close while the study runs
Results One table, a scatter with any axes, exports to CSV, XLSX and a self-contained HTML report
Afterwards Extend a study and only the new variants run. Re-run only the failed ones. Open any variant in PrePoMax or ParaView
Platforms Windows, macOS, Linux

Nastran decks, solved by CalculiX

A Nastran deck opens the same way. WitSweep converts each variant to CalculiX on your computer, and the machines solve it with CalculiX. The screen says so wherever results appear, and the values keep their Nastran names: a swept Young's modulus is MAT1:1:E in the table.

The conversion reports on itself before anything runs. It lists what it ignores, states how accurate a converted element family is together with the measurement behind the figure, and refuses a deck it could not answer accurately, such as thin shells that would lock. On a bracket meshed in Inventor Nastran, the converted solve matched Inventor's own solver node by node, with a worst relative difference of about one in a million. That figure comes from one model. On yours, the Deck stage shows where the conversion stands before anything runs.

OpenFOAM, run the way you run it

CFD studies are where a sweep tool usually gets in the way: the case has a script, the mesh is part of the case, and the numbers that matter are normalized by values the sweep is changing. WitSweep takes each of these as given.

Your Allrun is the recipe. WitSweep reads it and turns it into fixed steps: blockMesh, snappyHexMesh across several ranks, checkMesh, the solver, the reconstruction. Every line it reads differently is written down beside the recipe, so you can see exactly what each variant will run.

Every variant meshes itself. A cell count in blockMeshDict is a value like any other, so one number gives you a mesh study, each mesh built on the machine that solves it. The motorBike tutorial swept over three inlet speeds runs snappyHexMesh around the rider in every variant.

Choices are parameters too. Click the turbulence model in turbulenceProperties and WitSweep offers the models the machines' OpenFOAM build has for this solver. pitzDaily with the six models its author lists as tested is one study, six rows, with convergence stated for each.

The reference speed follows the sweep. A drag coefficient divides by a reference speed. Sweep the inlet speed and leave that reference fixed, and every coefficient but one comes back wrong. WitSweep notices, names the line where the reference is set, and fixes it in one click. It can also report forces in newtons.

Converged means converged. A run counts as converged only when its residualControl stopped it. One that ran to endTime is marked so.

We checked the results against answers that are known exactly, running OpenFOAM tutorials on our production machines and comparing them with the textbook:

  • the torque between two rotating cylinders, against Couette's exact solution: within 0.1 % at every speed.
  • the pressure behind an oblique shock over a ramp at five Mach numbers, against the shock tables: within 0.8 %.
  • the pitot pressure in front of a step in supersonic flow, against Rayleigh's formula: within 0.8 %.
  • a weir's discharge coefficient: constant to about 1 % over a five-fold range of flow.

It tells you before it spends anything

Everything WitSweep shows is something that has happened or something it has measured.

Before a study leaves your computer, it estimates each variant's memory from curves measured on real CalculiX and OpenFOAM runs and checks it against the machines you are about to use:

6 variants · 2 parameters · full factorial · est. peak ~40 MB · fits 4 of 4 pool node(s)

When no machine can hold a variant, Run refuses before uploading a byte and names the largest mesh your machines can take. A mesh that snappyHexMesh has not built yet gets RAM known after meshing and no invented figure.

What WitSweep cannot run is refused by name, at the file and line: a *RESTART deck, a missing *INCLUDE, a transient heat step with no starting temperatures, an OpenFOAM case that compiles C++ at run time. A value that cannot change the result, such as a density in a static step with no gravity, stays marked in the deck but is not offered, and its menu says why. A variant that fails on its machine comes back with the solver's own last lines and stays in the table as a result.

The machines report on their own work too. A cell can carry a note from the machine that computed it: a stress recovered from section forces on a shell model, a reaction sum rotated out of a local frame, a probe that fell outside the mesh and so has no value. The notes travel into the exports with the numbers.

You won't find a time estimate on any screen: how long a study takes depends on which machines pick up its variants, and WitSweep doesn't guess.

Works with what you already use

PrePoMax. Build the model in PrePoMax, sweep it in WitSweep, and open any variant back in PrePoMax with one click. The maximum PrePoMax annotates is the number in WitSweep's table, to the last digit it prints. For single analyses, the OmnibusCloud Solver for PrePoMax → sends heat-transfer runs to the same machines from inside PrePoMax.

ParaView. With the OmnibusCloud plugin for ParaView →, Open all N in ParaView hands every solved variant of a study to ParaView in one click, each under its own values in the Pipeline Browser. OpenFOAM variants come back as cases ParaView opens directly. A CalculiX variant renders to a still or a video on your machines without leaving WitSweep.

Inventor. A study handed over from Inventor by the OmnibusCloud add-in goes back there too: one click returns a variant's values and responses to the model they came from.

Where it runs

Studies run on a private group → or a project → your account belongs to. A private group is the usual start: install the OmnibusCloud client → on the office machines, add them to a group, and WitSweep runs its variants on them whenever they're free. The machines need nothing else: CalculiX and OpenFOAM come with the client when a study first needs them.

Each variant runs whole on one machine. WitSweep never splits a single run across machines, so the gain is in studies. A single large run goes as fast as the machine it lands on, and a study of many variants runs them side by side.

If your models have to stay inside your company, OmnibusCloud also runs on a server of your own: a dedicated one we run for you alone, or one inside your office, where data never leaves the building and uploads move at the speed of the office network. Your own OmnibusCloud →

Your solver, your tools

WitSweep runs CalculiX and OpenFOAM because both are open. Their controllers are open source, the solvers travel inside them, and the machines fetch them with the client. The study itself is not tied to either one. WitSweep describes the variants and what should come back of them, and a controller on the machines turns that into runs of a particular solver. A new solver is a new controller. The application and the network stay as they are.

If your work runs on an in-house code or a commercial solver, we can build its controller with you, as a collaboration or as part of an on-premise installation. It runs your solver under your license, on the machines that license covers, and WitSweep sweeps it the way it sweeps CalculiX and OpenFOAM today.

The same holds for the programs your models live in. Where a program opens a way in, through an API, an add-in or the files it reads and writes, we can connect WitSweep to it as closely as to PrePoMax and ParaView: a study that starts from your model, and results that return to it.

Tell us what you work with →

Get started

WitSweep is on the downloads page → for Windows, macOS and Linux. With no license installed it runs as a 30-day demo with every feature, OpenFOAM and Nastran included, and studies of up to 8 variants. From then on it updates itself from the portal. For a full license, contact us →.

The getting-started guide → walks through a first study on a CalculiX deck and on an OpenFOAM case, from opening the model to the results in PrePoMax and ParaView. The reference → lists everything it opens, varies and returns.

Questions and feedback: r/OmnibusCloud →.

OpenFOAM® is a registered trademark of OpenCFD Limited. This offering is not approved or endorsed by OpenCFD Limited, producer and distributor of the OpenFOAM software via www.openfoam.com, and owner of the OPENFOAM® and OpenCFD® trade marks.