{"action":"created","issue":{"url":"https://api.github.com/repos/prisms-center/CASMcode/issues/23","repository_url":"https://api.github.com/repos/prisms-center/CASMcode","labels_url":"https://api.github.com/repos/prisms-center/CASMcode/issues/23/labels{/name}","comments_url":"https://api.github.com/repos/prisms-center/CASMcode/issues/23/comments","events_url":"https://api.github.com/repos/prisms-center/CASMcode/issues/23/events","html_url":"https://github.com/prisms-center/CASMcode/issues/23","id":185747518,"number":23,"title":"PRIM with two sites at the same point has symmetry/equivalency issues","user":{"login":"tallakahath","id":6741924,"avatar_url":"https://avatars.githubusercontent.com/u/6741924?v=3","gravatar_id":"","url":"https://api.github.com/users/tallakahath","html_url":"https://github.com/tallakahath","followers_url":"https://api.github.com/users/tallakahath/followers","following_url":"https://api.github.com/users/tallakahath/following{/other_user}","gists_url":"https://api.github.com/users/tallakahath/gists{/gist_id}","starred_url":"https://api.github.com/users/tallakahath/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tallakahath/subscriptions","organizations_url":"https://api.github.com/users/tallakahath/orgs","repos_url":"https://api.github.com/users/tallakahath/repos","events_url":"https://api.github.com/users/tallakahath/events{/privacy}","received_events_url":"https://api.github.com/users/tallakahath/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-27T18:37:25Z","updated_at":"2016-10-28T15:51:26Z","closed_at":null,"body":"The short: If you try to make a CASM project with two different DOFs on top of each other (A/B and C/D), CASM somehow considers SCELs containing A+C and B+D to be \"the same\", which feels like a very weird symmetry issue.\r\n\r\nThe long:\r\n\r\nConsider the following prim.json:\r\n\r\n```json\r\n{\r\n  \"basis\" : [\r\n    {\r\n      \"coordinate\" : [ 0.000000000000, 0.000000000000, 0.000000000000 ],\r\n      \"occupant_dof\" : [ \"A\", \"B\" ]\r\n    },\r\n    {\r\n      \"coordinate\" : [ 0.500000000000, 0.500000000000, 0.500000000000 ],\r\n      \"occupant_dof\" : [ \"C\", \"D\" ]\r\n    }\r\n  ],\r\n  \"coordinate_mode\" : \"Fractional\",\r\n  \"description\" : \"FooBar\",\r\n  \"lattice_vectors\" : [\r\n    [ 0.000000000000, 1.000000000000, 1.000000000000 ],\r\n    [ 1.000000000000, 0.000000000000, 1.000000000000 ],\r\n    [ 1.000000000000, 1.000000000000, 0.000000000000 ]\r\n  ],\r\n  \"title\" : \"ABCD\"\r\n}\r\n```\r\nHere I have two DOFs: A/B on the first site, and C/D on the second site. I can init a project with this, run `casm enum --max 1 -s ; casm enum -a -c` and get 4 configs in SCEL1:\r\n\r\n- A C\r\n- A D\r\n- B C\r\n- B D\r\n\r\nThis seems reasonable and perfectly well behaved. Now, instead, I have Good Reasons to want to put two sites *literally* on top of each other. I have the following prim:\r\n\r\n```json\r\n{\r\n  \"basis\" : [\r\n    {\r\n      \"coordinate\" : [ 0.000000000000, 0.000000000000, 0.000000000000 ],\r\n      \"occupant_dof\" : [ \"A\", \"B\" ]\r\n    },\r\n    {\r\n      \"coordinate\" : [ 0.000000000000, 0.000000000000, 0.000000000000 ],\r\n      \"occupant_dof\" : [ \"C\", \"D\" ]\r\n    }\r\n  ],\r\n  \"coordinate_mode\" : \"Fractional\",\r\n  \"description\" : \"FooBar\",\r\n  \"lattice_vectors\" : [\r\n    [ 0.000000000000, 1.000000000000, 1.000000000000 ],\r\n    [ 1.000000000000, 0.000000000000, 1.000000000000 ],\r\n    [ 1.000000000000, 1.000000000000, 0.000000000000 ]\r\n  ],\r\n  \"title\" : \"ABCD\"\r\n}\r\n```\r\n\r\nProblems begin with `casm init`. CASM complains that the structure in prim.json is not primitive, and prints me a prim.true.json. However, this prim is *identical* to prim.json, line-for-line. Copying this new prim.true.json to prim.json and re-running `casm init` produces the same error.\r\n\r\nOK, I run `casm init -f` now to move on. And CASM chugs along! Now I run `casm enum --max 1 -s ; casm enum -a -c` and get *3* configs in SCEL1:\r\n\r\n- A C\r\n- B C\r\n- B D\r\n\r\nWeird, where did A D go? I create the following POS:\r\n\r\n```\r\nSCEL1_1_1_1_0_0_0/3\r\n1.00000000\r\n                       0.00000000       1.00000000       1.00000000\r\n                       1.00000000       0.00000000       1.00000000\r\n                       1.00000000       1.00000000       0.00000000\r\nA D \r\n1 1 \r\nDirect\r\n               0.0000000    0.0000000    0.0000000 A\r\n               0.0000000    0.0000000    0.0000000 D\r\n```\r\n\r\nAnd run `casm import -p POS`. CASM returns:\r\n\r\n>   Beginning import of 1 configuration...\r\n>\r\n>  \"/home/liz/prim_tests/ABCD_3/POS\"\r\n>  mapped onto pre-existing equivalent structure SCEL1_1_1_1_0_0_0/1\r\n>\r\n>  Relaxation stats -> lattice_deformation = 0      basis_deformation = 0\r\n\r\nThat's not right! SCEL1/1 is B C, not A D! For some reason, CASM thinks these two are the same! \r\n\r\nWhat went wrong here? I know I'm doing something \"really weird\" putting two DOFs on top of each other, but its still a scary failure mode. "},"comment":{"url":"https://api.github.com/repos/prisms-center/CASMcode/issues/comments/256957172","html_url":"https://github.com/prisms-center/CASMcode/issues/23#issuecomment-256957172","issue_url":"https://api.github.com/repos/prisms-center/CASMcode/issues/23","id":256957172,"user":{"login":"jcthomas","id":3728621,"avatar_url":"https://avatars.githubusercontent.com/u/3728621?v=3","gravatar_id":"","url":"https://api.github.com/users/jcthomas","html_url":"https://github.com/jcthomas","followers_url":"https://api.github.com/users/jcthomas/followers","following_url":"https://api.github.com/users/jcthomas/following{/other_user}","gists_url":"https://api.github.com/users/jcthomas/gists{/gist_id}","starred_url":"https://api.github.com/users/jcthomas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcthomas/subscriptions","organizations_url":"https://api.github.com/users/jcthomas/orgs","repos_url":"https://api.github.com/users/jcthomas/repos","events_url":"https://api.github.com/users/jcthomas/events{/privacy}","received_events_url":"https://api.github.com/users/jcthomas/received_events","type":"User","site_admin":false},"created_at":"2016-10-28T15:51:25Z","updated_at":"2016-10-28T15:51:25Z","body":"Yeah, I think this is an uncommon usage case, but it's easy to fix, so I\nthink we should allow it.  The issue was due to how sites were compared for\npurposes of determining the primitive cell and constructing certain\nsymmetry representations. I pushed a fix to my fork and will open a pull\nrequest.\n\nOn Thu, Oct 27, 2016 at 11:37 AM, Liz Decolvenaere <notifications@github.com\n> wrote:\n\n> The short: If you try to make a CASM project with two different DOFs on\n> top of each other (A/B and C/D), CASM somehow considers SCELs containing\n> A+C and B+D to be \"the same\", which feels like a very weird symmetry issue.\n>\n> The long:\n>\n> Consider the following prim.json:\n>\n> {\n>   \"basis\" : [\n>     {\n>       \"coordinate\" : [ 0.000000000000, 0.000000000000, 0.000000000000 ],\n>       \"occupant_dof\" : [ \"A\", \"B\" ]\n>     },\n>     {\n>       \"coordinate\" : [ 0.500000000000, 0.500000000000, 0.500000000000 ],\n>       \"occupant_dof\" : [ \"C\", \"D\" ]\n>     }\n>   ],\n>   \"coordinate_mode\" : \"Fractional\",\n>   \"description\" : \"FooBar\",\n>   \"lattice_vectors\" : [\n>     [ 0.000000000000, 1.000000000000, 1.000000000000 ],\n>     [ 1.000000000000, 0.000000000000, 1.000000000000 ],\n>     [ 1.000000000000, 1.000000000000, 0.000000000000 ]\n>   ],\n>   \"title\" : \"ABCD\"\n> }\n>\n> Here I have two DOFs: A/B on the first site, and C/D on the second site. I\n> can init a project with this, run casm enum --max 1 -s ; casm enum -a -c\n> and get 4 configs in SCEL1:\n>\n>    - A C\n>    - A D\n>    - B C\n>    - B D\n>\n> This seems reasonable and perfectly well behaved. Now, instead, I have\n> Good Reasons to want to put two sites *literally* on top of each other. I\n> have the following prim:\n>\n> {\n>   \"basis\" : [\n>     {\n>       \"coordinate\" : [ 0.000000000000, 0.000000000000, 0.000000000000 ],\n>       \"occupant_dof\" : [ \"A\", \"B\" ]\n>     },\n>     {\n>       \"coordinate\" : [ 0.000000000000, 0.000000000000, 0.000000000000 ],\n>       \"occupant_dof\" : [ \"C\", \"D\" ]\n>     }\n>   ],\n>   \"coordinate_mode\" : \"Fractional\",\n>   \"description\" : \"FooBar\",\n>   \"lattice_vectors\" : [\n>     [ 0.000000000000, 1.000000000000, 1.000000000000 ],\n>     [ 1.000000000000, 0.000000000000, 1.000000000000 ],\n>     [ 1.000000000000, 1.000000000000, 0.000000000000 ]\n>   ],\n>   \"title\" : \"ABCD\"\n> }\n>\n> Problems begin with casm init. CASM complains that the structure in\n> prim.json is not primitive, and prints me a prim.true.json. However, this\n> prim is *identical* to prim.json, line-for-line. Copying this new\n> prim.true.json to prim.json and re-running casm init produces the same\n> error.\n>\n> OK, I run casm init -f now to move on. And CASM chugs along! Now I run casm\n> enum --max 1 -s ; casm enum -a -c and get *3* configs in SCEL1:\n>\n>    - A C\n>    - B C\n>    - B D\n>\n> Weird, where did A D go? I create the following POS:\n>\n> SCEL1_1_1_1_0_0_0/3\n> 1.00000000\n>                        0.00000000       1.00000000       1.00000000\n>                        1.00000000       0.00000000       1.00000000\n>                        1.00000000       1.00000000       0.00000000\n> A D\n> 1 1\n> Direct\n>                0.0000000    0.0000000    0.0000000 A\n>                0.0000000    0.0000000    0.0000000 D\n>\n> And run casm import -p POS. CASM returns:\n>\n> Beginning import of 1 configuration...\n>\n> \"/home/liz/prim_tests/ABCD_3/POS\"\n> mapped onto pre-existing equivalent structure SCEL1_1_1_1_0_0_0/1\n>\n> Relaxation stats -> lattice_deformation = 0 basis_deformation = 0\n>\n> That's not right! SCEL1/1 is B C, not A D! For some reason, CASM thinks\n> these two are the same!\n>\n> What went wrong here? I know I'm doing something \"really weird\" putting\n> two DOFs on top of each other, but its still a scary failure mode.\n>\n> —\n> You are receiving this because you are subscribed to this thread.\n> Reply to this email directly, view it on GitHub\n> <https://github.com/prisms-center/CASMcode/issues/23>, or mute the thread\n> <https://github.com/notifications/unsubscribe-auth/ADjk7amsJN8i9yvu0vjzomeY-IWlNzYUks5q4O9mgaJpZM4KiryL>\n> .\n>\n"}}
{"actor":{"display_login":"jcthomas"}}