Hi Rafael,
This is an interesting problem. In a couple of cases I ran with grid refinement and pruning enabled, it seems as though the solver likes to prune points which affect the location of the first flame front and cause it to push up against the left boundary of the domain. Is this what you were observing?
The grid refinement criteria implemented by Cantera are designed to properly resolve the structure when diffusion is important, but I think they have trouble for this initial autoignition-like behavior demonstrated by the “cool flame”. One possibility would be to base the refinement criteria on the change relative to the local concentration in each species’ composition (perhaps with some absolute cutoff), rather than the change relative to the global change in that species across the domain. This is more akin to the tolerances applied in the zero-dimensional reactor model, which of course does a good job of resolving ignition behavior.
I think you could experiment with this or other grid refinement strategies by implementing them in Python. The idea would be to solve on a fixed grid, then compute a refined grid based on some criteria, and then solve again on the modified grid. This is basically what the existing grid refinement algorithm is doing under the hood, anyway. You can see an example where the grid and solution values are updated between successive calls to FreeFlame.solve in the example diffusion_flame_extinction.py.
Regards,
Ray