ReactionMechanismGenerator / RMG-Py

Python version of the amazing Reaction Mechanism Generator (RMG).
http://reactionmechanismgenerator.github.io/RMG-Py/
Other
400 stars 228 forks source link

How to build silicon hydride (SixHy) reaction model by RMG ? #2142

Closed TaikiKato closed 1 year ago

TaikiKato commented 3 years ago

Topic

Building SixHy polymerization reaction model by RMG

Context

I found this reference & tried to build SixHy polymerization model by RMG. But, I couldn't achieve the model building. it was too difficult for me to build the model.

*** https://pubs.acs.org/doi/10.1021/acs.iecr.6b02402

Question

Does it need kinetic library & family addition ? Does it also need thermo data addition ? Is a beginner able to build SixHy reaction model ?

Installation Information

mjohnson541 commented 3 years ago

So the R_Addition_MultipleBond radical templates aren't atomtyped for Si which is probably preventing typical radical polymerization in RMG involving radicals on Si. It's not that hard to just allow it, but we don't have any training reactions in that family that have Si in them so without adding data it could be very inaccurate.

It seems to me that almost none of the information in that paper got merged into RMG proper. I'm not finding any thermo group data for Si, the Si specific reaction families or the Si training reactions for H_Abstraction and R_Recombination from the paper. @rwest is there a reason it was never added?

rwest commented 3 years ago

Ummmm.... I don't recall an explicit roadblock. Other than @bslakman graduating 5 years ago. I think the work is still there, e.g. at https://github.com/ReactionMechanismGenerator/RMG-database/compare/master...bslakman:silicon-hydrides?expand=1 , if someone wants to try bringing it up to date. I had an MS student attempt to revive it a couple of years ago. I think they got something to run, but they didn't get it merged either.

TaikiKato commented 3 years ago

Can I use the SixHy merged RMG ? How to draw the integrated simulator data ?

TaikiKato commented 3 years ago

I've appended Dollet & Giunta SixHy chemistry sets into thermo-library & kinetic-library by importChemkinLibrary.py.

dict_Dollet.txt dict_Giunta.txt

chem_ann_Dollet.txt chem_ann_Giunta.txt

And, I tried to import Dollet & Giunta kinetic-library to kinetic-family by kinetic_library_to_train.ipynb. But, I encountered some errors.

In Dollet case, error occured in step 2a : AttributeError: 'rmgpy.kinetics.falloff.Troe' object has no attribute 'A'

In Giunta case, something wrong phenomena occured in step 2d : No reactions

Will you please tell me how to modify these errors ? Please teach me some advice.

kinetics_library_to_training_SixHyGiunta.txt kinetics_library_to_training_SixHyDollet.txt

TaikiKato commented 3 years ago

I've got reasonable work on kinetics_library_to_training_SixHyDollet.ipynb. The error cause may be from Troe-type format processing. I modified kinetic_library_to_training_tools.py & got reasonable work.

kinetics_library_to_training_tools.txt kinetics_library_to_training_SixHyDollet.txt kinetics_library_to_training_SixHyGiunta.txt

I got 1 additional reaction family by kinetics_library_to_training_SixHyDollet.ipynb. And, I got 0 additional reaction family by kinetics_library_to_training_SixHyGiunta.ipynb. I considered that 0 additional reaction family is reasonable if the reaction set is not novel. Is this understanding O.K.

Will you please teach me some comments & advices ? And now, I hope to add other chemkin reaction model into library & family. Do you know the good literature about SixHy pyrolysis reaction system ?

mjohnson541 commented 3 years ago

So it should try to create a training reaction for every reaction with Arrhenius kinetics that can be generated by RMG's families (even if it has another copy) so what that probably means is that RMG currently isn't set to generate most of the reactions that are Arrhenius in the library. Some of RMG's families like R_Addition_MultipleBond that I mentioned above may need their groups modified to enable them to match reactions involving Si.

mjohnson541 commented 3 years ago

If you want to try doing this I'd recommend watching: https://www.youtube.com/watch?v=JMnJieSPOfE and https://www.youtube.com/watch?v=g3VToqUXovE

TaikiKato commented 3 years ago

Thank you for your advices. I've watched your movies. But, I found it difficult to understand. I found that there are many files in kinetics families.

* the files *** / NIST folders / / training / / groups.py / / rules.py / / template.cdx / / template.eps /


R_Addition_MultipleBond.zip

Which file should I modify in this directory ? Will you please teach me how to add reaction template ? Do you know some easy to read documents ?

mjohnson541 commented 3 years ago

I've made an SiRadd branch of RMG-database that I think should make it possible for Si radicals to add across double bonds.

In general our documentation is here: http://reactionmechanismgenerator.github.io/RMG-Py/users/rmg/index.html

Particularly of interest probably: http://reactionmechanismgenerator.github.io/RMG-Py/reference/molecule/adjlist.html#rmgpy-molecule-adjlist http://reactionmechanismgenerator.github.io/RMG-Py/users/rmg/database/kinetics.html http://reactionmechanismgenerator.github.io/RMG-Py/users/rmg/database/modification.html

TaikiKato commented 3 years ago

Thank you for your document links & SiRadd branch making. But, I don't know how to access SiRadd branch. Below commands are correct ?


git fetch git checkout -b SiRadd origin/SiRadd


TaikiKato commented 3 years ago

I read these documents. There are groups, rules & template explanation. In SixHy case, groups.py & traning are important ?

mjohnson541 commented 3 years ago

Yes I think those commands should work.

Yes, so the top level groups and forbidden structures determine what reactions can happen and the lower level groups and training reactions determine how reactions are estimated.

TaikiKato commented 3 years ago

I tried git branch download. git fetch & git checkout -b SiRadd origin/SiRadd. This command made SiRadd branch.

SiRadd_branch

However, my own library JP-10 disappeared by this operation. How to download git branch & keep my own files ? I'm not good at github operation. It's difficult for me.

And, I tried kinetics_library_to_training.ipynb in SiRadd branch. But, it made little training reactions & made some error. Is this reasonable operation or not ? ('Not Arrhenius form' is O.K. for training reaction ? Must I operate group.py files ? )

kinetics_library_to_training_SixHyDollet.txt kinetics_library_to_training_SixHyGiunta.txt

TaikiKato commented 3 years ago

And I have another question about pressure dependent rate calculation. I think that RMG-Py can generate pressure dependent reaction rate PLOG or Chebyshev. But, Arkane has pressure dependent reaction network solving function.

How are they different about pressure dependent rate calculation ? If I hope to derive pressure dependent rate in unimolecular reaction network, Which should I use RMG-Py or Arkane ? ( And how to use it ? )

mjohnson541 commented 3 years ago

If the JP-10 library exists on a different branch it will disappear when you change branches. It might be best to cherry-pick the commits on SiRadd to your own branch.

Training reactions need to be in Arrhenius form. You technically don't have to modify the groups.py files to add training reactions, but the new training reactions may not have new nodes to go to in the tree which limits their effectiveness (they may all end up at the same node and you just get an average of all the ones that have important Si atoms).

So RMG does pdep for the whole mechanism in an approximate fashion where k(E) barrier heights and frequencies are all estimated. Arkane's primary pdep functionality does one network at a time and requires quantum chemistry calculations for every species and reaction. Arkane's explorer tool fuses functionalities it automatically generates individual pdep networks and can freely mix quantum chemistry information with RMG estimates.

TaikiKato commented 3 years ago

Thank you for your reply. In this SixHy case, I may be ought to add kinetic patterns to groups.py.

From your answer, I thought that RMG-Py gives rough Chebyshev form estimation from Arrhenius form and Arkane gives high precision Chebyshev form result from quantum chemistry results, right ? I have the question that RMG-Py can give Chebyshev form on complex unimolecular network ? How to get VTST form Arrhenius parameters from quantum chemistry or RMG related software ?

mjohnson541 commented 3 years ago

Broadly yes. The primary difference between Arkane and RMG-Py's pressure dependent network calculations is that the quantum chemistry results are approximated, RMG-Py networks will tend to be more complex than most people would formulate in Arkane because they are generated automatically by the flux algorithm rather than by hand.

We don't have any software that does VTST we would normally use Polyrate or MESS for VTST.

TaikiKato commented 3 years ago

Thank you for your lecture. Arkane sounds more suitable to build Pdep network rate than RMG-Py does. In VTST calculation, which solver is most recommended in Polyrate, MESS or MESMER ?

TaikiKato commented 3 years ago

From your knowledge, which solver is the best for VTST calculation ?

mjohnson541 commented 3 years ago

I don't have much experience with VTST. I think the only one actively used in the Green group at the moment for VTST is Polyrate, but I'm not really sure what the differences are between all of them. In the past I recall having difficulties installing Polyrate and MESS on our servers, but having comparatively little trouble installing MESMER.

TaikiKato commented 3 years ago

Thank you very much. So, Polyrate may be good for learning from the Green group. And, MESMER may be easy to install.

TaikiKato commented 3 years ago

I found interesting literatures about SixHy thermo & kinetic data.

  1. SixHy thermo : https://pubs.acs.org/doi/10.1021/jp030727k -> Table 8 may be suitable for RMG GAVs.
  2. SixHy kinetics : https://pubs.acs.org/doi/abs/10.1021/jp049591w -> Table 1 may be suitable for RMG kinetic groups.
  3. SixHy thermo & kinetics : https://pubs.acs.org/doi/10.1021/jp983358e -> Table 1 is GAVs. Table 3 is kinetic groups.

I thought that thermo groups.py & ring.py modification may be easier than kinetic groups change and I may be able to add SixHy thermo GAVs in RMG database.

But, kinetic groups modification looks very difficult.

  1. rules.py may be Evans-Polanyi relationship, right ? ( k = A exp [ -(E0 + alpha dH ) / RT ] ) I wonder Evans-Polanyi is so accurate for general chemical reaction rates.

  2. groups.py looks very, very difficult. Don't you know most simple groups.py or some groups.py building lecture by manual ?

  3. template.cdx & template.eps : What are these files ? How to make or use them ?

  4. training directory : If rules.py was completely made by upper literature data. These training data look not essential. What do training data do in RMG-database ? Is this data used for rules.py parameter setting ?

  5. NIST directory : I thought that this directory is similar to training directory. Is this used for rules.py rate data training ?

There are many questions in RMG-database building. If you are O.K., please give some advices about them.

mjohnson541 commented 3 years ago

template.cdx & template.eps are just image files showing a visual representation of the family.

So we're currently in the middle of moving from manually written kinetics groups to groups written automatically using machine learning.

In the old scheme training reactions become rules by descending the trees to the most specific node they match and becoming a rule there when the tree is loaded.

In general after experimenting with it we found NIST wasn't a sufficiently trustworthy source of training data to use normally using when training trees, but the data is still there in NIST directories in case anyone finds a use for it.

At least for the kinetics it may be most advisable to simply add the training reactions and let our algorithm automatically generate the kinetics groups and rules for you rather than trying to learn the system yourself. However, we aren't quite at the stage right now where a user can just run the script for any family and expect it to work properly. Some of the families should be there soon and I'm hoping to have most of them done in a few weeks, but at the moment it won't work for most families.

TaikiKato commented 3 years ago

Thank you for your information. So, I'll ignore template.cdx, template.eps & NIST directory. I understood that you are trying to build the scheme of automated groups.py & rules.py making now. (Present status may be manual groups.py making.)

From your comments, I imagined that the present kinetic building flow is below.

  1. Adding training reactions.
  2. groups.py making ?
  3. running some script with training reactions ? ( What is the name of script ? ) -> building rules.py

Is this flow correct ? please let me know the details of script "3". ( Can I use it ? or not recommended ? )

And, I've got reaction template from the previous literatures. So, I think that I may build rule.py directory from literature information. And, I don't have the concrete training reaction set. Can I use kinetic template without training directory ? I suspect that below files may be enough to build kinetic rate template in my present status.

A. groups.py B. rules.py

Is my understanding correct ? Will you please give some advices ?

TaikiKato commented 3 years ago

I built SixHy thermo group.py & ring.py from this literature GAVs. ( https://pubs.acs.org/doi/10.1021/jp030727k : Table 8)

ring.txt group.txt

I've checked thermodynamic output from thermoEstimator.py. Attached chem_annotated.inp & species_dictionary.txt are the output of python thermoEstimator.py input.py.

chem_annotated.txt input.txt species_dictionary.txt

I think that thermo-DB file setting may be O.K. I'll check the H, S, Cp value validation tomorrow. Thank you very much for your kind consultation.

By the way, I think that the literature GAVs are lucky finding. I should know how to get GAVs in any chemistry systems. Don't you have some good tools about GAVs derivation ?

And kinetic groups.py template may be built by Evans-Polanyi formula fitting. I hope to know how to get this fitting values. Do you have such tools ? And I hope to know that Evans-Polanyi formula are so chemically general or not. (Can we use this formula in transition metal complex or surface chemistry ?)

Could you please give me some advices about them or general DB building ?

TaikiKato commented 3 years ago

I validated newly built SixHy RMG thermo-DB with thermodynamic calculation results. Thank you very much for your advices.

RMG SixHy Thermo Result.xlsx

I'll try to build SixHy RMG kinetic-DB.

TaikiKato commented 3 years ago

I found interesting references.

https://pubs.acs.org/doi/10.1021/jp9062516https://pubs.rsc.org/en/content/articlelanding/2010/cp/c0cp00666a#!divAbstracthttps://chemistry-europe.onlinelibrary.wiley.com/doi/10.1002/cphc.200900836

These references may be useful to add training reaction addition into RMG kinetic-DB. After building groups.py of kinetic-DB & adding training reaction to RMG kinetic family, Can I get kinetic-DB rules.py by rmg.py running ? (just running is O.K. ?)

Will you please let me know the rough workflow of kinetic-DB addition ?

TaikiKato commented 3 years ago

I tried reaction kinetic family of SixHy "silylene ->silene" conversion like as the below reference. ■https://pubs.acs.org/doi/10.1021/jp9062516

I made new kinetic family & library. And, I added new kinetic libraries. ■ Kinetic Family ( just contains groups.py ) : SixHy_SiB_to_SiA ■ Kinetic Library : SixHy_Arrhenius1 ■ Thermo Libraries : SixHy_Dollet.py & SixHy_Giunta.py

groups.txt reactions.txt dictionary.txt SixHy_Dollet.txt SixHy_Giunta.txt

I used kinetic_library_to_training.ipynb. But, it gave some error in step 1.

kinetics_library_to_training_SixHy_Arrhenius1.txt kinetics_library_to_training_tools.txt

Do you know how to solve this error ? Please teach me the solution.

mjohnson541 commented 3 years ago

That error means LOSE_BOND in the family you wrote is not a defined action. I think you want BREAK_BOND.

TaikiKato commented 3 years ago

Thank you very much for your reply. I improved groups.py of SixHy_SiB_to_SiA. groups.txt

And I also improved training reactions (a little debugging) reactions.txt dictionary.txt

But kinetics_library_to_training.ipynb gave some errors in step1. kinetics_library_to_training_SixHy_Arrhenius1.txt

Do you know how to solve the error messages ?

mjohnson541 commented 3 years ago

I think you may need to be more careful about electrons in those groups you've given 1 two single bonds and no unpaired or paired electrons and 3 one lone pair and one bond. Uncharged Si has 4 electrons so if both atoms are neutral 1 is missing two electrons and 3 is missing one electron.

TaikiKato commented 3 years ago

Thank you very much for your advice. I tried to improve groups.py. It gave me a little different messages. But, it doesn't work properly yet.

kinetics_library_to_training_SixHy_Arrhenius1.txt groups.txt

Will you please teach me your solutions ?

mjohnson541 commented 3 years ago

I think you're missing commas in the actions list.

TaikiKato commented 3 years ago

Thank you for your advice. I improved the kinetic files but some errors persist. groups.txt kinetics_library_to_training_SixHy_Arrhenius1.txt

By the way, I built thermo group.py which contains Sis & Sid. Do these Sis & Sid affect kinetic groups errors ? group.txt

Some tuning of kinetic groups & thermo group are necessary ?

mjohnson541 commented 3 years ago

There are errors the thermo groups could cause that would show up when handling the kinetics, but they're mostly independent and not responsible for the errors you've been seeing.

Here the issue seems to be atomtype definition. The atomtypes seem to think there isn't an appropriate atomtype for Si to become after the lone pair is removed. It seems to be a failsafe for something, but I'm not sure what. @alongd do you know the appropriate way to handle this in the atomtypes file? Do we need a new atomtype for Si with two single bonds and a lone pair and then send decrement_lone_pair for that atomtype to Sis and Sid etc.?

We're trying to write family:

name = "SixHy_SiB_to_SiA/groups"
shortDesc = u""
longDesc = u"""
This family describes reactions of the sort:
H-Si-Si: <=> H-Si=Si-H
(H3Si-HSi: <=> H2Si=SiH2)

atom labels:

  H-Si-Si: <=> H2Si=SiH2

H(*2)-Si(*1)-Si(*3): <=> Si(*1)=Si(*3)-H(*2)
"""

template(reactants=["SiB"], products=["SiA"], ownReverse=False)

reverse = "SixHy_SiA_to_SiB"
reversible = True

reactantNum = 1

productNum = 1

autoGenerated = True

recipe(actions=[
    ['BREAK_BOND', '*1', 1, '*2'],
    ['FORM_BOND', '*2', 1, '*3'],
    ['CHANGE_BOND', '*1', 1, '*3'],
    ['LOSE_PAIR', '*3', 1],
])

entry(
    index = 0,
    label = "SiB",
    group = 
"""
1 *1 Si    u0 p0 c0 {2,S} {3,S} {4,S} {5,S}
2 *2 H     u0 p0 c0 {1,S}
3 *3 Si    u0 p1 c0 {1,S} {6,S}
4    R     u0 p0 c0 {1,S}
5    R     u0 p0 c0 {1,S}
6    R     u0 p0 c0 {3,S}
""",
    kinetics = None,
)

tree(
"""
L1: SiB
"""
)

But we're getting errors when reacting: ~/RMG/RMG-Py/rmgpy/molecule/group.cpython-37m-x86_64-linux-gnu.so in rmgpy.molecule.group.GroupAtom.apply_action()

~/RMG/RMG-Py/rmgpy/molecule/group.cpython-37m-x86_64-linux-gnu.so in rmgpy.molecule.group.GroupAtom.apply_action()

~/RMG/RMG-Py/rmgpy/molecule/group.cpython-37m-x86_64-linux-gnu.so in rmgpy.molecule.group.GroupAtom._lose_pair()

ActionError: Unable to update GroupAtom due to LOSE_PAIR action: Unknown atom type produced from set "[<AtomType "Si">]".

alongd commented 3 years ago

Looking at the Si AtomTypes, my first (superficial?) observation is that not all attributes are defined per atom type. I expect single to always have a value, even if it's [0].

This family converts an Si atom with a lone pair to an Si atom with no lone pairs and with a double bond. But I didn't see a lone pair on any of the Si atom types defined in RMG (on master).

Yes, as @mjohnson541 suggested, we need to define the missing atom type Si:, and the respective action. I suggest looking at the respective C2s atom type.

TaikiKato commented 3 years ago

So, Can I define SixHy reaction template by my effort or not ? ( Where or what file should I improve ?) Or, should I wait your RMG version-up ?

TaikiKato commented 3 years ago

Thank you for your information. I added Si: to atomtype.py. atomtype.txt

But, kinetics_library_to_training.py doesn't work yet. kinetics_library_to_training_SixHy_Arrhenius1.txt

Kinetic family's group.py is here. groups.txt

SixHy kinetic library data are here. reactions.txt dictionary.txt

I couldn't understand how to improve these formats. Is C-compiling not good ?

Will you please teach me how to improve the situation ?

TaikiKato commented 3 years ago

I succeeded kinetics_library_to_training.ipynb after C-compiling. Thank you for your kind & patient lecture. ■ kinetics_library_to_training_SixHy_Arrhenius1.txt

■ RMG-Py atomtype.py : atomtype.txt

■ Kinetic family's groups.py : groups.txt ■ Kinetic family's rule.py : rules.txt

■ Kinetic library's reactions.py : reactions.txt ■ Kinetic library's dictionary.txt : dictionary.txt


And I tried SiH4 pyrolysis reaction mechanism generation with this file. ■ RMG input file SixHy.py : SixHy.txt

But, I got this error messages. ■ error messages : error messages.txt


Summary of Model Enlargement

Added 1 new core species SiH2Si(8) Created 0 new edge species Moved 1 reactions from edge to core H3SiSiH(2) <=> H2(7) + SiH2Si(8) Added 0 new core reactions Created 0 new edge reactions

After model enlargement: The model core has 13 species and 11 reactions The model edge has 20 species and 41 reactions

For reaction generation 1 process is used. Generating thermo for new species... Traceback (most recent call last): File "/home/taiki-kato/miniconda3/envs/rmg_env/bin/rmg.py", line 7, in exec(compile(f.read(), file, 'exec')) File "/home/taiki-kato/RMG/RMG-Py/rmg.py", line 118, in main() File "/home/taiki-kato/RMG/RMG-Py/rmg.py", line 112, in main rmg.execute(*kwargs) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/rmg/main.py", line 923, in execute trimolecular_react=self.trimolecular_react) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/rmg/model.py", line 614, in enlarge self.apply_thermo_to_species(procnum) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/rmg/model.py", line 824, in apply_thermo_to_species self.generate_thermo(spc, rename=True) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/rmg/model.py", line 831, in generate_thermo submit(spc, self.solvent_name) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/thermo/thermoengine.py", line 175, in submit spc.thermo = evaluator(spc, solvent_name=solvent_name) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/thermo/thermoengine.py", line 160, in evaluator thermo = generate_thermo_data(spc, solvent_name=solvent_name) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/thermo/thermoengine.py", line 125, in generate_thermo_data thermo0 = thermodb.get_thermo_data(spc) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/data/thermo.py", line 1406, in get_thermo_data thermo0 = self.get_thermo_data_from_groups(species) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/data/thermo.py", line 1876, in get_thermo_data_from_groups tdata = self.estimate_thermo_via_group_additivity(molecule) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/data/thermo.py", line 2112, in estimate_thermo_via_group_additivity thermo_data = self.estimate_radical_thermo_via_hbi(molecule, self.compute_group_additivity_thermo) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/data/thermo.py", line 2023, in estimate_radical_thermo_via_hbi thermo_data_sat = stable_thermo_estimator(saturated_struct) File "/home/taiki-kato/RMG/RMG-Py/rmgpy/data/thermo.py", line 2150, in compute_group_additivity_thermo data_added = self._add_group_thermo_data(thermo_data, self.groups['group'], molecule, {'': atom})[1] File "/home/taiki-kato/RMG/RMG-Py/rmgpy/data/thermo.py", line 2524, in _add_group_thermo_data raise DatabaseError(f'Unable to determine thermo parameters for atom {atom} in molecule {molecule}: ' rmgpy.exceptions.DatabaseError: Unable to determine thermo parameters for atom {'*': <Atom 'Si'>} in molecule <Molecule "[SiH3][SiH2][SiH2][SiH3]">: no data for node R or any of its ancestors in database group.


Will you please teach me how to improve the situation ? ( I suspect that thermo GAVs files have some troubles ) ■ thermo GAVs file group.py : group.txt

TaikiKato commented 3 years ago

And I don't know how to improve kinetics families' rule.py semi-automatically. Will you please give me some advices ? rules.txt

TaikiKato commented 3 years ago

Hello, Dr. @bslakman. I'm trying to build SixHy CVD chemistry like your research. ■https://pubs.acs.org/doi/10.1021/acs.iecr.6b02402

But, I'm struggling about HBI GAVs building (thermo-group) & kinetic family making (Hydrogen abstraction & Radical recombination).

If you have these database files, Will you please share me your models ?

Sincerely.

mjohnson541 commented 3 years ago

Sorry, I've been on vacation the past two weeks. Thermo generation for that species works on the website so the error should be related to a change you made most likely making a Si group more specific.

TaikiKato commented 3 years ago

Thank you for your reply. How were your vacation ? I hope that you had a lot of fun.

And thank you for your advice. I improved thermo group.py & ring.py. group.txt ring.txt

And I tried this input file. SixHy.txt

These thermo improvement may improve the situation but it gave some errors. (Different from previous errors) RMG.txt


Error: Debugging why no reaction was found... Error: Checking whether the family's forbidden species have affected reaction generation... Error: Still experiencing error: Expecting one matching reverse reaction, not 0 in reaction family H_Abstraction for forward reaction [SiH3] + [SiH3] <=> [SiH4] + [SiH2].


I considered that this error means the lack of kinetics family "H-abstraction" & "Recombination" training sets And some radical thermodynamic group HBI related radical.py.

I'm trying to build SixHy model from below reference, but this reference doesn't show the details of radical.py and "H-abstraction" & "Recombination" training sets. Therefore, I inquired to Dr. @bslakman about these data. ■https://pubs.acs.org/doi/10.1021/acs.iecr.6b02402

I'll keep trying to build SixHy model on RMG.

TaikiKato commented 3 years ago

By the way, how do you think about this error's cause ? Will you please give me some advice, Dr. @mjohnson541 ?

mjohnson541 commented 3 years ago

I think this is occurring because that reaction doesn't match H_Abstraction in the reverse direction because the birad abstractions are controlled by this radical group in H_Abstraction that doesn't have Si: entry( index = 285, label = "Y_1centerbirad", group = """ 1 *3 [Cs,Cd,CO,CS,O,S,N] u2 """, kinetics = None, )

I believe adding Si to the atomtype list in this group should make the reverse reaction match H_Abstraction.

rwest commented 3 years ago

Hello, Dr. @bslakman. I'm trying to build SixHy CVD chemistry like your research. ■https://pubs.acs.org/doi/10.1021/acs.iecr.6b02402

But, I'm struggling about HBI GAVs building (thermo-group) & kinetic family making (Hydrogen abstraction & Radical recombination).

If you have these database files, Will you please share me your models ?

Sincerely.

I'm sorry that I haven't been helping much in this thread - I am following it, but have too much else going on right now to participate and help at the moment. As mentioned earlier, I think that all of @bslakman's work is still on github, eg. at https://github.com/ReactionMechanismGenerator/RMG-database/compare/master...bslakman:silicon-hydrides?expand=1 and/or in the supplementary material at https://pubs.acs.org/doi/abs/10.1021/acs.iecr.6b02402

TaikiKato commented 3 years ago

Thank you for your kind reply, Dr. @mjohnson541. I'll check H_Abstraction family. I thought that H_Abstraction is not important for SiH4 thermal decomposition. But, it looks necessary for building RMG SixHy model. H_Abstraction looks very complicated, but I'll try the improvement of this family.

TaikiKato commented 3 years ago

Thank you for your kind reply , AP @rwest . I looked this link but I couldn't understand how to operate this site buttons. I'm sorry. I'm not good at git & github.

I arrived this site from randomly operation at the link. ( I forgot how to arrive this site. if you know, please teach me. ) ■ https://github.com/bslakman/RMG-database/tree/3cd89b58ab4cc1d3ce85ce265aea6aeb83fe99c0 It looked the latest version of SixHy chemistry. Is this correct ? I tried pull from this RMG-database by git clone https://github.com/bslakman/RMG-database.git, but it looks no silane chemistry in it.

Will you please how to download these files & keep my local files status ? I hope to download these files for RMG SixHy running with below input files. ■ https://github.com/bslakman/silane

JacksonBurns commented 1 year ago

Stale. Closing.