Wolfram 化學 | 值得嘗試的事情

透過點擊程式碼內部並按下
+
可以編輯並執行任何程式碼.
分子和化學模擬與分析. 針對學生、工程師和研究人員—使用内建或公開可用資料緊密整合的專業函數,對分子結構、化學反應等進行視覺化、分析和模擬。

指定分子

使用精選資料指定分子:
執行
In[]:=
Molecule
caffeine
CHEMICAL

透過通用名稱指定常見分子:
執行
In[]:=
Molecule["caffeine"]
使用系統化學名稱指定分子:
執行
In[]:=
MoleculeName["caffeine"]​​Molecule["1,3,7-trimethylpurine-2,6-dione"]
使用 SMILES 字串指定分子:
執行
In[]:=
caffeine
CHEMICAL
["SMILES"]​​Molecule["CN1C=NC2=C1C(=O)N(C(=O)N2C)C"]
從標準文件格式輸入分子資料:
執行
In[]:=
Import["ExampleData/caffeine.xyz"]
使用原子和鍵列表指定分子:
執行
In[]:=
Molecule[{"H","O","H"},{Bond[{1,2},"Single"],Bond[{2,3},"Single"]}]

找出分子屬性

使用
MoleculeValue
取得特定分子的屬性:
執行
In[]:=
MoleculeValue[Molecule["caffeine"],"ElementMassFraction"]
也可以直接提取分子的屬性:
執行
In[]:=
Molecule["caffeine"]["MolarMass"]
取得依賴分子中特定原子或鍵的屬性:
執行
In[]:=
Molecule["water"][{"BondLength",{2,1}}]​​Molecule["water"][{"BondAngle",{2,1,3}}]
取得指定形式的異構物清單:
執行
In[]:=
FindIsomers
C
8
H
10
N
4
O
2
,"Entity"

視覺化分子

創建分子的二維表示:
執行
In[]:=
MoleculePlot[Molecule["caffeine"]]
強調並標記特定分子模式:
執行
In[]:=
MoleculePlot[​​Molecule["caffeine"],​​<|​​"aromatic bonds"->Bond[_,"Aromatic"],​​"double bonds"->Bond[_,"Double"],​​"carbon atoms"->Atom["C"]​​|>​​]
創建分子的可旋轉三維表示:
執行
In[]:=
MoleculePlot3D[Molecule["caffeine"],PlotLegends->Automatic]

平衡化學反應

平衡不平衡的化學反應:
執行
In[]:=
ReactionBalanceChemicalReaction
H
2
+
O
2
⟶
H
2
O

將字串解釋為化學公式:
執行
In[]:=
ReactionBalance["H2 + O2 -> H2O"]
解釋化合物的通用名稱以產生平衡反應:
執行
In[]:=
ReactionBalance["Hydrogen + Oxygen -> Water"]

指定反應模式

PatternReaction
i用於將化學反應應用於反應物集合。指定分子模式的方式與指定分子的方式大致相同:
執行
In[]:=
reactantpatterns={​​MoleculePattern[{"H","H"},{Bond[{1,2},"Single"]}],MoleculePattern[{"H","H"},{Bond[{1,2},"Single"]}],MoleculePattern[{"O","O"},{Bond[{1,2},"Double"]}]​​};​​productpatterns={​​MoleculePattern[{"H","O","H"},{Bond[{1,2},"Single"],Bond[{2,3},"Single"]}],MoleculePattern[{"H","O","H"},{Bond[{1,2},"Single"],Bond[{2,3},"Single"]}]​​};
使用模式列表規則表示化學反應:
執行
In[]:=
PatternReaction[reactantpatterns->productpatterns]
也可以使用 SMARTS 字串指定化學反應:
執行
In[]:=
PatternReaction["[H][H].[H][H].[O]=[O]>>[H][O][H].[H][O][H]"]

進行反應

指定
PatternReaction
:
執行
In[]:=
reaction=PatternReaction["[H][H].[H][H].[O]=[O]>>[H][O][H].[H][O][H]"]
創建作為反應物的分子列表(每個分子必須明確存在於列表中):
執行
In[]:=
reactants=Molecule
Formula:
H
2
Atoms: 2 Bonds: 1
,Molecule
Formula:
H
2
Atoms: 2 Bonds: 1
,Molecule
Formula:
O
2
Atoms: 2 Bonds: 1
;
找出對一系列反應物進行反應而產生的分子:
執行
In[]:=
products=ApplyReaction[reaction,reactants]
以三維形式快速視覺化產物和反應物:
執行
In[]:=
GraphicsColumn[MoleculePlot3D/@reactants]->GraphicsColumn[MoleculePlot3D/@products]