Hello
After starting making NEIPAs, it was required to calculate the IBU from late hoppings, I mean, hops added during whirlpool, in flameout. I saw that beersmith calculates these hop additions but it is used a rough approximation where an utilization factor is applied. So I decided to implement the strategy described in this article.
Several (small) changes were required to this approach:
- new entries in database (tun diameter is required, amount of time in whirlpool and a flag for indicating when we want to use or not this feature). Yes, I did all the steps cited in wiki, and an update procedure from db version 7 to 8.
- slightly modifications in the equipment editor (see images)
- new unity (required for length), I am supporting centimetres and inches
- an additional calculation method
At this moment, I believe the code is working as expected. However, we have some UI issues:
- the (new) global whirlpool time (in equipment editor) is used for calculating IBU after flameout when using normal hop additions. As the hops table captures the regular hop time (before flameout), I couldn't see any other option.
- however, for whirlpool hop additions (starting at flameout) I could use (or not) the time specified in the hop table. As this moment, I am using the global time. It is strange as the user could set a time in the hop table (does not affect the result). The global parameter could be avoided if the algorithm could check the hop list and choose the bigger whirlpool time as the whirlpool time to be used. I am not sure about the better approach.
- the algorithm used is iterative, an integral, indeed. I saw that hop calculations were called 74 times after selecting this feature in equipment editor (wasting time and processing power). I don't know why, probably some Qt issue as I did not change anything related to this. Any directions ?
Wrapping up, I would request help with:
- to decide if this feature is desired or not (better bitterness calculation when whirlpool time is considered for hops added before and after flameout. And, of course, if the feature is turned off, all recipes will perform as before).
- code review
- solution/working around for these successive updates in hops calculations
- decide the better UI approach
Thanks a lot
Marcelo Barros
My repository and some screenshots:
https://github.com/marcelobarrosalmeida/brewtarget/tree/ibu_whirlpool


Hello
After starting making NEIPAs, it was required to calculate the IBU from late hoppings, I mean, hops added during whirlpool, in flameout. I saw that beersmith calculates these hop additions but it is used a rough approximation where an utilization factor is applied. So I decided to implement the strategy described in this article.
Several (small) changes were required to this approach:
At this moment, I believe the code is working as expected. However, we have some UI issues:
Wrapping up, I would request help with:
Thanks a lot
Marcelo Barros
My repository and some screenshots:
https://github.com/marcelobarrosalmeida/brewtarget/tree/ibu_whirlpool