Skip to content

Commit 1266b3c

Browse files
committed
add ethylene carbonate example
1 parent 1363b20 commit 1266b3c

File tree

1 file changed

+288
-0
lines changed

1 file changed

+288
-0
lines changed

examples/rmg/SEI_pure_EC/input.py

Lines changed: 288 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,288 @@
1+
# Data sources
2+
database(
3+
thermoLibraries=['electrocatLiThermo','primaryThermoLibrary', 'LithiumPrimaryThermo', 'LithiumAdditionalThermo', 'thermo_DFT_CCSDTF12_BAC','DFT_QCI_thermo'], # 'surfaceThermoPt' is the default. Thermo data is derived using bindingEnergies for other metals
4+
reactionLibraries = ['LithiumPrimaryKinetics','LithiumAnalogyKinetics'], # when Ni is used change the library to Surface/Deutschmann_Ni
5+
seedMechanisms = [],
6+
kineticsDepositories = ['training'],
7+
kineticsFamilies = ['surface','electrochem',
8+
'1+2_Cycloaddition',
9+
'1,2-Birad_to_alkene',
10+
'1,2_Insertion_CO',
11+
'1,2_Insertion_carbene',
12+
'1,2_shiftS',
13+
'1,3_Insertion_CO2',
14+
'1,3_Insertion_ROR',
15+
'1,3_Insertion_RSR',
16+
'1,4_Cyclic_birad_scission',
17+
'1,4_Linear_birad_scission',
18+
'2+2_cycloaddition',
19+
'Birad_recombination',
20+
'CO_Disproportionation',
21+
'Birad_R_Recombination',
22+
'Cyclic_Ether_Formation',
23+
'Cyclic_Thioether_Formation',
24+
'Diels_alder_addition',
25+
'Diels_alder_addition_Aromatic',
26+
#'Disproportionation',
27+
'HO2_Elimination_from_PeroxyRadical',
28+
'H_Abstraction',
29+
'Intra_Retro_Diels_alder_bicyclic',
30+
'Intra_Disproportionation',
31+
'Intra_R_Add_Endocyclic',
32+
'Intra_R_Add_Exocyclic',
33+
'R_Addition_COm',
34+
'R_Addition_MultipleBond',
35+
'R_Recombination',
36+
'intra_H_migration',
37+
'intra_NO2_ONO_conversion',
38+
'intra_OH_migration',
39+
'intra_substitutionCS_cyclization',
40+
'intra_substitutionCS_isomerization',
41+
'intra_substitutionS_cyclization',
42+
'intra_substitutionS_isomerization',
43+
#'ketoenol',
44+
'Singlet_Carbene_Intra_Disproportionation',
45+
'Singlet_Val6_to_triplet',
46+
'Intra_5_membered_conjugated_C=C_C=C_addition',
47+
'Intra_Diels_alder_monocyclic',
48+
'Concerted_Intra_Diels_alder_monocyclic_1,2_shiftH',
49+
'Intra_2+2_cycloaddition_Cd',
50+
'Intra_ene_reaction',
51+
'Cyclopentadiene_scission',
52+
'6_membered_central_C-C_shift',
53+
'Intra_R_Add_Exo_scission',
54+
'1,2_shiftC',
55+
'1,2_NH3_elimination',
56+
'1,3_NH3_elimination',
57+
'Retroene',],
58+
kineticsEstimator = 'rate rules',
59+
adsorptionGroups='adsorptionLi',
60+
)
61+
62+
catalystProperties(
63+
metal = 'Li110'
64+
)
65+
66+
# List of species
67+
species(
68+
label="Lip",
69+
reactive=True,
70+
structure=SMILES("[Li+]"),
71+
)
72+
73+
species(
74+
label='ethylene-carbonate',
75+
reactive=True,
76+
structure=SMILES("C1COC(=O)O1"),
77+
)
78+
79+
species(
80+
label='vacantX',
81+
reactive=True,
82+
structure=adjacencyList("1 X u0"),
83+
)
84+
85+
species(
86+
label="Li",
87+
reactive=True,
88+
structure=SMILES("[Li]"),
89+
)
90+
91+
species(
92+
label='[Li]O[C]1OCCO1',
93+
reactive=True,
94+
structure=SMILES("[Li]O[C]1OCCO1"),
95+
)
96+
97+
species(
98+
label='[Li]OC(=O)OC[CH2]',
99+
reactive=True,
100+
structure=SMILES("[Li]OC(=O)OC[CH2]"),
101+
)
102+
103+
#species(
104+
# label='[Li]OC(=O)O[Li]',
105+
# reactive=True,
106+
# structure=SMILES("[Li]OC(=O)O[Li]"),
107+
# )
108+
109+
#species(
110+
# label='[Li]OC(=O)OCCOC(=O)OC[CH2]',
111+
# reactive=True,
112+
# structure=SMILES("[Li]OC(=O)OCCOC(=O)OC[CH2]"),
113+
# )
114+
115+
#species(
116+
# label='[Li]OC(=O)OCCOC(=O)O[Li]',
117+
# reactive=True,
118+
# structure=SMILES("[Li]OC(=O)OCCOC(=O)O[Li]"),
119+
# )
120+
121+
#species(
122+
# label='[Li]OC(=O)OCCCCOC(=O)O[Li]',
123+
# reactive=True,
124+
# structure=SMILES("[Li]OC(=O)OCCCCOC(=O)O[Li]"),)
125+
126+
#species(
127+
# label='[Li]OCCOC(=O)CCOC(=O)O[Li]',
128+
# reactive=True,
129+
# structure=SMILES("[Li]OCCOC(=O)CCOC(=O)O[Li]"),
130+
# )
131+
132+
#species(
133+
# label='[Li]OCCOC(=O)OC(=O)O[Li]',
134+
# reactive=True,
135+
# structure=SMILES("[Li]OCCOC(=O)OC(=O)O[Li]"),
136+
#)
137+
138+
#species(
139+
# label='C2H4',
140+
# reactive=True,
141+
# structure=SMILES("C=C"),
142+
#)
143+
144+
#species(
145+
# label='O=[C]OCCO[Li]',
146+
# reactive=True,
147+
# structure=SMILES("O=[C]OCCO[Li]"),
148+
#)
149+
150+
#species(
151+
# label='CO2',
152+
# reactive=True,
153+
# structure=SMILES("O=C=O"),
154+
#)
155+
156+
#species(
157+
# label='[Li]OC[CH2]',
158+
# reactive=True,
159+
# structure=SMILES("[Li]OC[CH2]"),
160+
#)
161+
162+
#species(
163+
# label='O1CCO[C]1OC2(O[Li])OCCO2',
164+
# reactive=True,
165+
# structure=SMILES("O1CCO[C]1OC2(O[Li])OCCO2"),
166+
#)
167+
168+
#species(
169+
# label='O1CCOC1(O[Li])OC(=O)OC[CH2]',
170+
# reactive=True,
171+
# structure=SMILES("O1CCOC1(O[Li])OC(=O)OC[CH2]"),
172+
#)
173+
174+
#species(
175+
# label='O1CCOC1(O[Li])OC(=O)OCCOC(=O)O[Li]',
176+
# reactive=True,
177+
# structure=SMILES("O1CCOC1(O[Li])OC(=O)OCCOC(=O)O[Li]"),
178+
#)
179+
180+
species(
181+
label='CO3X2',
182+
reactive=True,
183+
structure=adjacencyList("""1 O u0 p2 {2,D}
184+
2 C u0 p0 {1,D} {3,S} {4,S}
185+
3 O u0 p2 {2,S} {5,S}
186+
4 O u0 p2 {2,S} {6,S}
187+
5 X u0 p0 c0 {3,S}
188+
6 X u0 p0 c0 {4,S}
189+
"""),
190+
)
191+
192+
193+
#species(
194+
# label="CO",
195+
# reactive=True,
196+
# structure=SMILES("[C-]#[O+]"),
197+
#)
198+
199+
#species(
200+
# label='[Li]OC(=O)OCCX',
201+
# reactive=True,
202+
# structure=adjacencyList("""1 O u0 p2 c0 {2,S} {7,S}
203+
# 2 C u0 p0 c0 {1,S} {3,D} {4,S}
204+
# 3 O u0 p2 c0 {2,D}
205+
# 4 O u0 p2 c0 {2,S} {5,S}
206+
# 5 C u0 p0 c0 {4,S} {6,S} {8,S} {9,S}
207+
# 6 C u0 p0 c0 {5,S} {10,S} {11,S} {12,S}
208+
# 7 Li u0 p0 c0 {1,S}
209+
# 8 H u0 p0 c0 {5,S}
210+
# 9 H u0 p0 c0 {5,S}
211+
# 10 H u0 p0 c0 {6,S}
212+
# 11 H u0 p0 c0 {6,S}
213+
# 12 X u0 p0 c0 {6,S}
214+
# """),
215+
#)
216+
#species(
217+
# label='O=C(X)OCCO[Li]',
218+
# reactive=True,
219+
# structure=adjacencyList("""1 O u0 p2 c0 {2,D}
220+
# 2 C u0 p0 c0 {1,D} {3,S} {12,S}
221+
# 3 O u0 p2 c0 {2,S} {4,S}
222+
# 4 C u0 p0 c0 {3,S} {5,S} {7,S} {8,S}
223+
# 5 C u0 p0 c0 {4,S} {6,S} {9,S} {10,S}
224+
# 6 O u0 p2 c0 {5,S} {11,S}
225+
# 7 H u0 p0 c0 {4,S}
226+
# 8 H u0 p0 c0 {4,S}
227+
# 9 H u0 p0 c0 {5,S}
228+
# 10 H u0 p0 c0 {5,S}
229+
# 11 Li u0 p0 c0 {6,S}
230+
# 12 X u0 p0 c0 {2,S}
231+
# """),
232+
#)
233+
234+
liquidSurfaceReactor(
235+
temperature=(298.15,'K'),
236+
liqPotential=(-1.0,'V'),
237+
surfPotential=(0.0,'V'),
238+
initialConcentrations={
239+
"ethylene-carbonate": (7.585e-3*2.0,'mol/cm^3'),
240+
"Lip": (15.0,'mol/m^3'),
241+
},
242+
initialSurfaceCoverages={
243+
"vacantX": 1.0,
244+
},
245+
surfaceVolumeRatio=(1.0e5, 'm^-1'),
246+
terminationTime=(1.0e3,'sec'),
247+
constantSpecies=["ethylene-carbonate","Lip"],
248+
)
249+
250+
solvation(
251+
solvent='ethylene carbonate'
252+
)
253+
254+
simulator(
255+
atol=1e-16,
256+
rtol=1e-6,
257+
)
258+
259+
model(
260+
toleranceKeepInEdge=1E-20,
261+
toleranceMoveToCore=0.000001,
262+
toleranceRadMoveToCore=0.00000000001,
263+
toleranceInterruptSimulation=1e10,
264+
maximumEdgeSpecies=100000,
265+
filterReactions=False,
266+
maxNumObjsPerIter=1,
267+
terminateAtMaxObjects=True,
268+
toleranceBranchReactionToCore=0.000001,
269+
branchingIndex=0.3,
270+
branchingRatioMax=1.0,
271+
)
272+
273+
options(
274+
units='si',
275+
saveEdgeSpecies=False,
276+
)
277+
278+
generatedSpeciesConstraints(
279+
allowed=['input species','reaction libraries'],
280+
maximumSurfaceSites=1,
281+
explicitlyForbiddenGroups=[groupAdjacencyList("""
282+
1 Xv u0 p0 c0
283+
""")],
284+
maximumCarbonAtoms=8,
285+
maximumOxygenAtoms=8,
286+
maximumRadicalElectrons=1,
287+
)
288+

0 commit comments

Comments
 (0)