Eugen Miknevic
  • Writing
  • Projects
  • Publications
  • About
Home

Writing

Notes on casting simulation, physics-based AI and software for foundries.

Publishing a casting model: what it took to make the weights runnable

The solidification surrogate behind castsolid-gnn is now public under Apache-2.0, weights included. I had expected that to be an afternoon of uploading a checkpoint. It was not. The model had lived in my training setup for months, and a training checkpoint is not something a stranger can run. Here is what stood between the checkpoint and a model someone else can use. A checkpoint carries the training rig with it My internal artifacts were a PyTorch .pt file and two scikit-learn models saved with joblib. All three were written by my own code and read by my own code, so they were full of assumptions I had stopped seeing: how features were normalized, what the architecture config was, which node ordering the mesh used, which scikit-learn version wrote the file. ...

October 9, 2026 · 4 min · Eugen Miknevic

Human-in-the-loop AI on the foundry floor

In many foundries the hardest data problem is capture. Nobody types a report on a terminal in foundry gloves, so heats, moulds, scrap and chemistry get reconstructed from paper at the end of the shift, and that is where errors come in. GussCore lets shop-floor workers report by voice or photo. It has been piloted at a two-plant foundry group, and five rules shaped it. 1. The AI proposes and a person confirms Nothing reaches the database without human confirmation. A wrong heat number spreads into metal traceability, costing and the weekly plan, so the model takes over the typing and the person keeps the responsibility. ...

October 6, 2026 · 2 min · Eugen Miknevic

Validating a GPU solidification solver: from +51% to within 3.7%

A fast solver that gives a wrong answer makes a wrong feeding decision look certain. When I wrote the solidification solver behind FoundryFlash, I spent as much time checking it as writing it. This post covers that checking and the error that mattered most. What the solver computes The solver integrates the transient heat equation in enthalpy form, which handles the latent heat released during freezing without special treatment: $$\rho \frac{\partial H}{\partial t} = \nabla \cdot \left( k \nabla T \right), \qquad T = T(H)$$It uses control-volume finite elements on linear tetrahedra and balances energy on the dual volume around each node. Time stepping is implicit backward Euler, solved with a Jacobi-preconditioned conjugate-gradient method. The mould is a region of its own: heat crosses the metal-mould interface through a heat-transfer coefficient \(h\), with flux \(q = h \, (T_\text{metal} - T_\text{mould})\). ...

October 6, 2026 · 3 min · Eugen Miknevic

Voxels or tetrahedra: what casting AI needs from the mesh

Many casting simulation codes discretise the part on a structured cubic grid. That made sense on the hardware of the 1980s, and for many parts it still works. It is a weak base for two things foundries want now: simulating the free-form shapes that 3D-printed moulds and cores make possible, and training AI that proposes casting technology. Where the staircase hurts A cubic grid turns a curved or inclined surface into a staircase. On a plane inclined at 45°, the staircase overstates the wetted area by \(\sqrt{2} \approx 1.41\), and doubly curved surfaces are worse. The surface normal also points along a grid axis everywhere instead of following the real surface. ...

October 6, 2026 · 3 min · Eugen Miknevic
© 2026 Eugen Miknevic · About · Search · Legal & Privacy