Hi,
Using xred and adding all positions for all atoms and providing typat for each atom does not result in any error but when I want to avoid adding each position of all the atoms using spgroup I get this:
There is a problem with the input file : maybe
a disagreement between the declared dimension of the array,
and the number of data actually provided.
Action: correct your input file, and especially the keywork XRED
I have tried different ways of fixing it by changing typat from 4*1 4*2 4*2 to only 1 2 2 but it doesn't help. I have tried to check input files from different tutorials and cannot understand why it doesn't work. Each atom has 4 i miultiplicity so there are 4 of each. In this test I tried MnO2 to simplify but still try to understand how the input file parameters are connected and how they should be manipulated correctly.
I attach the input file, hopefully it is something very obvious that I have missed.
This is the cif file of the MnO2:
# generated using pymatgen
data_MnO2
_symmetry_space_group_name_H-M Pnma
_cell_length_a 9.44849993
_cell_length_b 2.92155351
_cell_length_c 4.58575959
_cell_angle_alpha 90.00000000
_cell_angle_beta 90.00000000
_cell_angle_gamma 90.00000000
_symmetry_Int_Tables_number 62
_chemical_formula_structural MnO2
_chemical_formula_sum 'Mn4 O8'
_cell_volume 126.58667490
_cell_formula_units_Z 4
loop_
_symmetry_equiv_pos_site_id
_symmetry_equiv_pos_as_xyz
1 'x, y, z'
2 '-x, -y, -z'
3 '-x+1/2, -y, z+1/2'
4 'x+1/2, y, -z+1/2'
5 'x+1/2, -y+1/2, -z+1/2'
6 '-x+1/2, y+1/2, z+1/2'
7 '-x, y+1/2, -z'
8 'x, -y+1/2, z'
loop_
_atom_site_type_symbol
_atom_site_label
_atom_site_symmetry_multiplicity
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
_atom_site_occupancy
Mn Mn0 4 0.134761 0.750000 0.478910 1
O O1 4 0.036581 0.250000 0.287517 1
O O2 4 0.216024 0.250000 0.691604 1
Many thanks!
ssh77
Using spgroup correctly
Moderator: bguster
Using spgroup correctly
- Attachments
-
- testinput1.in
- (668 Bytes) Downloaded 207 times
-
- testinput1_x.in
- the "files" file written as .in to be bale to upload it
- (236 Bytes) Downloaded 207 times
Re: Using spgroup correctly
Dear ssh77,
Abinit works with the unit cell and not the asymmetric unit cell (i.e. with only minimal Wyckoff sites) such that you have to list all the atoms of the unit cell and not the asymmetric ones. Well, I guess this is your problem.
Best wishes,
Eric
Abinit works with the unit cell and not the asymmetric unit cell (i.e. with only minimal Wyckoff sites) such that you have to list all the atoms of the unit cell and not the asymmetric ones. Well, I guess this is your problem.
Best wishes,
Eric
Re: Using spgroup correctly
Dear Eric
So you mean that I have to list all atoms in the unit cell at all times? I thought the spgroup was able to use symmetry operators and construct the whole cell by providing the Wyckoff positions of the assymetric cell.
Is spgroup only used to specifically designate a space group type to the calculation and not for the generation of the unit cell?
Thanks!
ssh77
So you mean that I have to list all atoms in the unit cell at all times? I thought the spgroup was able to use symmetry operators and construct the whole cell by providing the Wyckoff positions of the assymetric cell.
Is spgroup only used to specifically designate a space group type to the calculation and not for the generation of the unit cell?
Thanks!
ssh77
Re: Using spgroup correctly
Yes, you have to list all atoms of the unit cell, Abinit does not reconstruct them from Wyckoff sites. You can use Abipy or qAgate to do it, they will build the input for you providing a cif file.
Yes, this is it, spgroup is just there to be sure you are running in a given space group such that the code will stop if it is not the case.
Best,
Eric
Re: Using spgroup correctly
Thanks!
That answers my questions.
How does one close the thread?
ssh77
That answers my questions.
How does one close the thread?
ssh77
Re: Using spgroup correctly
It is possible to use the asymmetric part of the cell (see https://docs.abinit.org/topics/SmartSymm/)
but I usually prefer to use abipy (that uses the CIF parser of pymatgen) to build the unit cell in the Abinit convention from CIF with e.g
abistruct.py convert FILE.cif
but I usually prefer to use abipy (that uses the CIF parser of pymatgen) to build the unit cell in the Abinit convention from CIF with e.g
abistruct.py convert FILE.cif