Ejemplo n.º 1
0
        public static IAtomContainer WashingSoda()
        {
            var co3 = new AtomContainer();

            var carbon = co3.AddAtom("C");

            co3.AddBond(carbon, co3.AddAtom("O"), BondOrder.Double);

            for (var i = 0; i < 2; i++)
            {
                var oxy = co3.AddAtom("O");
                oxy.FormalCharge = -1;
                co3.AddBond(carbon, oxy, BondOrder.Single);
            }

            var washingSoda = new Crystal(co3);

            var sodium00 = washingSoda.AddAtom("Na");

            sodium00.FormalCharge = 1;
            var sodium01 = washingSoda.AddAtom("Na");

            sodium01.FormalCharge = 1;

            washingSoda.Title = nameof(washingSoda);

            return(washingSoda);
        }
Ejemplo n.º 2
0
        public static IAtomContainer Salt()
        {
            var salt   = new Crystal();
            var sodium = salt.AddAtom("Na");

            sodium.FormalCharge = 1;

            var chloride = salt.AddAtom("Cl");

            chloride.FormalCharge = -1;

            salt.Title = nameof(salt);

            return(salt);
        }
Ejemplo n.º 3
0
        public static IAtomContainer RootKiller()
        {
            var mol = new AtomContainer();

            var sulfur = mol.AddAtom("S");

            for (var i = 0; i < 2; i++)
            {
                mol.AddBond(sulfur, mol.AddAtom("O"), BondOrder.Double);
            }

            var oxy00 = mol.AddAtom("O");

            oxy00.FormalCharge = -1;
            mol.AddBond(sulfur, oxy00, BondOrder.Single);

            var oxy01 = mol.AddAtom("O");

            oxy01.FormalCharge = -1;
            mol.AddBond(sulfur, oxy01, BondOrder.Single);

            var rootKiller = new Crystal(mol);

            var mg = rootKiller.AddAtom("Cu");

            mg.FormalCharge = 2;

            rootKiller.Title = nameof(rootKiller);

            return(rootKiller);
        }
Ejemplo n.º 4
0
        public static IAtomContainer EpsomSalt()
        {
            var mol = new AtomContainer();

            var sulfur = mol.AddAtom("S");

            for (var i = 0; i < 2; i++)
            {
                mol.AddBond(sulfur, mol.AddAtom("O"), BondOrder.Double);
            }

            var oxy00 = mol.AddAtom("O");

            oxy00.FormalCharge = -1;
            mol.AddBond(sulfur, oxy00, BondOrder.Single);

            var oxy01 = mol.AddAtom("O");

            oxy01.FormalCharge = -1;
            mol.AddBond(sulfur, oxy01, BondOrder.Single);

            var epsomSalt = new Crystal(mol);

            var mg = epsomSalt.AddAtom("Mg");

            mg.FormalCharge = 2;

            epsomSalt.Title = nameof(epsomSalt);

            return(epsomSalt);
        }
Ejemplo n.º 5
0
        public static IAtomContainer BakingSoda()
        {
            var co3h = new AtomContainer();

            var carbon = co3h.AddAtom("C");

            co3h.AddBond(carbon, co3h.AddAtom("O"), BondOrder.Double);

            var oxy00 = co3h.AddAtom("O");

            co3h.AddBond(carbon, oxy00, BondOrder.Single);
            co3h.AddBond(oxy00, co3h.AddAtom("H"), BondOrder.Single);

            var oxy01 = co3h.AddAtom("O");

            oxy01.FormalCharge = -1;

            co3h.AddBond(carbon, oxy01, BondOrder.Single);

            var bakingSoda = new Crystal(co3h);
            var sodium     = bakingSoda.AddAtom("Na");

            sodium.FormalCharge = 1;

            bakingSoda.Title = nameof(bakingSoda);

            return(bakingSoda);
        }
Ejemplo n.º 6
0
        public static IAtomContainer CreamOfTartar()
        {
            var tartaricAcid = new AtomContainer();

            var carbons = new[]
            {
                tartaricAcid.AddAtom("C"),
                tartaricAcid.AddAtom("C"),
                tartaricAcid.AddAtom("C"),
                tartaricAcid.AddAtom("C")
            };

            tartaricAcid.AddBond(carbons[0], carbons[1], BondOrder.Single);
            tartaricAcid.AddBond(carbons[1], carbons[2], BondOrder.Single);
            tartaricAcid.AddBond(carbons[2], carbons[3], BondOrder.Single);

            var oxy00 = tartaricAcid.AddAtom("O");

            tartaricAcid.AddBond(oxy00, tartaricAcid.AddAtom("H"), BondOrder.Single);

            tartaricAcid.AddBond(carbons[0], oxy00, BondOrder.Single);
            tartaricAcid.AddBond(carbons[0], tartaricAcid.AddAtom("O"), BondOrder.Double);

            for (var i = 0; i < 2; i++)
            {
                var oxy01 = tartaricAcid.AddAtom("O");
                tartaricAcid.AddBond(oxy01, tartaricAcid.AddAtom("H"), BondOrder.Single);
                tartaricAcid.AddBond(oxy01, carbons[i + 1], BondOrder.Single);
            }

            tartaricAcid.AddBond(carbons[3], tartaricAcid.AddAtom("O"), BondOrder.Double);

            var oxy02 = tartaricAcid.AddAtom("O");

            oxy02.FormalCharge = -1;
            tartaricAcid.AddBond(carbons[3], oxy02, BondOrder.Single);

            var creamOfTartar = new Crystal(tartaricAcid);

            var potassium = creamOfTartar.AddAtom("K");

            potassium.FormalCharge = 1;

            creamOfTartar.Title = nameof(creamOfTartar);

            return(creamOfTartar);
        }
Ejemplo n.º 7
0
        public static IAtomContainer Lye()
        {
            var hydroxideAnion = new AtomContainer();
            var oxy            = hydroxideAnion.AddAtom("O");

            oxy.FormalCharge = -1;

            hydroxideAnion.AddBond(oxy, hydroxideAnion.AddAtom("H"), BondOrder.Single);

            var lye = new Crystal(hydroxideAnion);

            var sodium = lye.AddAtom("Na");

            sodium.FormalCharge = 1;

            lye.Title = nameof(lye);

            return(lye);
        }
Ejemplo n.º 8
0
        public static IAtomContainer Bleach()
        {
            var hypochlorite = new AtomContainer();

            var oxygen = hypochlorite.AddAtom("O");

            var chloride = hypochlorite.AddAtom("Cl");

            chloride.FormalCharge = -1;

            hypochlorite.AddBond(oxygen, chloride, BondOrder.Single);

            var bleach = new Crystal(hypochlorite);

            var sodium = bleach.AddAtom("Na");

            sodium.FormalCharge = 1;

            bleach.Title = nameof(bleach);

            return(bleach);
        }