Prepare aspirina
La aspirina es el medicamento más utilizado para tratar el dolor, la fiebre y la inflamación. Esta puede ser sintetizada combinando cantidades equimolares de ácido salicílico y anhídrido acético. Aquí, los datos químicos de Wolfram Knowledgebase son utilizados junto con el marco de cantidades y grupos de entidades, copias e instancias, para estudiar la preparación química de la aspirina.
Represente un lote típico de laboratorio para la preparación de 100 milimolar de aspirina usando EntityGroup.

reactants =
EntityGroup[{EntityInstance[Entity["Chemical", "SalicylicAcid"],
Quantity[0.1, "Moles"]],
EntityInstance[Entity["Chemical", "AceticAnhydride"],
Quantity[0.1, "Moles"]]}]Calcule el total de masa para este lote usando una forma "currificada" de una consulta de entidades y propiedades.
mass = reactants["AbsoluteMass"]Debido a que el anhídrido acético es un líquido, sería conveniente saber exactamente cuánto se necesita.

UnitConvert[
EntityInstance[Entity["Chemical", "AceticAnhydride"],
Quantity[0.1, "Moles"]]["AbsoluteVolume"], "Milliliter"]Suponiendo un estequiométrico, ej. una reacción cuantitativa (teórica), esto produce 100 milimoles de aspirina. Sin embargo, en la práctica produce alrededor del 90%.
EntityInstance[Entity["Chemical", "Aspirin"],
0.9*Quantity[0.1, "Moles"]]["AbsoluteMass"]Cuente los átomos que constituyen la molécula de aspirina.
elem = Entity["Chemical", "Aspirin"]["ElementCounts"]Reúna los números adecuados de estos átomos en una expresión de entidades agrupadas.
atomAssemble =
EntityGroup[
MapThread[EntityCopies[#1, #2] &, {Keys[elem], Values[elem]}]]atomicmass = atomAssemble["AtomicMass"]Como se espera, la masa atómica total de este grupo de entidades coincide con la masa molar de la molécula completa.
molarmass =
Entity["Chemical", "Aspirin"][
EntityProperty["Chemical", "MolarMass"]]Equal @@ QuantityMagnitude /@ {atomicmass, molarmass}Sin embargo, existen otras combinaciones isotópicas posibles, cada una de ellas con una masa total ligeramente diferente.
stableIsotopes = #[EntityProperty["Element", "StableIsotopes"]] & /@
Keys[elem]Este grupo consiste solamente de isótopos estándar (el llamado "de iones principales").

EntityGroup[{EntityCopies[Entity["Isotope", "C12"], 9],
EntityCopies[Entity["Isotope", "H1"], 8],
EntityCopies[Entity["Isotope", "O16"], 4]}]["AtomicMass"]La probabilidad de ocurrencia de una molécula con tal composición es menor al 90%. Sin embargo, en un espectro de masas sería el pico molecular más prominente.

Times @@ MapThread[(QuantityMagnitude[#1[
EntityProperty["Isotope", "IsotopeAbundance"]],
"PureUnities"])^#2 &, {stableIsotopes[[All, 1]], Values[elem]}]