-
Notifications
You must be signed in to change notification settings - Fork 229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
maximumEdgeSpecies
ignored if toleranceThermoKeepSpeciesInEdge
is not given
#2575
Comments
Hi @PoojaNem thanks for the thorough report! I think you've actually found a small bug (or maybe just bad documentation) in RMG - even if I'm going to modify the title and mark this as a bug so the developers can try and find an appropriate fix! But setting this parameter should solve your problem. Note to myself and other developers: this line in the driver script for RMG will not run thermo pruning unless the aforementioned parameter is not infinity, and by default it is set to inf in the CoreEdgeReactioModel. |
maximumEdgeSpecies
ignored if toleranceThermoKeepSpeciesInEdge
is not given
@xiaoruiDong it seems like we won't be able to filter edge species without Should we then just update the docs (and the code as well, to raise an exception) to specify that both parameters are required [option 3]? |
Note to self: chdck git blame for the is inf line in model |
This is the commit that is causing this problem: 7ee5bac Filtering is skipped if not all of the thermo filtering options are provided. |
@JacksonBurns Thank you very much for looking into the issue. After adding toleranceThermoKeepSpeciesInEdge in the input file I am able to generate chemical model with intended number of edge species. |
@PoojaNem glad to hear it! @mjohnson541 RE: changed the logic for running the thermo filtering in the commit 7ee5bac; can we still run the thermo filtering if the |
So thermo pruning is designed primarily for when we don't want to or can't run the long simulations usually required for flux pruning. Usually this is either because the number of edge species handled is very large or there's some issue with running the model long past the times it is valid at. It's worth noting that even thermo pruning only attempts to achieve the specified maximum edge species, by default edge species are guaranteed 2 iterations in the edge regardless of their flux/thermochemistry. It is intended as a backup approach primarily for when flux pruning is no longer viable. It can significantly reduce the memory footprint which can be vital for long runs on large molecules. However, this approach is generally a less safe way to handle the edge than flux pruning. I'm not sure I would recommend using thermo pruning in this particular example. I also would be uneasy running with only 10,000 allowed edge species, especially for that size of molecule. I don't think 20 hours is particularly long for an RMG run with a molecule of that size, I wouldn't have been surprised if it took significantly longer than that. So in general [option 1/2] I think using the thermodynamic filter by default is more dangerous than we want for defaults. |
Great, thanks for the thorough explanation! I will work up a quick patch for [option 3]. @PoojaNem you might want to consider some of the comments above for your model. It's possible for large molecules that aggressive pruning might miss some chemistry. |
@JacksonBurns and @mjohnson541 Thank you very much for the detailed explanation. I will verify the chemistry involved in the model generated with thermodynamic pruning. |
I am trying to generate a model for propylcyclohexane and air mixture for the equivalence ratio ranging from 0.5-2 with maximumEdgeSpecies value of 10000. But, when I run rmg job the final model edge has 74443 species and also it takes about 20 hrs to generate this model. Can anyone advice me on why generated model had edge species more than the value fixed in the input file.
The RMG input file is attached below for the reference. If required, I can also provide database files.
input.txt
The text was updated successfully, but these errors were encountered: