Skip to content

Latest commit

 

History

History
31 lines (15 loc) · 868 Bytes

README.md

File metadata and controls

31 lines (15 loc) · 868 Bytes

groovy-chemistry

A Groovy library with DSL for computing atomic weights of compounds.

Call Chemistry.calc with a Closure. Chemistry uses propertyMissing to create either Element or Compound objects.

A Compound is composed of elements. Compound.elements returns a Map of Element to Integer (the number of the given element in the compound):

H2O.elements

The weight property gives the atomic weight of an element or compound:

H.weight

You can add and subtract elements and compounds:

H2O + Na2 - O

You can also multiply compounds by numbers:

(Ca3+(PO4)*2).weight

Use % (mod) to determine the percentage by atomic weight of an element in a given compound:

println "%Oxygen of Fe(NO3)3 = ${(Fe&(NO3)*3) % O}"

Use / (divide) to determine the number of an element in a given compound:

println "#Oxygen in Fe(NO3)3 = ${(Fe&(NO3)*3) / O}"