A library with basic chemical models.
$ dotnet add package Trivial.ChemistryThis library includes the basic chemistry models.
Add following namespace to your code file to use.
using Trivial.Chemistry;
Get element from periodic table by its symbol or atomic numbers.
var oxygen = ChemicalElement.Get(8);
var gold = ChemicalElement.Get("Au");
var carbon = ChemicalElement.C;
Or list a set of element.
var some = ChemicalElement.Where(ele => ele.AtomicNumber < 20);
Create an isotope from an element.
var diplogen = ChemicalElement.H.Isotope(2);
Or list all for a specific element.
var allCarbonIsotopes = ChemicalElement.C.Isotopes();
Parse a molecular formula.
var carbonicAcid = MolecularFormula.Parse("H2CO3");
Or create a molecular formula by merging elements and other molecular formulas.
var sulfuricAcid = ChemicalElement.H * 2 + ChemicalElement.S + ChemicalElement.O * 4;
var ethanol = MolecularFormula.Parse("CH3") + MolecularFormula.Parse("CH2") + MolecularFormula.Parse("OH");
var iron = ChemicalElement.Fe;
Test conservation of mass.
// 2 Na + 2 H₂O = 2 NaOH + H₂
var mass = MolecularFormula.ConservationOfMass(
new List<MolecularFormula>
{
{ ChemicalElement.Na, 2 },
{ ChemicalElement.H * 2 + ChemicalElement.O, 2 }
},
new List<MolecularFormula>
{
{ ChemicalElement.Na + ChemicalElement.H + ChemicalElement.O, 2 },
ChemicalElement.H * 2
}
);
Console.WriteLine(mass); // -> True