The Design of Chemical Equilibrium Computation Algorithms and Investigations Into the Modeling of Silicate Phase Equilibria