Skip to content

Commit

Permalink
Merge remote-tracking branch 'ReactionMechanismGenerator/main' into f…
Browse files Browse the repository at this point in the history
…eat/py39
  • Loading branch information
JacksonBurns committed Dec 3, 2024
2 parents 10ddb5c + 2a1f910 commit e5d71e4
Show file tree
Hide file tree
Showing 69 changed files with 6,704 additions and 865 deletions.
6 changes: 4 additions & 2 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ jobs:
export FAILED=Yes
fi
echo "" # blank line so next block is interpreted as markdown
cat "$regr_test-core.log"
cat "$regr_test-core.log" || (echo "Dumping the whole log failed, please download it from GitHub actions. Here are the first 100 lines:" && head -n100 "$regr_test-core.log")
echo "</details>"
echo "<details>"
if python scripts/checkModels.py \
Expand All @@ -289,7 +289,7 @@ jobs:
export FAILED=Yes
fi
echo "" # blank line so next block is interpreted as markdown
cat "$regr_test-edge.log"
cat "$regr_test-edge.log" || (echo "Dumping the whole log failed, please download it from GitHub actions. Here are the first 100 lines:" && head -n100 "$regr_test-core.log")
echo "</details>"
# Check for Regression between Reference and Dynamic (skip superminimal)
Expand Down Expand Up @@ -381,3 +381,5 @@ jobs:
with:
push: true
tags: reactionmechanismgenerator/rmg:latest
build-args: |
RMS_Branch=for_rmg
5 changes: 4 additions & 1 deletion arkane/encorr/ae.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,10 @@
'Methane',
'Methyl',
'Ammonia',
'Chloromethane'
'Chloromethane',
# Lithium species shall be uncommented after we reconcile the difference in AECs and BACs
# 'Lithium Hydride',
# 'Lithium Fluoride'
]


Expand Down
2 changes: 1 addition & 1 deletion arkane/encorr/bac.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ class BAC:
ref_databases = {}
atom_spins = {
'H': 0.5, 'C': 1.0, 'N': 1.5, 'O': 1.0, 'F': 0.5,
'Si': 1.0, 'P': 1.5, 'S': 1.0, 'Cl': 0.5, 'Br': 0.5, 'I': 0.5
'Si': 1.0, 'P': 1.5, 'S': 1.0, 'Cl': 0.5, 'Br': 0.5, 'I': 0.5, 'Li': 0.5,
}
exp_coeff = 3.0 # Melius-type parameter (Angstrom^-1)

Expand Down
317 changes: 317 additions & 0 deletions examples/rmg/CO2RR/input.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,317 @@
# Data sources
database(
thermoLibraries=['surfaceThermoPt111', 'primaryThermoLibrary', 'thermo_DFT_CCSDTF12_BAC','DFT_QCI_thermo', 'electrocatThermo',
# 'CO2RR_Adsorbates_Ag111'
],
reactionLibraries = [('Surface/CPOX_Pt/Deutschmann2006_adjusted', False)],
seedMechanisms = [],
kineticsDepositories = ['training'],
kineticsFamilies = ['electrochem',
# 'surface',
'Surface_Abstraction',
'Surface_Abstraction_vdW',
'Surface_Abstraction_Single_vdW',
'Surface_Abstraction_Beta_double_vdW',
'Surface_Adsorption_Dissociative',
'Surface_Adsorption_Dissociative_Double',
'Surface_Adsorption_vdW',
'Surface_Dissociation',
'Surface_Dissociation_Double_vdW',
'Surface_Dissociation_vdW',
'Surface_EleyRideal_Addition_Multiple_Bond',
'Surface_Migration',
],
kineticsEstimator = 'rate rules',

)

catalystProperties(
metal = 'Ag111'
)

# List of species
species(
label='CO2',
reactive=True,
structure=adjacencyList(
"""
1 O u0 p2 c0 {2,D}
2 C u0 p0 c0 {1,D} {3,D}
3 O u0 p2 c0 {2,D}
"""),
)


species(
label='proton',
reactive=True,
structure=adjacencyList(
"""
1 H u0 p0 c+1
"""),
)

species(
label='vacantX',
reactive=True,
structure=adjacencyList("1 X u0"),
)

species(
label='H',
reactive=True,
structure=adjacencyList(
"""
1 H u1 p0 c0
"""),
)

species(
label='CO2X',
reactive=True,
structure=adjacencyList("""
1 O u0 p2 c0 {3,D}
2 O u0 p2 c0 {3,D}
3 C u0 p0 c0 {1,D} {2,D}
4 X u0 p0 c0
"""),
)

species(
label='CHO2X',
reactive=True,
structure=adjacencyList("""
1 O u0 p2 c0 {3,S} {5,S}
2 O u0 p2 c0 {3,D}
3 C u0 p0 c0 {1,S} {2,D} {4,S}
4 H u0 p0 c0 {3,S}
5 X u0 p0 c0 {1,S}
"""),
)

species(
label='CO2HX',
reactive=True,
structure=adjacencyList("""
1 O u0 p2 c0 {2,S} {4,S}
2 C u0 p0 c0 {1,S} {3,D} {5,S}
3 O u0 p2 c0 {2,D}
4 H u0 p0 c0 {1,S}
5 X u0 p0 c0 {2,S}
"""),
)

species(
label='OCX',
reactive=True,
structure=adjacencyList("""
1 O u0 p2 c0 {2,D}
2 C u0 p0 c0 {1,D} {3,D}
3 X u0 p0 c0 {2,D}
"""),
)

species(
label='OX',
reactive=True,
structure=adjacencyList("""
1 O u0 p2 c0 {2,D}
2 X u0 p0 c0 {1,D}
"""),
)

species(
label='CH2O2X',
reactive=True,
structure=adjacencyList("""
1 O u0 p2 c0 {3,S} {5,S}
2 O u0 p2 c0 {3,D}
3 C u0 p0 c0 {1,S} {2,D} {4,S}
4 H u0 p0 c0 {3,S}
5 H u0 p0 c0 {1,S}
6 X u0 p0 c0
"""),
)

species(
label='CHOX',
reactive=True,
structure=adjacencyList("""
1 O u0 p2 c0 {2,D}
2 C u0 p0 c0 {1,D} {3,S} {4,S}
3 H u0 p0 c0 {2,S}
4 X u0 p0 c0 {2,S}
"""),
)

species(
label='CH2OX',
reactive=True,
structure=adjacencyList("""
1 O u0 p2 c0 {2,D}
2 C u0 p0 c0 {1,D} {3,S} {4,S}
3 H u0 p0 c0 {2,S}
4 H u0 p0 c0 {2,S}
5 X u0 p0 c0
"""),
)


forbidden(
label='CO2-bidentate',
structure=adjacencyList(
"""
1 O u0 p2 c0 {2,D}
2 C u0 p0 c0 {1,D} {3,S} {4,S}
3 X u0 p0 c0 {2,S}
4 O u0 p2 c0 {2,S} {5,S}
5 X u0 p0 c0 {4,S}
"""
)
)

liquidSurfaceReactor(
temperature=(300,'K'),
liqPotential=(0,'V'),
surfPotential=(-2.0,'V'),
initialConcentrations={
"CO2": (1e-3,'mol/cm^3'),
"proton": (1e-4,'mol/m^3'),
},
initialSurfaceCoverages={
# "HX": 0.5,
# # "CXO2": 0.0,
"CHO2X": 0.1,
"CO2HX": 0.1,
"vacantX": 0.1,
"CO2X": 0.4,
'OX': 0.1,
'OCX': 0.1,
'CH2O2X': 0.05,
'CHOX': 0.04,
'CH2OX': 0.01
},
surfaceVolumeRatio=(1.0e5, 'm^-1'),
terminationTime=(1.0e3,'sec'),
# terminationConversion={'CO2': 0.90},
# constantSpecies=["proton"],
)

liquidSurfaceReactor(
temperature=(300,'K'),
liqPotential=(0,'V'),
surfPotential=(-1.5,'V'),
initialConcentrations={
"CO2": (1e-3,'mol/cm^3'),
"proton": (1e-4,'mol/m^3'),
},
initialSurfaceCoverages={
# "HX": 0.5,
# # "CXO2": 0.0,
"CHO2X": 0.1,
"CO2HX": 0.1,
"vacantX": 0.1,
"CO2X": 0.4,
'OX': 0.1,
'OCX': 0.1,
'CH2O2X': 0.05,
'CHOX': 0.04,
'CH2OX': 0.01
},
surfaceVolumeRatio=(1.0e5, 'm^-1'),
terminationTime=(1.0e3,'sec'),
# terminationConversion={'CO2': 0.90},
# constantSpecies=["proton"],
)

liquidSurfaceReactor(
temperature=(300,'K'),
liqPotential=(0,'V'),
surfPotential=(-1.0,'V'),
initialConcentrations={
"CO2": (1e-3,'mol/cm^3'),
"proton": (1e-4,'mol/m^3'),
},
initialSurfaceCoverages={
# "HX": 0.5,
# # "CXO2": 0.0,
"CHO2X": 0.1,
"CO2HX": 0.1,
"vacantX": 0.1,
"CO2X": 0.4,
'OX': 0.1,
'OCX': 0.1,
'CH2O2X': 0.05,
'CHOX': 0.04,
'CH2OX': 0.01
},
surfaceVolumeRatio=(1.0e5, 'm^-1'),
terminationTime=(1.0e3,'sec'),
# terminationConversion={'CO2': 0.90},
# constantSpecies=["proton"],
)

# liquidSurfaceReactor(
# temperature=(300,'K'),
# liqPotential=(0,'V'),
# surfPotential=(-0.5,'V'),
# initialConcentrations={
# "CO2": (1e-3,'mol/cm^3'),
# "proton": (1e-4,'mol/m^3'),
# },
# initialSurfaceCoverages={
# # "HX": 0.5,
# # # "CXO2": 0.0,
# "CHO2X": 0.1,
# "CO2HX": 0.1,
# "vacantX": 0.1,
# "CO2X": 0.4,
# 'OX': 0.1,
# 'OCX': 0.1,
# 'CH2O2X': 0.05,
# 'CHOX': 0.04,
# 'CH2OX': 0.01
# },
# surfaceVolumeRatio=(1.0e5, 'm^-1'),
# terminationTime=(1.0e3,'sec'),
# # terminationConversion={'CO2': 0.90},
# # constantSpecies=["proton"],
# )

solvation(
solvent='water'
)

simulator(
atol=1e-16,
rtol=1e-8,
)

model(
toleranceKeepInEdge=1E-16,
toleranceMoveToCore=1E-3,
toleranceRadMoveToCore=1E-6,
toleranceInterruptSimulation=1E6,
filterReactions=False,
maximumEdgeSpecies=5000,
toleranceBranchReactionToCore=1E-6,
branchingIndex=0.5,
branchingRatioMax=1.0,
)

options(
units='si',
generateOutputHTML=True,
generatePlots=True,
saveEdgeSpecies=True,
saveSimulationProfiles=False,
)

generatedSpeciesConstraints(
allowed=['input species','reaction libraries'],
maximumSurfaceSites=2,
maximumCarbonAtoms=3,
maximumOxygenAtoms=2,
maximumRadicalElectrons=1,
)
Loading

0 comments on commit e5d71e4

Please sign in to comment.