글

Every alternative, at once: batch simulation and training data with NVIDIA Warp, OpenUSD and Omniverse Kit

이미지
In short Each post in this series asked one design question. This one collects what they all relied on: every alternative that generative design (GD) produced was simulated in a batch , not one at a time. That covered 574 plant layouts (1,278 flood runs in 11.6 minutes of GPU solve time), 198 clearwell layouts (2 minutes), 19 road alignments, 115 review requests in Kit, and four plans under four storms. A batch is one array. Each alternative builds its own geometry on a shared grid, the geometries are stacked, and NVIDIA Warp advances all of them in one launch per time step. The clearwell solver and the Kit runs replay the step loop as a CUDA graph; the first flood batch used a plain step loop. The same arrays become three products: an OpenUSD file whose values are checked on read-back; an Omniverse Kit stage that shows every alternative side by side with its verdict; a labelled dataset. The dataset taught the AI something a simple baseline could not. On a clearwell plan shape it ha...

Inside the plant: the same GD–simulation–AI loop, one level down

이미지
In short The earlier posts simulated what each plant layout does to the ground. This one goes inside the facilities. The same loop applies: generative-design parameters, a GPU simulation of what each variant builds, OpenUSD and Omniverse Kit to look at it, and an AI that learns from the simulated variants. A first check needed no GPU at all. With the textbook backwash assumptions, the washwater basin overflows 7.3 hours into the first day: ten washes produce about 12,900 m³ a day, and a 5 % return pump moves 6,250 m³. For the clearwell, I simulated 198 baffle layouts with NVIDIA Warp in 120 seconds. More baffles mostly raise the contact-time ratio T10/T, from 0.29 without baffles to 0.58 for the design and up to 0.84. But whether the clearwell could be made smaller depends on a turbulence setting I cannot calibrate without a field tracer test, so by the rule I fixed beforehand, I make no claim that it can. The 198 simulated layouts became training data. A surrogate learned T10/T from ...

Design review in Omniverse Kit: change the design, get an AI answer in 0.1 s and GPU physics in 1.7 s

이미지
In short Omniverse Kit can be more than a viewer for generative-design results. Inside one Kit session I raised a flooded plant step by step. At each step a U-Net surrogate painted the flood on the USD stage in 125 ms, and NVIDIA Warp confirmed it on the GPU in the same session, in 1.7 s once its solver loop was replayed as a CUDA graph. Warp cleared the plant from +0.4 m; the U-Net, trained only on GA layouts, kept false alarms on the raised platform. That is the case for marking it unconfirmed . Across 115 what-if layouts it had never seen, the U-Net layer missed 1 of 58 real dangers . An untrained physics proxy shown just as fast missed 9. It raised more false alarms than the proxy (8 against 5), the cheaper kind of mistake while Warp confirms. Everything lives in OpenUSD: per-request values, a confirmed flag, 6,810 values read back with 0 mismatches. CUDA graphs cut a Warp run inside Kit from 59 s to 2.0 s. Synthetic site, assumed unit costs, no client data. This is the secon...

Cross-checking a GD loop against HEC-RAS 2D, inside one USD file

이미지
In short One cross-check of one plan proves little. I compared my GPU solver, NVIDIA Warp, with HEC-RAS 2D on all four plans that compete for the decision: the current plan, a second GD plan (B), the GA optimum, and the optimum after repair. The danger verdicts agreed at all 56 facility aprons, so the loop's decision holds under the industry-standard solver too: after repair, the current plan A is the cheapest of the cross-checked plans with no danger (plan D, found later by the flood-aware GA, was not cross-checked). HEC-RAS was deeper at every apron, by 0.02–0.12 m on average per facility. Both results live in the same OpenUSD file and sit side by side in Omniverse Kit (280 values read back, 0 mismatches). If the AI training labels were shifted by the measured difference, 0.17 % of them would flip from safe to danger (at most 1.63 %). I did not re-score the surrogates. Why this matters for AI: in the extended GD–AI loop the simulation is the AI's teacher. Checking the solver...

Case 2: the cheapest road alignment, after the rain — and where my model ran out of resolution

이미지
In short I ran the same loop as the plant case on a road-alignment GD over synthetic terrain: generative design → simulation on what each design builds → OpenUSD and Omniverse Kit → AI measured against a baseline. The cost table changed the winner: once standard drainage is costed, the cheapest alignment moves from R00 to R03, with no simulation needed. The simulation, at 10 m, could not add anything decision-grade. It flipped the winner again by only 0.5 %, and not under every cost assumption, on a grid that cannot resolve ditches and culverts. I do not count that as a result. A re-run at 2.5 m (16 times the cells) on the GPU gave the same pattern, so it is still not a decision claim. AI gained nothing over the cheap baseline (0 of 3 splits); there was nothing to win. The method lesson: build the consequence geometry at the scale of the design element that controls the physics. Synthetic terrain, assumed unit costs, no client data. This is the second case for the method in the com...