{"action":"created","issue":{"url":"https://api.github.com/repos/ReactionMechanismGenerator/RMG-Py/issues/1823","repository_url":"https://api.github.com/repos/ReactionMechanismGenerator/RMG-Py","labels_url":"https://api.github.com/repos/ReactionMechanismGenerator/RMG-Py/issues/1823/labels{/name}","comments_url":"https://api.github.com/repos/ReactionMechanismGenerator/RMG-Py/issues/1823/comments","events_url":"https://api.github.com/repos/ReactionMechanismGenerator/RMG-Py/issues/1823/events","html_url":"https://github.com/ReactionMechanismGenerator/RMG-Py/issues/1823","id":524606489,"node_id":"MDU6SXNzdWU1MjQ2MDY0ODk=","number":1823,"title":"Generating an unmarked duplicate Disproportionation  reactions","user":{"login":"rwest","id":93807,"node_id":"MDQ6VXNlcjkzODA3","avatar_url":"https://avatars1.githubusercontent.com/u/93807?v=4","gravatar_id":"","url":"https://api.github.com/users/rwest","html_url":"https://github.com/rwest","followers_url":"https://api.github.com/users/rwest/followers","following_url":"https://api.github.com/users/rwest/following{/other_user}","gists_url":"https://api.github.com/users/rwest/gists{/gist_id}","starred_url":"https://api.github.com/users/rwest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwest/subscriptions","organizations_url":"https://api.github.com/users/rwest/orgs","repos_url":"https://api.github.com/users/rwest/repos","events_url":"https://api.github.com/users/rwest/events{/privacy}","received_events_url":"https://api.github.com/users/rwest/received_events","type":"User","site_admin":false},"labels":[{"id":832446635,"node_id":"MDU6TGFiZWw4MzI0NDY2MzU=","url":"https://api.github.com/repos/ReactionMechanismGenerator/RMG-Py/labels/Topic:%20Duplicate%20Reactions","name":"Topic: Duplicate Reactions","color":"d4c5f9","default":false,"description":""},{"id":704521556,"node_id":"MDU6TGFiZWw3MDQ1MjE1NTY=","url":"https://api.github.com/repos/ReactionMechanismGenerator/RMG-Py/labels/Type:%20Bug","name":"Type: Bug","color":"fef2c0","default":false,"description":""}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2019-11-18T20:39:36Z","updated_at":"2019-12-30T13:32:40Z","closed_at":null,"author_association":"MEMBER","body":"<!--Thanks for creating this bug report! Please try to provide as much information as possible so we can recreate the bug. This template is provided as a guide, which you can adjust based on your issue. Also, try searching GitHub issues to see if someone has previously posted a similar bug. -->\r\n\r\n### Bug Description\r\n\r\nWhen converting a chemkin file generated by RMG into cantera using ck2cti I got this error:\r\n```\r\n***********************************************************************\r\nCanteraError thrown by Kinetics::checkDuplicates:\r\nUndeclared duplicate reactions detected:\r\nReaction 2619: HNO2(571) + HNO2(699) <=> H2NO2(172) + NO2(91)\r\nReaction 2498: HNO2(571) + HNO2(699) <=> H2NO2(172) + NO2(91)\r\n***********************************************************************\r\n```\r\n\r\nLooking at the annotated chemkin file, sure enough these reactions  are unmarked duplicates:\r\n\r\n```\r\n! Reaction index: Chemkin #2498; RMG #3394\r\n! Template reaction: Disproportionation\r\n! Estimated using an average for rate rule [Y_1centerbirad;N3H_s_Rrad]\r\n! Euclidian distance = 0\r\n! family: Disproportionation\r\nHNO2(571)+HNO2(699)=NO2(91)+H2NO2(172)              2.645406e+08 1.500     -0.350   \r\n\r\n! Reaction index: Chemkin #2619; RMG #26909\r\n! Template reaction: Disproportionation\r\n! Flux pairs: HNO2(699), NO2(91); HNO2(571), H2NO2(172); \r\n! Estimated using an average for rate rule [Y_1centerbirad;N3H_s_Rrad]\r\n! Euclidian distance = 0\r\n! family: Disproportionation\r\nHNO2(699)+HNO2(571)=NO2(91)+H2NO2(172)              2.645406e+08 1.500     -0.350   \r\n```\r\n\r\nThey even have exactly the same rate rules.\r\nThe reactants are listed in a different order, however.\r\n\r\n### How To Reproduce\r\n\r\nThe species in question are\r\n\r\n```\r\nHNO2(699)\r\nmultiplicity 3\r\n1 O u1 p2 c0 {3,S}\r\n2 O u1 p2 c0 {3,S}\r\n3 N u0 p1 c0 {1,S} {2,S} {4,S}\r\n4 H u0 p0 c0 {3,S}\r\n\r\nHNO2(571)\r\nmultiplicity 3\r\n1 O u0 p2 c0 {2,S} {3,S}\r\n2 O u0 p2 c0 {1,S} {4,S}\r\n3 N u2 p1 c0 {1,S}\r\n4 H u0 p0 c0 {2,S}\r\n\r\nNO2(91)\r\nmultiplicity 2\r\n1 O u0 p3 c-1 {3,S}\r\n2 O u0 p2 c0 {3,D}\r\n3 N u1 p0 c+1 {1,S} {2,D}\r\n\r\nH2NO2(172)\r\nmultiplicity 2\r\n1 O u0 p2 c0 {2,S} {3,S}\r\n2 O u0 p2 c0 {1,S} {4,S}\r\n3 N u1 p1 c0 {1,S} {5,S}\r\n4 H u0 p0 c0 {2,S}\r\n5 H u0 p0 c0 {3,S}\r\n```\r\n\r\nSo hopefully putting the two reactants in an input file will reproduce.\r\n\r\n### Expected Behavior\r\nDuplicates would be eliminated, merged, or marked as DUPLICATE in the chemkin output.\r\n\r\n### Installation Information\r\nDescribe your installation method and system information.\r\n - OS (include version if known): CentOS 7\r\n - Installation method: from source in anaconda environment\r\n - RMG version information:\r\n   <!--\r\n   For binary installation, get version number using `conda list -f rmg`\r\n   For installation from source, get git commit using `git describe --tags`\r\n   -->\r\n   - RMG-Py: 2.4.1-511-gd33df776a\r\n   - RMG-database: 2.4.0-37-gcc0c77f9\r\n\r\n### Possible links\r\n- #1624 is about when a Disproportionation and a PDep reaction end up being the same and are not marked as DUPLICATE. But in this case they are both Disproportionation.\r\n- #1336 might be a duplicate of this issue (sorry)"},"comment":{"url":"https://api.github.com/repos/ReactionMechanismGenerator/RMG-Py/issues/comments/569680011","html_url":"https://github.com/ReactionMechanismGenerator/RMG-Py/issues/1823#issuecomment-569680011","issue_url":"https://api.github.com/repos/ReactionMechanismGenerator/RMG-Py/issues/1823","id":569680011,"node_id":"MDEyOklzc3VlQ29tbWVudDU2OTY4MDAxMQ==","user":{"login":"rwest","id":93807,"node_id":"MDQ6VXNlcjkzODA3","avatar_url":"https://avatars1.githubusercontent.com/u/93807?v=4","gravatar_id":"","url":"https://api.github.com/users/rwest","html_url":"https://github.com/rwest","followers_url":"https://api.github.com/users/rwest/followers","following_url":"https://api.github.com/users/rwest/following{/other_user}","gists_url":"https://api.github.com/users/rwest/gists{/gist_id}","starred_url":"https://api.github.com/users/rwest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwest/subscriptions","organizations_url":"https://api.github.com/users/rwest/orgs","repos_url":"https://api.github.com/users/rwest/repos","events_url":"https://api.github.com/users/rwest/events{/privacy}","received_events_url":"https://api.github.com/users/rwest/received_events","type":"User","site_admin":false},"created_at":"2019-12-30T13:32:40Z","updated_at":"2019-12-30T13:32:40Z","author_association":"MEMBER","body":"All recent examples of this have either the reactants or the products in a different order.\r\neg. A + B = C + D is not detected as a duplicate of A + B = D + C.\r\n\r\nThe `chemkin.mark_duplicate_reaction` function does not sort the reactant or product lists before comparing them.\r\n\r\nAfter fixing this, there's a residual problem. The function REMOVES duplicate flags if it thinks they don't belong, but they might belong _for a different reason_ than the one being checked.\r\n\r\nAttempts to fix these are in PR #1856"}}
{"actor":{"display_login":"rwest"}}