Skip to main content
.NETFramework4.6.1.NETFramework4.6.2.NETFramework4.8net6.0net7.0

A library with basic chemical models.

Published
May 8, 2023
3y ago
Total Downloads
21.2K
21,206

Install

dotnet add package Trivial.Chemistry --version 7.1.0
ProductVersions
.NET
net6.0net7.0
Other
.NETFramework4.6.1.NETFramework4.6.2.NETFramework4.8

README

Trivial.Chemistry

This library includes the basic chemistry models.

Import

Add following namespace to your code file to use.

using Trivial.Chemistry;

Element

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);

Isotope

Create an isotope from an element.

var diplogen = ChemicalElement.H.Isotope(2);

Or list all for a specific element.

var allCarbonIsotopes = ChemicalElement.C.Isotopes();

Molecular formula

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

Changes from Previous Version

v7.0.0v7.1.0
Added Frameworks
.NETFramework4.6.2
Added Dependencies
Trivial(.NETFramework4.6.2)

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

Compatibility metadata lists 5 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.