Wolfram 化学 | 应用示例

在代码中点击并按下
+
,即可编辑并运行任何代码。
分子与化学建模和分析。面向学生、工程师和研究人员——通过与内置或公开数据紧密集成的专业函数,实现分子结构、化学反应等的可视化、分析和建模。

指定分子

使用精选数据指定分子:
Run
In[]:=
Molecule
caffeine
CHEMICAL

通过常用名称指定常见分子:
Run
In[]:=
Molecule["caffeine"]
使用系统命名法指定分子:
Run
In[]:=
MoleculeName["caffeine"]​​Molecule["1,3,7-trimethylpurine-2,6-dione"]
使用 SMILES 字符串指定分子:
Run
In[]:=
caffeine
CHEMICAL
["SMILES"]​​Molecule["CN1C=NC2=C1C(=O)N(C(=O)N2C)C"]
从标准文件格式导入分子数据:
Run
In[]:=
Import["ExampleData/caffeine.xyz"]
使用原子和键的列表指定分子:
Run
In[]:=
Molecule[{"H","O","H"},{Bond[{1,2},"Single"],Bond[{2,3},"Single"]}]

查找分子的属性

使用
MoleculeValue
获取特定分子的属性:
Run
In[]:=
MoleculeValue[Molecule["caffeine"],"ElementMassFraction"]
也可以直接提取分子的属性:
Run
In[]:=
Molecule["caffeine"]["MolarMass"]
获取取决于特定原子或化学键的分子属性:
Run
In[]:=
Molecule["water"][{"BondLength",{2,1}}]​​Molecule["water"][{"BondAngle",{2,1,3}}]
获取指定形式的异构体列表:
Run
In[]:=
FindIsomers
C
8
H
10
N
4
O
2
,"Entity"

分子可视化

创建分子的二维表示:
Run
In[]:=
MoleculePlot[Molecule["caffeine"]]
突出显示并标记指定的分子模式:
Run
In[]:=
MoleculePlot[​​Molecule["caffeine"],​​<|​​"aromatic bonds"->Bond[_,"Aromatic"],​​"double bonds"->Bond[_,"Double"],​​"carbon atoms"->Atom["C"]​​|>​​]
创建可旋转的分子三维模型:
Run
In[]:=
MoleculePlot3D[Molecule["caffeine"],PlotLegends->Automatic]

配平化学反应

对未配平的化学反应进行配平:
Run
In[]:=
ReactionBalanceChemicalReaction
H
2
+
O
2
⟶
H
2
O

将字符串解释为化学式:
Run
In[]:=
ReactionBalance["H2 + O2 -> H2O"]
解释化合物常用名以生成配平反应:
Run
In[]:=
ReactionBalance["Hydrogen + Oxygen -> Water"]

指定反应模式

PatternReaction
用于将化学反应应用于一组反应物。指定分子模式的方式与指定分子的方式基本相同:
Run
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"]}]​​};
以模式列表规则表示化学反应:
Run
In[]:=
PatternReaction[reactantpatterns->productpatterns]
也可以使用 SMARTS 字符串指定化学反应:
Run
In[]:=
PatternReaction["[H][H].[H][H].[O]=[O]>>[H][O][H].[H][O][H]"]

应用化学反应

指定
PatternReaction
:
Run
In[]:=
reaction=PatternReaction["[H][H].[H][H].[O]=[O]>>[H][O][H].[H][O][H]"]
创建作为反应物的分子列表(每个分子必须明确存在于列表中):
Run
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
;
查找将反应应用于反应物列表后生成的分子:
Run
In[]:=
products=ApplyReaction[reaction,reactants]
快速显示产物和反应物的三维结构:
Run
In[]:=
GraphicsColumn[MoleculePlot3D/@reactants]->GraphicsColumn[MoleculePlot3D/@products]