Wisp redistribution and heat transfer not playing well with each other
I've been looking at the filling step of the "opencalc" problem, which is generic hemi casting experiment (see #419 (closed)), and have run into failures when I turn on wisp redistribution. I'll attach the mesh and input file here.
If I turn it on from the beginning, either the time step crashes, or the diffusion solver time step iteration will fail to converge. This happens pretty quickly.
If I turn it off, then the filling proceeds without any problem for quite a long time. The full filling takes about 16 sec. About halfway (?) through that time you notice that the Courant-limited time step is slowly decreasing, and correspondingly that the maximum velocity is slowly growing. An accelerating fragment of fluid most likely. If I was willing to wait I expect it would eventually finish -- the time step isn't crashing -- but I've tried stopping the run (sending it a SIGUSR2 signal) and then restarting with wisp redistribution turned on, and that's worked great. It cleans up whatever mess there was and the time step returns to a reasonable size, and the problem runs though to completion.
I'm not sure what's going wrong at the beginning with wisp redistribution, but there are a couple concerns that I have with heat transfer (specifically the FHT solver) not playing nice with wisp redistribution, and perhaps they may be contributing to, or the cause of, the failures.
- The redistribution moves mass around without properly dealing with the associated enthalpy.
- The FHT solver itself does some culling of small fragments of fluid. Actually it is the FHT solver driver that does it before calling the solver. It is the procedure
cull_material_fragments
indiffusion_solver.F90
. It's usingcutvof
fromcutoffs_module
, so it's throwing away really small stuff. I don't recall any details now after so many years, but I'm sure I found this culling procedure necessary to get the FHT solver to work, otherwise I wouldn't have bothered. But perhaps it's not needed now and is at odds with what wisp redistribution is doing?