-
Notifications
You must be signed in to change notification settings - Fork 70
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
Enumeration to reach my target structure (B_3AC_6) for non stoichiometric compound #350
Comments
You can filter your enumeration output by properties (see
Due to the filter and the random occupations, I don't think you are guaranteed to get 100 unique configurations each time. So the POSCARs inside conventional.enum.json may not be unique. If you want to get the unique POSCARs, select the volume 8 configurations in your supercell with |
After adding and for your second suggestion I abled to extract POSCAR files. But not for my required ratio. Because varying P.S. My target is find all possible configuration's poscars of A = 8, B = 24, C = 48. Thank You so much xivh for your all suggestions. |
Can you upload your prim? You should set To get all the POSCARs into one file, make a selection with the configurations you want: You can also remove the training_data/SCEL* folders and regenerate just the ones you want with |
Yah sure. Here is my prim, I also wrote, |
You need to create and select a composition axis with As you mentioned, it is pretty slow to enumerate all configurations. But if you enumerate randomly, you might not get that many results. You can get better results by enumerating by clusters. Here is the settings file:
In |
I am facing some issue regarding how to deal with the cmposition axes, for my case I got for my B3AC6 system,
now how to incorporate manually Va = 0.5 for A (0.5 occupied site) and Va = 0.25 for B (0.75 occupied). Secondly, I proceed my calculation with composition axes "0", and got, `` Parametric composition: Composition: Parametric chemical potentials: again same query, how to put |
Then I enumerated by clusters for this settings files, settings2.json, here I have taken Lastly, which configuration contains no vacancies ( are u talking about 96 atoms according to my structure)? Is there any process to reach my required all possible enumerated POSCARs (A =8, B = 24, C =48) direct from enumerating Pardon me if I have asked any stupid questions. Thank You xivh. |
The composition axes that you set with
This means that if you want to have 1 A atom per primitive cell, you set What I was suggesting was that you start with your structure containing no vacancies, then enumerate clusters of vacancies onto it. Now I realize that in the volume 8 supercell, you want more than 3 vacancies, which means that triplet clusters are not enough. So starting with your desired composition that already has vacancies and enumerating clusters around that composition makes sense - I think that is what you did? This will give you structures that are similar to your starting configuration but with different vacancy orderings. Another option is to use the I am not sure what the most efficient way is to get all possible orderings. Is there a reason that you need all of them? I enumerated just vacancies on the A sites in the volume 8 cell, and there are already around 1800.
|
Thank you xivh. Now I totally understood the role of composition axis. Yes firstly I got one configuration of Now, the main issue is my starting CIF fie "space group" symmetry was No, I dont need all of configurations, even my motive is how to truncate most of them configurations and just pick 1 with minimum energy , which will most stable to proceed further DFT calculations in VASP. Provide all valuable suggestions regarding these issues. Thank You |
Using prim.symmetrized.json file, I'm getting configurations of α =120° , β = 90°, γ =90°, where original initial CIF file was, α = β = 90°, γ =120°. how to resolve this! I want α = β = 90°, γ =120° of my all configurations. |
The sublats tag restricts the enumeration to some sites and leaves the rest fixed. I just wanted to show that by enumerating only on those sites you already have a lot of configurations, so the total number of configurations will be very large. If you want to find the lowest energy structure, then you should start with whatever knowledge you have about the system and enumerate from there. For example, if there is a particular vacancy ordering that is stable, you can enumerate perturbations around that. If it's a particular concentration, then maybe it is better to enumerate all configurations of that composition in small supercells first. After doing some calculations, you can use the cluster expansion to predict the formation energy of new structures and see if any break your convex hull. I am not sure why the space group symmetry changed. With regards to the lattice vectors, you can force casm to use a particular orientation of the prim with |
I get your point. I have already extracted 450 Yes , I did it also with |
You have to run the DFT calculations first. You can use |
This error is showing, |
You will need to create the files described in I recommend running the VASP calculations yourself if possible. Then, you can read the VASP data back into CASM by placing your final runs into the folder calctype.default/run.final, creating a
|
I got 450 configurations of 80 atoms (A = 8, B = 24, C= 48), are you saying me to run DFT calculation of these 450 configurations outside of CASM?? But doing these huge number of DFT calculations is computationaly very much expensive. My motive is to pick a most stable structure within these configurations and then I will do further SCF, DOS calculation. Is there any way to do this in CASM? |
That is why we usually start with the primitive cell and enumerate smaller cells instead of a large supercell. You need some DFT energies to train the cluster expansion. Also, if your system does not have a lot of distortions, you will not need as many structures. |
After exporting this cif file into POSCAR,
A 0.5000 0.000000 0.000000 0.000000 Biso 1.000000 A
B 0.7500 0.333333 0.666667 0.000000 Biso 1.000000 B
C 1.0 0.333333 0.000000 0.250000 Biso 1.000000 C I got 12 atoms in the POSCAR. Now considering the partial occupancy to initialize CASM project I created JSON script for enumeration, which head looks like,
{ "basis" : [ { "coordinate" : [ -0.000000000000, -0.000000007502, 0.000000000002 ], "occupants" : [ "A", "Va" ] }, { "coordinate" : [ 0.500000000000, -0.000000007502, 0.000000000002 ], "occupants" : [ "A", "Va" ] }, { "coordinate" : [ -0.000000000000, 0.666666659165, 0.333333333335 ], "occupants" : [ "B", "Va" ] }, { "coordinate" : [ -0.000000000000, 0.333333325832, -0.333333333332 ], "occupants" : [ "B", "Va" ] }, { .....
And then I enumerated for
ccasm enum -m ScelEnum -i '{"min":8,"max": 8}'
, There I aware that I have to deal with 2 * 2 * 2 supercell. So I pickSCEL8_2_2_2_0_0_0
supercell where I got 96 atoms ( A = 16 , B = 32 , C = 48) from POSCAR file. Now my target structure is B_3AC_6. For that I need only 80 atoms ( A = 8, B = 24, C = 48) in POSCAR considering partial occupancy of A (Vacancy= 0.5) and B (Vacancy = 0.25), also maintaining the ratio A:B:C = 1:3:6. So I want to reach 96 atoms to 80 atoms with exact enumeration.For
SCEL8_2_2_2_0_0_0
supercell I made asettings.json
file,{ "scelnames": ["SCEL8_2_2_2_0_0_0"], "fill": { "supercells": { "min": 1, "max": 1, "fixed_shape": true } }, "output_configurations": true, "primitive_only": false, "output_configurations_options": { "path": "conventional.enum.json", "properties": ["poscar"], "json": true } }
Then I wrote for enumerating all occupations (Exhaustive enumeration) with
ccasm enum --method ConfigEnumAllOccupations --settings settings.json
. But It's getting to expensive computationally. So, I go with random occupations (Stochastic enumeration) withccasm enum --method ConfigEnumRandomOccupations --settings settings.json
, which created initially 100 configurations by default. I can vary the number manually. But I want to detect exactly 80 atoms (A = 8, B =24, C=48) from this random configurations enumeration. How to proceed? I hope I able to make you understand.Thank You
The text was updated successfully, but these errors were encountered: