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.
![Click for copyable input](assets.es/prepare-aspirin/In_11.png)
reactants =
EntityGroup[{EntityInstance[Entity["Chemical", "SalicylicAcid"],
Quantity[0.1, "Moles"]],
EntityInstance[Entity["Chemical", "AceticAnhydride"],
Quantity[0.1, "Moles"]]}]
![](assets.es/prepare-aspirin/O_8.png)
Calcule el total de masa para este lote usando una forma "currificada" de una consulta de entidades y propiedades.
![Click for copyable input](assets.es/prepare-aspirin/In_12.png)
mass = reactants["AbsoluteMass"]
![](assets.es/prepare-aspirin/O_9.png)
Debido a que el anhídrido acético es un líquido, sería conveniente saber exactamente cuánto se necesita.
![Click for copyable input](assets.es/prepare-aspirin/In_13.png)
UnitConvert[
EntityInstance[Entity["Chemical", "AceticAnhydride"],
Quantity[0.1, "Moles"]]["AbsoluteVolume"], "Milliliter"]
![](assets.es/prepare-aspirin/O_10.png)
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%.
![Click for copyable input](assets.es/prepare-aspirin/In_14.png)
EntityInstance[Entity["Chemical", "Aspirin"],
0.9*Quantity[0.1, "Moles"]]["AbsoluteMass"]
![](assets.es/prepare-aspirin/O_11.png)
Cuente los átomos que constituyen la molécula de aspirina.
![Click for copyable input](assets.es/prepare-aspirin/In_15.png)
elem = Entity["Chemical", "Aspirin"]["ElementCounts"]
![](assets.es/prepare-aspirin/O_12.png)
Reúna los números adecuados de estos átomos en una expresión de entidades agrupadas.
![Click for copyable input](assets.es/prepare-aspirin/In_16.png)
atomAssemble =
EntityGroup[
MapThread[EntityCopies[#1, #2] &, {Keys[elem], Values[elem]}]]
![](assets.es/prepare-aspirin/O_13.png)
![Click for copyable input](assets.es/prepare-aspirin/In_17.png)
atomicmass = atomAssemble["AtomicMass"]
![](assets.es/prepare-aspirin/O_14.png)
Como se espera, la masa atómica total de este grupo de entidades coincide con la masa molar de la molécula completa.
![Click for copyable input](assets.es/prepare-aspirin/In_18.png)
molarmass =
Entity["Chemical", "Aspirin"][
EntityProperty["Chemical", "MolarMass"]]
![](assets.es/prepare-aspirin/O_15.png)
![Click for copyable input](assets.es/prepare-aspirin/In_19.png)
Equal @@ QuantityMagnitude /@ {atomicmass, molarmass}
![](assets.es/prepare-aspirin/O_16.png)
Sin embargo, existen otras combinaciones isotópicas posibles, cada una de ellas con una masa total ligeramente diferente.
![Click for copyable input](assets.es/prepare-aspirin/In_20.png)
stableIsotopes = #[EntityProperty["Element", "StableIsotopes"]] & /@
Keys[elem]
![](assets.es/prepare-aspirin/O_17.png)
Este grupo consiste solamente de isótopos estándar (el llamado "de iones principales").
![Click for copyable input](assets.es/prepare-aspirin/In_21.png)
EntityGroup[{EntityCopies[Entity["Isotope", "C12"], 9],
EntityCopies[Entity["Isotope", "H1"], 8],
EntityCopies[Entity["Isotope", "O16"], 4]}]["AtomicMass"]
![](assets.es/prepare-aspirin/O_18.png)
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.
![Click for copyable input](assets.es/prepare-aspirin/In_22.png)
Times @@ MapThread[(QuantityMagnitude[#1[
EntityProperty["Isotope", "IsotopeAbundance"]],
"PureUnities"])^#2 &, {stableIsotopes[[All, 1]], Values[elem]}]
![](assets.es/prepare-aspirin/O_19.png)