WitSweep is a desktop application for parameter studies. You open a model you already have, a CalculiX or Nastran deck or an OpenFOAM case, and click the numbers you want to vary: a load, a thickness, a material constant, an inlet speed, the cell count of a mesh. WitSweep builds the variants, and each one runs whole on one of the machines of your group or project, all of them at once. The answers come back as one table, one row per variant.
WitSweep reads your model and never writes into it. Before a study starts, it tells you which solver will compute it, how many variants there are, how much memory each needs and how many of your machines can hold it. A variant that fails says why in the solver's own words.
What WitSweep opens:
| Input | Solved on the machines by | Typical study |
|---|---|---|
A CalculiX deck (.inp) |
CalculiX, bundled with the machines' client | A load, a thickness or a material swept over its range |
| A folder of CalculiX decks | CalculiX | A mesh-convergence check: one deck per mesh |
A Nastran deck (.nas, .bdf, .dat) |
CalculiX, after conversion on your computer | A material or a load swept on a model from Inventor Nastran or Femap |
| An OpenFOAM case | OpenFOAM, bundled with the machines' client | An inlet speed, a turbulence model, a cell count |
| A folder of OpenFOAM cases | OpenFOAM | Cases a colleague prepared, run side by side |
Everything WitSweep opens, can vary and returns is listed in the WitSweep reference →.
Before you start
- An OmnibusCloud account, the same one used on the portal and in the client. If you don't have one, you'll create it during sign-in.
- Machines to run on. WitSweep sends work only to a group or a project your account belongs to: a private group → pooling your team's workstations, or a project → others have joined with their machines. The machines need nothing installed beyond the OmnibusCloud client →: CalculiX and OpenFOAM come with it on first use.
- Windows 10 or 11 (x64), Linux (x64) or macOS on Apple silicon for WitSweep itself.
- No license to start with. Without one, WitSweep runs as a 30-day demo with every feature (section 3).
Optional, for the round trips in section 11:
- PrePoMax (Windows), if your decks come from it. WitSweep opens any variant's result back in PrePoMax.
- ParaView 6.2 with the OmnibusCloud plugin →, to look at variants of either kind. The plugin adds the CalculiX reader and lets ParaView take a whole study from WitSweep in one click.
WitSweep and the OmnibusCloud Solver for PrePoMax → do different jobs. The solver takes CalculiX's place inside PrePoMax and sends one analysis to the cloud each time you press Run. WitSweep runs a study: the same model many times, with the numbers you choose.
1. Install WitSweep
Open the downloads page → and pick the package for your system.
Windows. Run the .msi. It needs no administrator rights: it installs for you alone, into %LOCALAPPDATA%\Programs\OmnibusCloud\WitSweep, adds WitSweep to the Start menu, and makes .witsweep study files open in WitSweep on a double-click.
macOS. Open the .dmg and drag WitSweep into Applications. It is signed and notarized, so macOS doesn't ask about an unidentified developer. A .witsweep file, a deck or a folder opens from Finder or by dropping it on the Dock icon, and the settings are under WitSweep › Settings….
Linux. On Ubuntu 22.04 or newer, install the .deb:
sudo apt install ./WitSweep-<version>-linux-x64.debIt adds WitSweep to the applications menu and opens .witsweep files. On another distribution, unpack the .zip anywhere and run witsweep from the folder.
On macOS and from the .deb, a license serves every user of the computer. From the .zip it is kept for your user only.
Updates. WitSweep keeps itself current. It checks the OmnibusCloud portal when it starts and once a day, and Home names a newer build when there is one. Settings › General opens on the Updates card: Update now installs the new build in place and starts it again, on Windows, on macOS and from the .deb. Every package is checked against its signature before it installs. A copy unpacked from the .zip gets the download instead. An update keeps your studies, settings and sign-in.
To remove WitSweep, use Settings › Apps on Windows, drag the app to the Trash on macOS, or remove the package on Linux.
2. Sign in and choose where your studies run
Start WitSweep. The account menu sits in the top right corner of the window. Open it and click Sign in, then complete the sign-in in your browser. Back in WitSweep, the menu shows who you are signed in as and the server you are connected to.
You sign in once. The session survives restarts and upgrades. Sign out in the same menu ends it.
For scripted or unattended use, WitSweep can run on an API key instead. In Settings › General, set Sign in with to API key, paste the key and click Save. The key goes to your system's own secret store (Credential Manager on Windows, Keychain on macOS, the Secret Service on Linux), never into a settings file.
Next, open Settings › General and find Compute target. The list comes from the server and holds only what your account may use: your groups and your projects. Choose where your studies run. Automatic takes the first one that is available. Reload fetches the list again after you have joined a new group or project.
3. The demo, and a license
With no license installed, WitSweep runs as a demo. Home states its terms, and the chip beside Settings in the lower left corner counts the days left:
DEMO · 30 days · 8 variants per sweep · your whole poolThe demo lasts 30 days from the first start on your computer. It includes everything on this page, OpenFOAM and Nastran included, and runs studies of up to 8 variants. A larger study keeps Run blocked until you take some out:
demo cap 8 — Run blocked (the sweep would hold 12 variants)The cap counts the whole study, so extending a study of 6 variants by 4 is blocked as well.
Results computed in the demo carry it with them. The Results stage marks their origin as Demo, and an HTML report exported from them says it was computed under a demo license, even after you install a full one.
When the 30 days end, new runs stop: Run, extending a study, re-running failed variants and rendering on OmnibusCloud. Your studies still open, their results can be read and exported, and nothing is deleted.
For a full license, contact us →. A license is installed in Settings › Licence from a .lic file or as pasted text, and the request and the installation both work without an internet connection.
4. Your other applications
WitSweep hands variants to the applications you already use. Open Settings › General and look at External applications:
- PrePoMax (Windows): opens a CalculiX variant's result.
- ParaView: opens variants of either kind. With the OmnibusCloud plugin it opens a whole study at once.
- Inventor Nastran (Windows): takes a variant back to the Inventor model a study came from, when the study was handed over from Inventor by the OmnibusCloud add-in for Inventor.
WitSweep finds these applications on first start and checks the paths again every time it starts. A row that says the application was not found has a Change… button: point it at the application yourself, for example a portable PrePoMax. On macOS and Linux the list holds ParaView alone, and Change… picks the ParaView .app on a Mac.
Three more settings worth a look before your first study:
- Download folder, under Storage & logs: where downloaded variants and rendered images go.
- Evening start time, under Defaults: the time Run ▾ › Tonight at… schedules for (section 8).
- Notify me: a desktop notification when a study finishes, and when a variant fails.
CalculiX and Nastran decks
A CalculiX deck is the .inp file PrePoMax writes with File › Export › CalculiX, or the one it leaves in its working folder on every Run. FreeCAD FEM writes the same dialect, and so does any tool that targets CalculiX. Nothing special has to be exported for WitSweep. Nastran decks are solved by CalculiX as well, and section 13 covers what is different about them.
The examples below use a bearing bracket meshed in PrePoMax, a clamped plate pulled down at its tip, and a cube meshed three ways.
5. Open a deck
Drag the .inp onto the WitSweep window, or click the drop area on Home and pick it. WitSweep reads it in a second or two and opens 1 Deck with a summary of what is in it:
CalculiX nodes 28,478 elements 16,233 · C3D10 steps 1 · Static
materials Steel includes — ✓ preflight OKBelow the summary is your deck, card by card, exactly as it is written. Values WitSweep can vary are highlighted. Black text is your file, and grey text is WitSweep's own commentary. Your named sets, your comments and your line numbers are all there, because what you see is the deck WitSweep read.
A deck split into *INCLUDE files runs whole: the included files travel to the machines spliced into it, and an edited include makes a new study. Values inside an included file can't be picked, and the Deck stage says so.
If something stops the deck from running, a red panel, What stops the deck from running, names the file, the line and the reason:
missing-include.inp:360: *INCLUDE, INPUT=loads-and-bcs.inc — not found at …
restart-not-supported.inp:4: *RESTART, READ — restart decks are not supported.A transient heat step without starting temperatures is caught the same way, before CalculiX would stop on it. Fix it in your deck, in the tool that wrote it, and open the deck again.
6. Pick the values to vary
Click a highlighted value and choose Sweep this value. It becomes a parameter, named by where it lives in your deck:
{{oc1}} ← -0.5 · prescribed value · line 45921You point at the number in your own file. There are no variables to declare and no template to write: WitSweep keeps track of the place internally, and your deck on disk stays as it is.
Values that can be picked include material constants (*ELASTIC, *DENSITY, *CONDUCTIVITY, *PLASTIC and others), loads (*CLOAD, *DLOAD, *DSLOAD, *CFLUX, *DFLUX, *FILM), prescribed boundary and initial values, shell thicknesses and beam dimensions, step times and increments, and amplitudes. The reference → lists every card and field.
A value that cannot change the result stays marked but can't be picked. A density in a static deck with no gravity load is one, and so is a load in a frequency step. Its menu says why:
Not sweepable — it changes nothing in the solve: no step reads the density: no GRAV or CENTRIF load, no frequency, dynamic or transient heat stepEach picked value is its own parameter. To move several values together, give them paired CSV rows (section 7).
Geometry and mesh are not values in a deck. To compare meshes or shapes, mesh each one where you always do and open them together as a folder of decks (section 12).
WitSweep shows values as the deck writes them and never converts units. A deck in millimetres and tonnes stays in millimetres and tonnes, from the first pick to the exported report.
7. Build the scenario
Go to 2 Scenario. Every parameter you picked has a box for its values, in one of three forms:
- List: type the values, separated by commas, and click Add:
250, 300, 350. Each value is checked the way CalculiX reads it, so0,5is refused with a note that the decimal mark is a point. - Range: a start, an end, and a step or a count.
- CSV: paste a column of values.
With several parameters, CSV rows pairs them: one row per variant, one value per parameter, so the parameters move together.
Otherwise Combination decides how they meet. one-at-a-time, the default, varies each parameter alone around the deck's own values, which answers what each one does. full factorial runs every combination, which answers what they do together. The variant count follows the switch at once:
4 variants · 2 parameters · one-at-a-time
6 variants · 2 parameters · full factorialResponses lists what comes back of every variant. The columns come from the output your deck already asks CalculiX for, and WitSweep adds no output requests of its own:
| Analysis | Columns | The deck asks for |
|---|---|---|
| Static | largest displacement magnitude and per axis, largest and smallest von Mises stress, reaction-force sums of a set | *NODE FILE with U, *EL FILE with S, *NODE PRINT, NSET=<set> with RF |
| Frequency | the eigenfrequencies, one column per mode the deck requests | nothing extra |
| Buckling | the buckling factors, one per mode | nothing extra |
| Heat transfer | largest and smallest temperature, and the peak over time in a transient | *NODE FILE with NT |
| Coupled temperature-displacement | the static and the heat-transfer columns together | both |
A deck with several steps names the step in every column, max_von_mises[step 1]. On shell and beam models written with OUTPUT=2D, which is what a converted Nastran deck uses, the von Mises stress is recovered from section forces. A model where that can't be done gets no von Mises column, and its note gives the reason.
When a set has no printed reaction forces, the card says so and names what the deck would need. + Probe adds a column of your own: the largest, smallest or average von Mises stress, displacement or temperature over one of your deck's node sets, for example avg_temp@xmax.
Every variant also reports its solve time and, when it fails, CalculiX's exit code. The card ends on that line:
always: solve wall-time · ccx exit codeUnder the scenario sits the summary WitSweep checks before anything leaves your computer:
6 variants · 2 parameters · full factorial · est. peak ~40 MB · fits 4 of 4 pool node(s)For static and heat-transfer steps, the memory figure is the largest variant's peak, estimated from curves measured on real CalculiX runs, and the last figure counts the machines of your compute target that can hold it. If no machine can, Run refuses before anything is uploaded and names the largest mesh your machines can take. You won't find a time estimate: how long a study takes depends on which machines pick up its variants, and WitSweep doesn't guess.
Click any variant in the list for a preview: the lines in which that variant differs from your deck.
Save .witsweep writes the study to a file: the deck it points at, your picks, the values and the plan. Open it later, or send it to a colleague, and the Scenario comes back as you left it.
8. Run the study
Press Run. Your deck goes up once, the variants are written from it on the server, and the 3 Run stage shows one tile per variant: grey while queued, amber while solving, green when done, red when failed.
Variants run whole, each on one machine, many at once. The tiles turn green as the machines hand back their results, often several in one step. Click a green tile to see its values and responses. Click a red one and you get CalculiX's own output, ending with the line where it stopped:
*ERROR reading *CLOAD. Card image:
TIP,3,BOGUSA failed variant is a result: it stays in the study, marked, and the others go on.
The panel beside the tiles lists what was uploaded, when the study started and how many responses have been extracted. A study that waits for free machines says so, waiting for resources, and the window title ends in · waiting.
You can close WitSweep. The study runs on the server. Home lists every study of your account: open one, and WitSweep reattaches to it, finished or still running. A dropped connection is retried in the background, and the study keeps running either way.
To start later, open the menu beside Run:
- Tonight at 20:00, the evening time from Settings,
- Pick date & time for any other moment.
The study is scheduled on the server, so your computer can be off when it starts. Its Home card says when it starts and that the app can close.
Cancel sweep stops a study. Every variant already harvested stays in the study with its results, and only the work in flight is dropped.
9. Read the results
Go to 4 Results. The table has one row per variant: the values you swept, the responses, and the solver's own facts. Click a column header to sort. A value that is not a number, such as bogus, stays at the bottom whichever way you sort.
Some cells carry a mark: ⓘ for a note, ⚠ for a warning. The machine that solved the variant writes them to say how a value was obtained, or why a column is empty, for example a reaction sum rotated from a local frame or a stress that could not be recovered. Hover the cell to read it, or select the row and read every note in the detail pane. A variant whose results could not be read is ✗ results unreadable, never a success.
The scatter beside the table plots any parameter against any response, with the axes picked above it. A full factorial gets one panel per value of the parameter that is not on the X axis, on shared axes, so the panels compare by eye. Failed variants stay in the table and are left out of the plot, and the plot says so:
4 of 6 plotted · failed and non-numeric omitted · one panel per p2 value · shared axesExport… writes the table as CSV or XLSX, or an HTML report: one self-contained page with the scenario, the table and the scatter, readable anywhere without WitSweep or a server. The exports add each row's status, exit code and notes. The report states when the study was computed and under which license.
10. Extend a study, and run what failed
A finished study can grow. Extend sweep… reopens its Scenario. Add values, and the summary tells you what Run will compute:
· 4 computed earlier — Run adds 2Only the new variants run, and the table grows in place. WitSweep knows a variant by its deck and its values, so the same question is never computed twice: opening the same study again and pressing Run gives all 4 computed earlier — nothing new to Run. A deck you changed in the meantime is a different deck, and WitSweep treats it as a new study.
Re-run 2 failed (the button counts them) runs only the variants that failed, after you have fixed what made them fail.
← All sweeps takes you back to Home, where every study of your account waits with its status. A study made on another computer, or one whose local copy you cleared, opens from the server with its table and files. Its deck and picks stay where they were made, so to extend it, open the deck and pick again.
11. Take a variant further
Select a row in the table and open Open #N in… ▾. The menu lists the applications from section 4 that can open this variant, and remembers your choice for the next time.
PrePoMax (Windows). WitSweep downloads the variant's deck and .frd and opens the result in PrePoMax, straight into the field view. The maximum PrePoMax annotates is the number in the table, to every digit it prints, because nothing is rounded or re-interpolated on the way.
ParaView. The variant's .frd opens in ParaView through the OmnibusCloud plugin's CalculiX reader.
Open all N in ParaView, the last line of the menu, hands every solved variant of the study to ParaView at once. ParaView starts if it is not running, and the plugin opens each variant in the Pipeline Browser under its values (p1=-0.3, p1=-0.6, …), side by side. Variants you have not downloaded are fetched from the cloud by the plugin. On macOS and Linux this needs the plugin 1.2.7 or newer.
Export… › Render on OmnibusCloud makes a picture of the selected variant without opening anything: a still image of the last time step, a video through every time step, or a camera move around the model (orbit, approach, rise, rock, spiral). It renders on your compute target with the variant's result already on the server, so nothing uploads, and the image or video lands in your Download folder and opens in your system's viewer.
Download deck + result files puts the variant's files in your Download folder, in a folder named after the deck and the study, one subfolder per variant.
For a Nastran study that was handed over from Inventor, the menu also offers Inventor: the variant's values and responses go back to the model they came from.
12. Run a folder of decks
Some studies are not one deck with different numbers. A mesh-convergence check is the same part meshed at several densities, and a design comparison is several shapes. Mesh each one wherever you mesh, put the decks in one folder, and open the folder: Open a folder of decks… on Home, or drag the folder or a .zip of it onto the window.
Every deck is one variant, solved as it is. Each gets a card with its own summary and a revision tag taken from its contents:
cube13.inp rev b376274c8f97
2,197 nodes · 1,728 elements · Steady heat transferThe summary prices the heaviest deck against your machines:
3 decks · one variant each · worst deck est. peak ~84 MB · fits 4 of 4 pool node(s)Results get one row per deck.
The set is known by its decks' contents. Opening the same folder again gives all 3 computed earlier — nothing new to Run. Adding a deck makes a new set, and it runs as a new study.
13. Open a Nastran deck
WitSweep also opens Nastran bulk data: the .nas, .bdf or .dat file Inventor Nastran, Femap or another pre-processor writes for its solver. Open it the same way as a CalculiX deck. The summary names the deck's analysis and, when the deck's header says so, the program that wrote it:
Nastran · from Autodesk Inventor Nastran · nodes 13,835 · elements 7,576 · CTETRA · SOL LINEAR STATIC (101)CalculiX solves it. Each variant is converted to a CalculiX deck on your computer and goes to the machines as one. The Results stage says so above the table, Nastran deck · solved by CalculiX, and the numbers in it compare your variants with each other. When a result has to match your Nastran solver, check it in that solver.
The conversion reports on itself before anything runs. Under conversion preflight, the Deck stage lists the converter's findings verbatim: what it ignores and, for an element family it converts with a known loss, how accurate the result is and the measurement behind the figure. A bracket meshed in Inventor Nastran converts with three notes:
✓ converts to CalculiX · 3 notes
⚠ ENDDATA ignored: end-of-deck bookkeeping
⚠ PARAM ignored: solver parameter; the conversion has its own defaults
⚠ MAT1 MCSID ignored: the material frame cannot orient an isotropic materialThe converter targets the decks Inventor Nastran writes: linear statics (SOL 101), normal modes (SOL 103) and steady heat transfer (SOL 153), with solids, shells, beams, rods, springs, point masses and rigid elements. The reference → lists every card it converts and refuses.
Converted constructs with a known error band, such as linear tetrahedra or beams, are listed as accuracy classes. Anything the converter cannot turn into the same model, wedges or buckling for example, is refused by name instead of being converted halfway, and the reason is quoted:
✗ does not convert — 1 named rejectWhen the deck opens, WitSweep also checks every value of it by converting the deck with that value moved. A value whose change does nothing, or would not convert, stays listed and says why, and the rest are offered. On a big deck the check runs in the background, and the status line counts the values still being checked.
The values that can vary are grouped by card, each with its Nastran field and its meaning: MAT1 lists E, G, NU, RHO, A and TREF, PSHELL the thickness, FORCE the magnitude of every force. A picked value keeps its Nastran name:
MAT1:1:E ← 6.894700000000+4 · Young's modulus — MAT1 1 · line 42848Its column in the table carries the same name. A variant whose values no longer convert is not sent: its row reads ✗ not converted with the converter's reason, and the others run. From there, the Scenario, Run and Results work as for a CalculiX deck, and the variants open in PrePoMax and ParaView like any CalculiX result. A Nastran deck is opened on its own: a folder of decks takes CalculiX decks.
OpenFOAM cases
WitSweep runs OpenFOAM cases the way you run them yourself: from the case folder, with the case's own Allrun as the recipe, on the OpenFOAM build the machines carry (OpenFOAM v2606). Each variant runs whole on one machine, meshing included, and in parallel on that machine where MPI is present.
What a case may contain, and what the machines refuse, is published with the OpenFOAM controller and kept in step with it: what the machines run and refuse →.
The examples below are OpenFOAM tutorials: the lid-driven cavity, pitzDaily and motorBike.
14. Open a case
Drag the case folder, its .foam file or a .zip of it onto the window, or click Open an OpenFOAM case… on Home. The first stage, 1 Deck, opens with what WitSweep read in the case:
simpleFoam · incompressible steady · cells 1,280 · blockMesh, before snappy · RAS · kOmegaSSTOn the left is the case tree, every dictionary in it. Open one and its sweepable values are lit, as in a deck.
The recipe is the list of steps each variant runs. When the case has an Allrun, WitSweep reads it and turns it into fixed steps: blockMesh, snappyHexMesh on several ranks, checkMesh, the solver, and the rest. Every line it reads differently is written under the recipe as a note, so nothing is rewritten behind your back. A case without an Allrun gets a recipe proposed from its contents.
Each step says where it came from (Allrun:32) and how it runs: on ranks for a parallel step, the node's own split for the decomposition, done by the controller for a step the machine does itself. You can reorder, remove and add steps, within what the machines allow:
allow-list · 30 utilities and the solvers of the kit · no shell, no custom commandWhat stops a case from running is named by file and line before anything is uploaded:
0/U:26: codeStream compiles C++ at run time.
processor*/: the case is decomposed only; a reconstructed case is required.The machines carry no compiler, so code that compiles at run time is refused. A link that points outside the case folder is refused too: a case travels as the files it holds. A case that exists only as the pieces of a parallel run needs its reconstructed form. An Allrun line that calls a utility outside the allowed list does not stop the case: the recipe falls back to the one proposed from the case's contents, and the Scenario says so above everything else, so you can check it before you run.
WitSweep reads the case once, when it opens. If you edit one of its files afterwards, Run refuses and asks you to open the case again, so a study never mixes your picks with a file that changed under them.
15. Pick values and choices
Click a lit value and choose Sweep this value, as with a deck. A number defined once and used in several places is picked where it is defined, and the flyout tells you how many places follow it: the cells count of a blockMeshDict that refines both directions, a flowVelocity the whole case reads.
The values a case offers come from the dictionaries a study usually changes: initial and boundary values in 0/, physical properties, the turbulence model and its coefficients, schemes and solver settings, controlDict times, mesh controls in blockMeshDict and snappyHexMeshDict, rotation speeds and source terms. The reference → has the full list.
Some are worth a word:
- The mesh. A cell count in
blockMeshDictis a value like any other. Every variant builds its own mesh on its machine, so one number gives a mesh study. - A rotating zone.
omegaof a zone inconstant/MRFPropertiesandrpminconstant/SRFProperties: a fan or a stirrer at several speeds. - What
setFieldswrites. The values insystem/setFieldsDictand the size of its regions: a heater's temperature, the height of a water column. If you sweep an initial value that the recipe'ssetFieldsstep then overwrites, the Scenario warns that the swept value has no effect.
Some values are words. Click a turbulence model or a scheme and choose Sweep this choice. WitSweep offers only what the machines' OpenFOAM build knows for this solver:
RAS model · a choice — one of 22 the pinned build knows; the text is replaced whole16. Choose what comes back
On 2 Scenario, values, ranges and CSV work as for a deck (section 7), and so does the summary. The Responses card is where a case differs most.
The case's own function objects are picked up as they are. If the case already measures a torque or a drag coefficient while it solves, that becomes a column with nothing to set up. motorBike's drag comes in that way:
Cd, Cl, CmPitch on motorBikeGroup
forceCoeffs1 · from the case · the case writes it during the solve+ Response adds a measurement the case does not make itself:
| Kind | What it measures |
|---|---|
| force coefficients | Lift, drag and moment coefficients on the patches you choose |
| forces | Forces and moments on patches |
| patch statistic | areaAverage, areaIntegrate, min or max of a field on a patch |
| volume statistic | volAverage, volIntegrate, min or max of a field over the domain |
| field min/max | The extremes of a field |
| probe | A field at one point, given as x y z |
Every response is measured during the solve. The machine adds one line, #includeFunc, to its own copy of system/controlDict, the Recipe card shows that line before the solve, and your files stay as they are.
The reference speed. A force coefficient divides by a reference speed. When you sweep the inlet speed and the coefficient still divides by the case's fixed one, the card warns you and offers the fix:
forceCoeffs1 normalises its coefficients by magUInf 20 (system/forceCoeffs:27), in the case's
output and in the node's response forceCoeffs1 alike, which the sweep does not vary: a variant
at another speed reports coefficients for 20. Pick magUInf with the speed, or report forces.Pair magUInf with p1 makes every variant use its own speed. Report forces instead gives you newtons.
Artifacts decides which files come back besides the numbers: Responses only (the default), Final time + mesh or All written times, plus the logs (on by default) and postProcessing. Fields are what you open in ParaView afterwards. A machine keeps nothing: what doesn't come back is gone when the variant ends.
Ranks sets how many processes a variant runs on its machine: 1, 2, 4 or 8, and 4 by default when the recipe has a parallel step. A machine without MPI runs the parallel steps one after another. If you ask for ranks and no step of the recipe runs in parallel, the Scenario says so before the run.
17. Run, and read the results
Run, scheduling, closing the app, reattaching and cancelling work as in section 8. The case's files go up once and every machine reuses them.
Before the run, memory is priced at the largest mesh the variants build, from curves measured per solver class. For a case meshed by snappyHexMesh, the final mesh does not exist before meshing, and the summary says so, naming only the memory every machine must have:
3 variants · 1 parameter · RAM known after meshing — each node needs ≥ 4.0 GBBesides your responses, every row carries what the run itself reports. The Responses card lists it:
always: cells · checkMesh · iterations ("endTime" when not converged) · final residuals · warnings · mesh time · wall time · exit code of a failed stepThe final residuals get a column per solved field, residual Ux, residual p and so on. A run counts as converged only when its residualControl stopped it. One that ran to its endTime reads N · endTime under iterations. A variant that fails names the step and its exit code, and its tile shows the tail of the log. A probe that falls outside the mesh is an empty cell with a note saying so.
In the lid-driven cavity, one cell count swept over 10, 20, 40, 80 gives four meshes from 100 to 6,400 cells, and the velocity probed at the centre of the box (the column probe1.U@probe0(0.05 0.05 0.005)_x) settles as they refine: -0.1815, -0.19603, -0.20158, -0.203677.
The scatter can plot against cells, the cell count each variant actually built, which is the axis a mesh study is drawn on. A sweep of choices, such as six turbulence models, is plotted by variant number, and hovering a point names its variant.
18. Open a variant in ParaView
Select a row and choose Open #N in… ▾ › ParaView. WitSweep downloads the variant's returned case, unpacks it and opens it in ParaView, through the OmnibusCloud plugin when it is installed. To see fields, choose Final time + mesh or All written times under Artifacts before you run. With Responses only the case comes back without its mesh and fields, and the ParaView row is greyed with the reason:
the case came back without its mesh and fields — choose Final time + mesh before you runOpen all N in ParaView opens every variant that returned its case with mesh and fields, side by side, as for a deck.
To render a variant on your compute target, a still, an animation through time or a camera orbit, use the plugin's own panel in ParaView: Getting Started with the OmnibusCloud plugin for ParaView →.
19. Run a folder of cases
A folder of ready cases opens as one study: Open an OpenFOAM case… and pick the folder, or drag it onto the window. Every case is one variant, run as it is, with its own recipe, mesh and settings. The set stage lists each case with its solver, cells, recipe, memory estimate and revision tag.
The Scenario holds what the cases share: the responses every case can give, what comes back, the ranks. Files that are the same in several cases are uploaded once. Results get one row per case, labelled by its name, and the scatter opens on the cells when the meshes differ.
A set runs cases as they are, so a case that still carries a picked value belongs in a study of its own, and WitSweep names it. The set is known by its cases' contents: a copy of a case under another name is refused as a duplicate, the same folder opened again has nothing new to run, and one case more makes a new study.
A server of your own
WitSweep works the same with an OmnibusCloud server for your company alone: a dedicated server we run for you, where your files go to nobody else's server, or a server inside your office, where they never leave the building. Your own 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.