Re: [Wien] Determine primitive cell and positions, CXZ LATTICE 15_B2/b
A slightly tangential comment: unless your CIF came from a neutron diffraction analysis the H positions can be very wrong. Many refinement codes such as Shelx are very good, but just put H into reasonable positions as they are unstable in the refinements with XRD data. In principle the CIF file should have information about how the H positions were determined. ___ Professor Laurence Marks Department of Materials Science and Engineering Northwestern University www.numis.northwestern.edu MURI4D.numis.northwestern.edu Co-Editor, Acta Cryst A Research is to see what everybody else has seen, and to think what nobody else has thought Albert Szent-Gyorgi On Mar 20, 2015 6:56 AM, Peter Blaha pbl...@theochem.tuwien.ac.at wrote: Of course, for better positions it will be easier, but you would still run into the same problems with the default inputs. The problem with ghostbands is either connected with i) a WRONG case.struct file (not in your case) or ii) ALWAYS connected with the VERY SMALL spheres (for atoms like C,N,O or in your case P and O) AND the s- (l=0) states of these atoms. Typically the 3s (2s) state of P or O (or C,N) is lower in energy than the actual valence states and for a BIG sphere it is therefore necessary (more accurate) to describe these states with an additional LO and 2 lines in case.in1 like: 0 -1.55 0.002 CONT 1 00.30 0.000 CONT 1 For SMALL spheres, however, this leads to ghostbands and the case.scf2 file indicates for you for which atom and l it happens (atom 3 for l=0). Thus you have to edit case.in1 and either set the second energy very high (O): 0 -1.55 0.002 CONT 1 05.30 0.000 CONT 1 or even remove the second line (and change the number of exceptions in the line above from 3 to 2 (P-atom): 0.302 0 (GLOBAL E-PARAMETER WITH n OTHER CHOICES, 0 -1.79 0.002 CONT 1 10.30 0.000 CONT 1 Then do a crude: run (-p) -fc 10 and you see enormous forces on many atoms (in particular H, because their distance is VERY wrong, leading to these extremely small H and O radii). run -p -min -fc 1 optimizes the positions seamlessly. I've stopped this at a very early stage, but the struct file is attached. With this struct file I would rerun setrmt again, because the much more realistic O-H distances allow now for larger H and O spheres making the calculations MUCH faster. Then continue with the position optimization. ___ Wien mailing list Wien@zeus.theochem.tuwien.ac.at http://zeus.theochem.tuwien.ac.at/mailman/listinfo/wien SEARCH the MAILING-LIST at: http://www.mail-archive.com/wien@zeus.theochem.tuwien.ac.at/index.html
Re: [Wien] Determine primitive cell and positions, CXZ LATTICE 15_B2/b
For low symmetry structures (eg. monoclinic) one can generate several unit cells which are absolutely equivalent (same volume, same number of atoms, ...) This happens with sgroup, which transforms your structure such that the monoclinic angle is less than 90. In addition the fractional coordinates have been changed austomatically. Nevertheless, these two cells will give identical neighbor-distances, which you can verify with nn and comparing the resulting outputnn files. There is nothing wrong with either your original cell or the one from sgroup. You can use either one for the calculations. If you want the conventional cell (which contains of course 2x as many atoms), you can use x supercell (1x1x1, no shifts/vacuum). It simply changes the lattice type to P, and adds the centered atoms. With this struct file, however, you cannot make the calculations unless you make these atoms non-equivalent and break symmetry, eg. by labeling one atom as Al1. What you have been trying was to express the lattice vectors/positions in carthesian coordinates. You can check your calculations again using the distances of outputnn and compare them to your own calculations. Am 19.03.2015 um 17:03 schrieb David Olmsted: Dear reader, I am trying to determine the primitive cell and positions for a case.struct file I am running. But I am not determining the either primitive cell or the conventional cell correctly. I need to either: 1. Figure out what I am doing wrong. or 2. Find a place in the code where I can print out the positions in terms of the primitive cell. Does anyone know the answer to either question? This is a base-centered monoclinic system, space group 15. From case.struct: MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 99.99 The full case.struct is given below. sgroup reports 15 (C 2/c) [unique axis c] cell choice 2. The struct file output from sgroup is: CXZ LATTICE,NONEQUIV.ATOMS: 14 15 C2/c MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 80.01 The case.struct file I am using has the 99.99 degree entry as above. In angstroms, my lattice constants (and angles in degrees) are 18.894 7.1615 7.1615 90 90 99.99 The userguide gives (on page 39) the primitive cell as: CXZ [a sin(\gamma)/2, a cos(\gamma)/2, -c/2], [0, b, 0], [a sin(\gamma)/2, acos(\gamma)/2, c/2] So I have for a primitive cell (each row is a vector): 9.3038 -1.6388 -3.5808 07.1615 0 9.3038 -1.6388 3.5808 With lengths of 10.1029 7.1615 10.1029 and angles 99.34 41.52 99.34. The positions in case.struct are given in terms of the conventional unit cell, and I must convert them to the primitive cell. So I need the conventional cell in cartesian coordinates. The README file in SRC_sgroup talks about base-centered monoclinic being restricted to A centered. Page 39 of the userguide shows only B-base-centered, which is what I have. The README gives: The vectors of the conventional cell in cartesian basis ( 1 vector is 1 column ... ) a b*Cos[gamma] 0 0 b*Sin[gamma] 0 A - centred 0 0 c This is a valid conventional cell in my case, and switching to each row being a vector, I have: 18.8940 0 -1.24235 7.0529 0 00 7.1615 However the location of the second primitive cell is (0.5, 0, 0.5) in terms of the conventional cell. When transformed to primitive cell coordinates it must be a lattice vector. But it is not. So one of my cells is wrong. (I believe the vector for the second primitive cell is correct because it is what is given in the International Tables, page 199, for unique axis c, cell choice 2. And it matches to the neighbor positions in case.outputnn.) Quite possibly the conventional cell is different for B-centered than for A-centered, but I do not find it described anywhere. My thanks for any help. David David Olmsted Assistant Research Engineer Materials Science and Engineering 210 Hearst Memorial Mining Building University of California Berkeley, CA 94720-1760 --- case.struct troll_icsd CXZ LATTICE,NONEQUIV.ATOMS: 14 15_B2/b MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 99.99 ATOM -1: X=0.16778000 Y=0.32059000 Z=0.00654000 MULT= 4 ISPLIT= 8 -1: X=0.83222000 Y=0.67941000 Z=0.99346000 -1: X=0.83222000 Y=0.17941000 Z=0.00654000 -1: X=0.16778000 Y=0.82059000 Z=0.99346000 Al NPT= 781 R0=0.0001 RMT=1.6300 Z: 13.0 LOCAL ROT MATRIX:1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000 ATOM -2: X=0.0757 Y=0.41714000 Z=0.72882000 MULT= 4 ISPLIT= 8 -2: X=0.9243 Y=0.58286000 Z=0.27118000 -2: X=0.9243 Y=0.08286000 Z=0.72882000 -2: X=0.0757 Y=0.91714000 Z=0.27118000 Al
Re: [Wien] Determine primitive cell and positions, CXZ LATTICE 15_B2/b
Dear Collegues I want to */unsubscribe/* javascript:void(0) to this data mail Thanks Dr F. TERKI Le 19/03/2015 18:29, Peter Blaha a écrit : For low symmetry structures (eg. monoclinic) one can generate several unit cells which are absolutely equivalent (same volume, same number of atoms, ...) This happens with sgroup, which transforms your structure such that the monoclinic angle is less than 90. In addition the fractional coordinates have been changed austomatically. Nevertheless, these two cells will give identical neighbor-distances, which you can verify with nn and comparing the resulting outputnn files. There is nothing wrong with either your original cell or the one from sgroup. You can use either one for the calculations. If you want the conventional cell (which contains of course 2x as many atoms), you can use x supercell (1x1x1, no shifts/vacuum). It simply changes the lattice type to P, and adds the centered atoms. With this struct file, however, you cannot make the calculations unless you make these atoms non-equivalent and break symmetry, eg. by labeling one atom as Al1. What you have been trying was to express the lattice vectors/positions in carthesian coordinates. You can check your calculations again using the distances of outputnn and compare them to your own calculations. Am 19.03.2015 um 17:03 schrieb David Olmsted: Dear reader, I am trying to determine the primitive cell and positions for a case.struct file I am running. But I am not determining the either primitive cell or the conventional cell correctly. I need to either: 1. Figure out what I am doing wrong. or 2. Find a place in the code where I can print out the positions in terms of the primitive cell. Does anyone know the answer to either question? This is a base-centered monoclinic system, space group 15. From case.struct: MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 99.99 The full case.struct is given below. sgroup reports 15 (C 2/c) [unique axis c] cell choice 2. The struct file output from sgroup is: CXZ LATTICE,NONEQUIV.ATOMS: 14 15 C2/c MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 80.01 The case.struct file I am using has the 99.99 degree entry as above. In angstroms, my lattice constants (and angles in degrees) are 18.894 7.1615 7.1615 90 90 99.99 The userguide gives (on page 39) the primitive cell as: CXZ[a sin(\gamma)/2, a cos(\gamma)/2, -c/2], [0, b, 0], [a sin(\gamma)/2, acos(\gamma)/2, c/2] So I have for a primitive cell (each row is a vector): 9.3038 -1.6388 -3.5808 07.1615 0 9.3038 -1.6388 3.5808 With lengths of 10.1029 7.1615 10.1029 and angles 99.34 41.52 99.34. The positions in case.struct are given in terms of the conventional unit cell, and I must convert them to the primitive cell. So I need the conventional cell in cartesian coordinates. The README file in SRC_sgroup talks about base-centered monoclinic being restricted to A centered. Page 39 of the userguide shows only B-base-centered, which is what I have. The README gives: The vectors of the conventional cell in cartesian basis ( 1 vector is 1 column ... ) a b*Cos[gamma] 0 0 b*Sin[gamma] 0 A - centred 0 0 c This is a valid conventional cell in my case, and switching to each row being a vector, I have: 18.8940 0 -1.24235 7.0529 0 00 7.1615 However the location of the second primitive cell is (0.5, 0, 0.5) in terms of the conventional cell. When transformed to primitive cell coordinates it must be a lattice vector. But it is not. So one of my cells is wrong. (I believe the vector for the second primitive cell is correct because it is what is given in the International Tables, page 199, for unique axis c, cell choice 2. And it matches to the neighbor positions in case.outputnn.) Quite possibly the conventional cell is different for B-centered than for A-centered, but I do not find it described anywhere. My thanks for any help. David David Olmsted Assistant Research Engineer Materials Science and Engineering 210 Hearst Memorial Mining Building University of California Berkeley, CA 94720-1760 --- case.struct troll_icsd CXZ LATTICE,NONEQUIV.ATOMS: 14 15_B2/b MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 99.99 ATOM -1: X=0.16778000 Y=0.32059000 Z=0.00654000 MULT= 4 ISPLIT= 8 -1: X=0.83222000 Y=0.67941000 Z=0.99346000 -1: X=0.83222000 Y=0.17941000 Z=0.00654000 -1: X=0.16778000 Y=0.82059000 Z=0.99346000 Al NPT= 781 R0=0.0001 RMT=1.6300 Z: 13.0 LOCAL ROT MATRIX:1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000 ATOM -2: X=0.0757 Y=0.41714000 Z=0.72882000 MULT= 4 ISPLIT= 8
Re: [Wien] Determine primitive cell and positions, CXZ LATTICE 15_B2/b
Peter, Thank you for your prompt reply. I apologize profusely, I failed to explain what I was trying to do. The cell was generated from an ICSD cif. There is indeed no problem with case.struct file, the neighbor distances seem fine. But I am having terrible trouble getting this to run because the ghostbands are even harder to get rid of than in the other Al-P-O-H structure. I also know that the H positions are very different from what GGA is going to give, because I had already done a VASP run for the conventional cell. I am thinking that if I relaxed the structure in VASP first, the positions would be better and it might be easier to converge the WIEN2k computation. (I am using WIEN2k even though I already have a VASP run because I am trying to compute XPS.) But to set up a VASP run, I need to figure out the correct primitive cell and the positions that go with them. That is why I am trying to convert from the conventional cell description given in case.struct to a description in terms of a primitive cell. But I do have one (or both) of those two cells wrong with respect to WIEN2k. Best regards, David -- Peter Blaha Thu, 19 Mar 2015 11:30:41 -0700 For low symmetry structures (eg. monoclinic) one can generate several unit cells which are absolutely equivalent (same volume, same number of atoms, ...) This happens with sgroup, which transforms your structure such that the monoclinic angle is less than 90. In addition the fractional coordinates have been changed austomatically. Nevertheless, these two cells will give identical neighbor-distances, which you can verify with nn and comparing the resulting outputnn files. There is nothing wrong with either your original cell or the one from sgroup. You can use either one for the calculations. If you want the conventional cell (which contains of course 2x as many atoms), you can use x supercell (1x1x1, no shifts/vacuum). It simply changes the lattice type to P, and adds the centered atoms. With this struct file, however, you cannot make the calculations unless you make these atoms non-equivalent and break symmetry, eg. by labeling one atom as Al1. What you have been trying was to express the lattice vectors/positions in carthesian coordinates. You can check your calculations again using the distances of outputnn and compare them to your own calculations. -Original Message- From: David Olmsted [mailto:olms...@berkeley.edu] Sent: Thursday, March 19, 2015 9:04 AM To: 'wien@zeus.theochem.tuwien.ac.at' Subject: Determine primitive cell and positions, CXZ LATTICE 15_B2/b Dear reader, I am trying to determine the primitive cell and positions for a case.struct file I am running. But I am not determining the either primitive cell or the conventional cell correctly. I need to either: 1. Figure out what I am doing wrong. or 2. Find a place in the code where I can print out the positions in terms of the primitive cell. Does anyone know the answer to either question? This is a base-centered monoclinic system, space group 15. From case.struct: MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 99.99 The full case.struct is given below. sgroup reports 15 (C 2/c) [unique axis c] cell choice 2. The struct file output from sgroup is: CXZ LATTICE,NONEQUIV.ATOMS: 14 15 C2/c MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 80.01 The case.struct file I am using has the 99.99 degree entry as above. In angstroms, my lattice constants (and angles in degrees) are 18.894 7.1615 7.1615 90 90 99.99 The userguide gives (on page 39) the primitive cell as: CXZ [a sin(\gamma)/2, a cos(\gamma)/2, -c/2], [0, b, 0], [a sin(\gamma)/2, acos(\gamma)/2, c/2] So I have for a primitive cell (each row is a vector): 9.3038 -1.6388 -3.5808 07.1615 0 9.3038 -1.6388 3.5808 With lengths of 10.1029 7.1615 10.1029 and angles 99.34 41.52 99.34. The positions in case.struct are given in terms of the conventional unit cell, and I must convert them to the primitive cell. So I need the conventional cell in cartesian coordinates. The README file in SRC_sgroup talks about base-centered monoclinic being restricted to A centered. Page 39 of the userguide shows only B-base-centered, which is what I have. The README gives: The vectors of the conventional cell in cartesian basis ( 1 vector is 1 column ... ) a b*Cos[gamma] 0 0 b*Sin[gamma] 0 A - centred 0 0 c This is a valid conventional cell in my case, and switching to each row being a vector, I have: 18.8940 0 -1.24235 7.0529 0 00 7.1615 However the location of the second primitive cell is (0.5, 0, 0.5) in terms of the conventional cell. When transformed to primitive cell coordinates it must be a lattice vector. But it is not. So one of my cells is wrong. (I believe the vector for the second
[Wien] Determine primitive cell and positions, CXZ LATTICE 15_B2/b
Dear reader, I am trying to determine the primitive cell and positions for a case.struct file I am running. But I am not determining the either primitive cell or the conventional cell correctly. I need to either: 1. Figure out what I am doing wrong. or 2. Find a place in the code where I can print out the positions in terms of the primitive cell. Does anyone know the answer to either question? This is a base-centered monoclinic system, space group 15. From case.struct: MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 99.99 The full case.struct is given below. sgroup reports 15 (C 2/c) [unique axis c] cell choice 2. The struct file output from sgroup is: CXZ LATTICE,NONEQUIV.ATOMS: 14 15 C2/c MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 80.01 The case.struct file I am using has the 99.99 degree entry as above. In angstroms, my lattice constants (and angles in degrees) are 18.894 7.1615 7.1615 90 90 99.99 The userguide gives (on page 39) the primitive cell as: CXZ [a sin(\gamma)/2, a cos(\gamma)/2, -c/2], [0, b, 0], [a sin(\gamma)/2, acos(\gamma)/2, c/2] So I have for a primitive cell (each row is a vector): 9.3038 -1.6388 -3.5808 07.1615 0 9.3038 -1.6388 3.5808 With lengths of 10.1029 7.1615 10.1029 and angles 99.34 41.52 99.34. The positions in case.struct are given in terms of the conventional unit cell, and I must convert them to the primitive cell. So I need the conventional cell in cartesian coordinates. The README file in SRC_sgroup talks about base-centered monoclinic being restricted to A centered. Page 39 of the userguide shows only B-base-centered, which is what I have. The README gives: The vectors of the conventional cell in cartesian basis ( 1 vector is 1 column ... ) a b*Cos[gamma] 0 0 b*Sin[gamma] 0 A - centred 0 0 c This is a valid conventional cell in my case, and switching to each row being a vector, I have: 18.8940 0 -1.24235 7.0529 0 00 7.1615 However the location of the second primitive cell is (0.5, 0, 0.5) in terms of the conventional cell. When transformed to primitive cell coordinates it must be a lattice vector. But it is not. So one of my cells is wrong. (I believe the vector for the second primitive cell is correct because it is what is given in the International Tables, page 199, for unique axis c, cell choice 2. And it matches to the neighbor positions in case.outputnn.) Quite possibly the conventional cell is different for B-centered than for A-centered, but I do not find it described anywhere. My thanks for any help. David David Olmsted Assistant Research Engineer Materials Science and Engineering 210 Hearst Memorial Mining Building University of California Berkeley, CA 94720-1760 --- case.struct troll_icsd CXZ LATTICE,NONEQUIV.ATOMS: 14 15_B2/b MODE OF CALC=RELA unit=bohr 35.704486 13.533274 13.533274 90.00 90.00 99.99 ATOM -1: X=0.16778000 Y=0.32059000 Z=0.00654000 MULT= 4 ISPLIT= 8 -1: X=0.83222000 Y=0.67941000 Z=0.99346000 -1: X=0.83222000 Y=0.17941000 Z=0.00654000 -1: X=0.16778000 Y=0.82059000 Z=0.99346000 Al NPT= 781 R0=0.0001 RMT=1.6300 Z: 13.0 LOCAL ROT MATRIX:1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000 ATOM -2: X=0.0757 Y=0.41714000 Z=0.72882000 MULT= 4 ISPLIT= 8 -2: X=0.9243 Y=0.58286000 Z=0.27118000 -2: X=0.9243 Y=0.08286000 Z=0.72882000 -2: X=0.0757 Y=0.91714000 Z=0.27118000 Al NPT= 781 R0=0.0001 RMT=1.6300 Z: 13.0 LOCAL ROT MATRIX:1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000 ATOM -3: X=0. Y=0.2500 Z=0.11731000 MULT= 2 ISPLIT= 8 -3: X=0. Y=0.7500 Z=0.88269000 P NPT= 781 R0=0.0001 RMT=1.3000 Z: 15.0 LOCAL ROT MATRIX:1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000 ATOM -4: X=0.16844000 Y=0.08109000 Z=0.63272000 MULT= 4 ISPLIT= 8 -4: X=0.83156000 Y=0.91891000 Z=0.36728000 -4: X=0.83156000 Y=0.41891000 Z=0.63272000 -4: X=0.16844000 Y=0.58109000 Z=0.36728000 P NPT= 781 R0=0.0001 RMT=1.3000 Z: 15.0 LOCAL ROT MATRIX:1.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 1.000 ATOM -5: X=0.06458000 Y=0.32611000 Z=0.98827000 MULT= 4 ISPLIT= 8 -5: X=0.93542000 Y=0.67389000 Z=0.01173000 -5: X=0.93542000 Y=0.17389000 Z=0.98827000 -5: X=0.06458000 Y=0.82611000 Z=0.01173000 O NPT=