.FCSys.Utilities.Chemistry.readElement

Information

This function returns the symbol (symbol), stoichiometric coefficient (n), and electrical charge (z) associated with an element as it appears in a chemical formula (formula). After any initial whitespace in the formula string, which is ignored, the symbol must begin with a letter and may continue with lowercase letters. The symbol may be followed by a positive integer and then a charge number (both independently optional). If present, the charge number must begin with "+" or "-" and may be followed by optional digits. The remainder output gives the remainder of the formula string after the symbol, coefficient, and charge have been extracted.

If the coefficient is not explicitly given, then it is assumed to be one. If the charge number is not given, then it is assumed to be zero. A "+" or "-" without following digits is interpreted as a charge of +1 or -1, respectively. If there is an error, then symbol will be an empty string.

Example:
(symbol, n, z, remainder) = readElement("Hg2+2") returns symbol="Hg", n=2, z=2, and remainder="".

Interface

function readElement
  extends Modelica.Icons.Function;
  input String formula "Chemical formula";
  output String symbol "Name of element (empty if error)";
  output Integer n "Stoichiometric coefficient" annotation(
    Dialog(__Dymola_label = "<html><i>n</i></html>"));
  output Integer z "Charge number" annotation(
    Dialog(__Dymola_label = "<html><i>z</i></html>"));
  output String remainder "Remainder of the chemical formula";
end readElement;

Generated at 2024-10-21T18:25:38Z by OpenModelicaOpenModelica 1.24.0 using GenerateDoc.mos