This function reads a chemical formula (formula)
and returns the symbols (symbols) and coefficients
(coeffs). Each element is interpreted according to the
rules in the readElement
function. Currently, formula may not contain
parentheses or brackets.
The symbols correspond to chemical/physical elements or electrons ("e-"). Electrons are listed if the charge is nonzero.
Example:
(symbols, coeffs) = readSpecies("C19HF37O5S-") returns
symbols={"C", "H", "F", "O", "S", "e-"} and
coeffs={19, 1, 37, 5, 1, 1}.
function readSpecies extends Modelica.Icons.Function; input String formula "Chemical formula"; output String symbols[countElements(formula)] "Symbols of the elements"; output Integer coeffs[countElements(formula)] "Coefficients of the elements"; end readSpecies;