We should add solver options (tolerance and max iterations) to the component parameter files. We should also add an option that turns on some diagnostic output, like how many iterations were required for each solve. Currently the parameters are hard coded, but I'm worried they could vary from machine to machine. This would at least allow us to investigate more and tune things. If tolerances are too tight solvers may hit the iteration limit. While not a disaster, it is a big waste of time.
We should add solver options (tolerance and max iterations) to the component parameter files. We should also add an option that turns on some diagnostic output, like how many iterations were required for each solve. Currently the parameters are hard coded, but I'm worried they could vary from machine to machine. This would at least allow us to investigate more and tune things. If tolerances are too tight solvers may hit the iteration limit. While not a disaster, it is a big waste of time.
Aside from the saturation density and pressure calculations, all other solves have been migrated to Halley's method from Boost https://www.boost.org/doc/libs/1_80_0/libs/math/doc/html/math_toolkit/roots_deriv.html.