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"

분자 시각화

분자의 2D 표현을 생성합니다:
실행
In[]:=
MoleculePlot[Molecule["caffeine"]]
지정된 분자 패턴을 강조하고 라벨을 지정합니다:
실행
In[]:=
MoleculePlot[​​Molecule["caffeine"],​​<|​​"aromatic bonds"->Bond[_,"Aromatic"],​​"double bonds"->Bond[_,"Double"],​​"carbon atoms"->Atom["C"]​​|>​​]
분자의 회전 가능한 3D 표현을 만듭니다:
실행
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
은 화학 반응을 반응물 모음에 적용하는 데 사용됩니다. 분자 패턴을 지정하는 것과 거의 같은 방식으로 분자 패턴을 지정합니다:
실행
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]
3D로 제품과 반응물을 빠르게 시각화합니다:
실행
In[]:=
GraphicsColumn[MoleculePlot3D/@reactants]->GraphicsColumn[MoleculePlot3D/@products]