Hopefully, the computational core of the LIPGLOSS desktop app will be incorporated into Glazy at some point. This page outlines my proposed workflow for going from an existing recipe or analysis on Glazy, to a new one that uses only the materials in a user’s inventory, but which has the same analysis as the original. Everything proposed here is, of course, open to discussion.
Recipes and analyses will have an additional button, called something like ‘Recreate’ or ‘Reconstruct’, that opens the following window:
On the right is the oxide composition of the recipe / analysis, showing the value of each oxide present (the view can be toggled between UMF, percent weight, or percent mol). Each value v has an error bound e (default 0), and the view can be toggled between showing v ± e, and the interval [v-e, v+e].
On the left is the ingredient selector, that lets users select ingredients from their inventory. If the starting point for the reformulation is a recipe, the materials in the original recipe will be preselected, with the ones that aren’t in the users inventory greyed out. In this way, if a user just wants to reformulate a recipe that only has a few unavailable ingredients, they should hopefully be able to replace them relatively easily with similar ingredients in their inventory.
The selected ingredients also have bounds on their percentages, but the default will be the interval view, from 0 to 100.
Hitting the calculate button will compute the bounds on ingredients and oxides, as in the desktop version of LIPGLOSS.
It’s possible to do some simple checks before running the linear programming algorithm, to flag selections of ingredients which can’t be used to satisfy the bounds on the oxides. For example, if an analysis has 10% Al2O3, and all of the ingredients selected have less than 10% Al2O3, then there’s no way any combination can match the analysis. Oxides which can’t be supplied in large enough percentages by the ingredients selected will be flagged. Hopefully this will help users select the correct ingredients. In the sketch above, there’s no source of K2O, so this has been highlighted in red.
Things that need further thought:
- At some point there should be the option to combine Na and K as one.
- How to implement other restrictions (like fixing the SiO2 : Al2O3 ratio, or putting an upper bound on the LOI)