orex / supercell

The program allows you to create regular structure supercell from cif file with partial occupancy and/or substitutions.
GNU General Public License v2.0
91 stars 56 forks source link

Unhandled Exception reached the top of main: single data block expected, got 2, application will now exit #56

Closed Hcx99 closed 1 year ago

Hcx99 commented 1 year ago

Hello! What is the reason for this error when using the supercell program? Unhandled Exception reached the top of main: single data block expected, got 2, application will now exit

orex commented 1 year ago

CIF file contains several structures, but supercell can work with only one at time.

Hcx99 commented 1 year ago

Thank you very much for your reply! The problem has been solved, thank you very much!

orex commented 1 year ago

Awesome! Don't hesitate to contact me in case of any problem.

Hcx99 commented 1 year ago

Sorry to bother you again! I have a question: I now have a crystal structure with fractional occupancy, and I want to create a fractional occupancy doping structure by doping the structure with elements. Can supercell implement this? Thank you very much!

orex commented 1 year ago

Yes. Sure supercell can do this. Probably you will need to edit cif file to add the doping elements. Check tutorial for more details https://orex.github.io/supercell/docs/tutorial/

Hcx99 commented 1 year ago

Do you mean "edit cif file" by adding doping elements and occupancy numbers directly to cif file? I have seen many examples in the toturial file before, but I am not quite clear which example is about doping elements. Could you please kindly inform me?

orex commented 1 year ago

Please provide more information for doping? Which kind of defect and how you want to introduce to your compounds.

Hcx99 commented 1 year ago

There are two kinds of Li in my structure, Li1 and Li2 are both fractional occupied, I want to doping Ga element at the Li site, the proportion of Ga doping in Li1 and Li2 is not evenly distributed.

It looks something like this: loop_ _atom_site_label _atom_site_occupancy _atom_site_fract_x _atom_site_fract_y _atom_site_fract_z _atom_site_adp_type _atom_site_U_iso_or_equiv _atom_site_type_symbol Li1 0.9620 0.375000 0.000000 0.250000 Uiso 0.033000 Li Ga1 0.0380 0.375000 0.000000 0.250000 Uiso 0.033000 Ga Li2 0.2804 0.687400 0.581500 0.098700 Uiso 0.012670 Li Ga2 0.0113 0.687400 0.581500 0.098700 Uiso 0.012670 Ga

orex commented 1 year ago

Everything looks OK. What is the problem?

Hcx99 commented 1 year ago

No, this example I found from the database, its doping concentration does not meet my requirements, so I want to find a way to doping other concentrations.

orex commented 1 year ago

Such cases are descibed in tutorial. You can change either _atom_site_occupancy values in cif file, or use -p option. Check manual also.

Hcx99 commented 1 year ago

It's like you said change _atom_site_occupancy values in cif file,doping Li site with Ga elements, Li1 and Li2 are available, so how should occupancy from Li1 and Li2 be determined?

Hcx99 commented 1 year ago

I'm sorry to bother you! I have a problem. I can filter The original structure by supercell, but when I mixed the elements, The total number of combinations is 12223933875394560(~1.2e+16).

ERROR: The Number of total combinations is too high to work with.

orex commented 1 year ago

Yes. It is really to high number to process. There is some tricks that you can use to reduce such number. Please check https://orex.github.io/supercell/docs/tutorial/ Section "Application of supercell program to Rb-PST-1 zeolite".

Hcx99 commented 1 year ago

I'm sorry I can't understand the -p "rb2’s much-publicised: p = 0" -p "r (Si1 | Ga1) : fixed" this phrase, p = 0 mean? i have two Li sites in my structure, both fractional occupied, and Zr/Sb sites. If I want to fix Li sites first, command supercell -i Sb0.5.cif -q -p "r (Li1) : fixed" -p "r (Li2) : fixed" -m -v 2-n l10-o Sb05_out/LLZO Is this correct?

orex commented 1 year ago

I would run supercell -i Sb0.5.cif -q -p "Li*:fixed" -m -v 2-n l10-o Sb05_out/LLZO In this case Li sites will be excluded from permutations and as a result you will get a set of structures with fractional Li sites.