calculate static method
- String formula
Calculates molecular weight from a chemical formula.
Example:
double mw = MolecularWeight.calculate('H2O');
print(mw); // Approximately 18.015
Returns the molecular weight in atomic mass units (amu). Throws FormatException if formula contains unknown elements.
Implementation
static double calculate(String formula) {
final Map<String, int> elementCounts = parseFormula(formula);
double totalWeight = 0.0;
for (final element in elementCounts.keys) {
if (!_atomicWeights.containsKey(element)) {
throw FormatException('Unknown element: $element');
}
final double atomicWeight = _atomicWeights[element]!;
final int count = elementCounts[element]!;
totalWeight += atomicWeight * count;
}
return totalWeight;
}