Wolfram Química | Experimente!

Edite e execute qualquer trecho de código clicando dentro do código e pressionando
+
.
Modelagem & Análise Molecular e Química. Para estudantes, engenheiros e pesquisadores — visualize, analise e modele estruturas moleculares, reações químicas e muito mais com funções especializadas integradas a dados incorporados ou publicamente disponíveis.

Especificar Moléculas

Especifique uma molécula usando dados curados:
Executar
In[]:=
Molecule
caffeine
CHEMICAL

Especifique moléculas comuns por seus nomes usuais:
Executar
In[]:=
Molecule["caffeine"]
Especifique uma molécula usando nomes químicos sistemáticos:
Executar
In[]:=
MoleculeName["caffeine"]​​Molecule["1,3,7-trimethylpurine-2,6-dione"]
Especifique uma molécula usando uma string SMILES:
Executar
In[]:=
caffeine
CHEMICAL
["SMILES"]​​Molecule["CN1C=NC2=C1C(=O)N(C(=O)N2C)C"]
Importe dados moleculares a partir de formatos de arquivo padrão:
Executar
In[]:=
Import["ExampleData/caffeine.xyz"]
Especifique uma molécula usando listas de átomos e ligações:
Executar
In[]:=
Molecule[{"H","O","H"},{Bond[{1,2},"Single"],Bond[{2,3},"Single"]}]

Encontrar Propriedades de Moléculas

Use
MoleculeValue
para obter propriedades de moléculas específicas:
Executar
In[]:=
MoleculeValue[Molecule["caffeine"],"ElementMassFraction"]
Também é possível extrair diretamente propriedades de moléculas:
Executar
In[]:=
Molecule["caffeine"]["MolarMass"]
Obtenha propriedades que dependem de átomos ou ligações específicas dentro de uma molécula:
Executar
In[]:=
Molecule["water"][{"BondLength",{2,1}}]​​Molecule["water"][{"BondAngle",{2,1,3}}]
Obtenha uma lista de isômeros em uma forma especificada:
Executar
In[]:=
FindIsomers
C
8
H
10
N
4
O
2
,"Entity"

Visualizar Moléculas

Crie uma representação 2D de uma molécula:
Executar
In[]:=
MoleculePlot[Molecule["caffeine"]]
Destaque e rotule padrões moleculares específicos:
Executar
In[]:=
MoleculePlot[​​Molecule["caffeine"],​​<|​​"aromatic bonds"->Bond[_,"Aromatic"],​​"double bonds"->Bond[_,"Double"],​​"carbon atoms"->Atom["C"]​​|>​​]
Crie uma representação 3D rotacionável de uma molécula:
Executar
In[]:=
MoleculePlot3D[Molecule["caffeine"],PlotLegends->Automatic]

Balancear uma Reação Química

Balanceie uma reação química não balanceada:
Executar
In[]:=
ReactionBalanceChemicalReaction
H
2
+
O
2
⟶
H
2
O

Interprete uma string como uma fórmula química:
Executar
In[]:=
ReactionBalance["H2 + O2 -> H2O"]
Interprete nomes comuns de compostos para gerar uma reação balanceada:
Executar
In[]:=
ReactionBalance["Hydrogen + Oxygen -> Water"]

Especificar um Padrão para uma Reação

PatternReaction
é usado para aplicar reações químicas a um conjunto de reagentes; especifique um padrão molecular da mesma forma que especificaria uma molécula:
Executar
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"]}]​​};
Represente uma reação química usando uma regra para listas de padrões:
Executar
In[]:=
PatternReaction[reactantpatterns->productpatterns]
Também é possível especificar uma reação química usando uma string SMARTS:
Executar
In[]:=
PatternReaction["[H][H].[H][H].[O]=[O]>>[H][O][H].[H][O][H]"]

Aplicar uma Reação

Especifique um
PatternReaction
:
Executar
In[]:=
reaction=PatternReaction["[H][H].[H][H].[O]=[O]>>[H][O][H].[H][O][H]"]
Crie uma lista de moléculas como reagentes (cada molécula deve estar explicitamente presente na lista):
Executar
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
;
Encontre as moléculas produzidas ao aplicar uma reação a uma lista de reagentes:
Executar
In[]:=
products=ApplyReaction[reaction,reactants]
Visualize rapidamente os produtos e reagentes em 3D:
Executar
In[]:=
GraphicsColumn[MoleculePlot3D/@reactants]->GraphicsColumn[MoleculePlot3D/@products]