Using spgroup correctly

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
ssh77
Posts: 23
Joined: Fri May 22, 2020 6:00 pm

Using spgroup correctly

Post by ssh77 » Fri Jun 05, 2020 5:58 pm

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
Attachments
testinput1.in
(668 Bytes) Downloaded 167 times
testinput1_x.in
the "files" file written as .in to be bale to upload it
(236 Bytes) Downloaded 167 times

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

Re: Using spgroup correctly

Post by ebousquet » Mon Jun 08, 2020 9:36 am

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

ssh77
Posts: 23
Joined: Fri May 22, 2020 6:00 pm

Re: Using spgroup correctly

Post by ssh77 » Mon Jun 08, 2020 2:06 pm

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

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

Re: Using spgroup correctly

Post by ebousquet » Wed Jun 10, 2020 8:32 am

ssh77 wrote:
Mon Jun 08, 2020 2:06 pm
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.
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.
ssh77 wrote:
Mon Jun 08, 2020 2:06 pm
Is spgroup only used to specifically designate a space group type to the calculation and not for the generation of the unit cell?
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

ssh77
Posts: 23
Joined: Fri May 22, 2020 6:00 pm

Re: Using spgroup correctly

Post by ssh77 » Fri Jun 12, 2020 12:27 pm

Thanks!
That answers my questions.
How does one close the thread?
ssh77

User avatar
gmatteo
Posts: 291
Joined: Sun Aug 16, 2009 5:40 pm

Re: Using spgroup correctly

Post by gmatteo » Fri Jun 19, 2020 4:35 am

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

Locked