Matrix inversion failed in EEM/QEq

I am trying to compute partial charges of a cubic CdS crystal using GULP. I am getting the warnings followed by an errors:
WARNING : The irreducible atom 2 is equivalent to atom 1
WARNING : The irreducible atom 3 is equivalent to atom 1
WARNING : The irreducible atom 4 is equivalent to atom 1
WARNING : The irreducible atom 6 is equivalent to atom 2
…
ERROR : matrix inversion failed in EEM/QEq

I shall be highly obliged if someone tells me the remedy to solve that.
My input file

efg pot eem bond
cell
5.89 5.89 5.89 90 90 90
fractional 8
Cd 0 0 0
Cd 0 0.5 0.5
Cd 0.5 0 0.5
Cd 0.5 0.5 0
S 0.25 0.25 0.25
S 0.75 0.75 0.25
S 0.75 0.25 0.75
S 0.25 0.75 0.75
space
216

Thank you…

If you use space group symmetry you only need to provide the asymmetric unit, not the full set of coordinates for the whole cell, otherwise the symmetry-generated atoms will duplicate those that you’ve already input.

1 Like

Sir I followed your suggestion and tried, but this error keeps on popping up. This time I have taken the coordinates of Cd and S of asymmetric points from .cif file.

efg pot eem bond
cell
5.818 5.818 5.818 90.000 90.000 90.000
fractional
Cd 0.00000 0.00000 0.00000
S 0.25000 0.25000 0.25000
space
F -4 3 m

!! ERROR : matrix inversion failed in EEM/QEq

Now, the warnings are not appearing. Only this matrix inversion error is popping up. I am attaching the cif file I am using as well.

data_global
chemical_name_mineral β€˜Hawleyite’
loop

_publ_author_name
β€˜Traill R J’
β€˜Boyle R W’
_journal_name_full β€˜American Mineralogist’
_journal_volume 40
_journal_year 1955
_journal_page_first 555
_journal_page_last 559
_publ_section_title
;
Hawleyite, isometric cadmium sulphide, a new mineral
;
_database_code_amcsd 0000070
_chemical_formula_sum β€˜Cd S’
_cell_length_a 5.818
_cell_length_b 5.818
_cell_length_c 5.818
_cell_angle_alpha 90
_cell_angle_beta 90
_cell_angle_gamma 90
_cell_volume 196.934
_exptl_crystal_density_diffrn 4.873
symmetry_space_group_name_H-M β€˜F -4 3 m’
loop

space_group_symop_operation_xyz
β€˜x,y,z’
β€˜x,1/2+y,1/2+z’
β€˜1/2+x,y,1/2+z’
β€˜1/2+x,1/2+y,z’
β€˜-z,x,-y’
β€˜-z,1/2+x,1/2-y’
β€˜1/2-z,x,1/2-y’
β€˜1/2-z,1/2+x,-y’
β€˜-y,z,-x’
β€˜-y,1/2+z,1/2-x’
β€˜1/2-y,z,1/2-x’
β€˜1/2-y,1/2+z,-x’
β€˜-x,y,-z’
β€˜-x,1/2+y,1/2-z’
β€˜1/2-x,y,1/2-z’
β€˜1/2-x,1/2+y,-z’
β€˜x,-z,-y’
β€˜x,1/2-z,1/2-y’
β€˜1/2+x,-z,1/2-y’
β€˜1/2+x,1/2-z,-y’
β€˜z,-y,-x’
β€˜z,1/2-y,1/2-x’
β€˜1/2+z,-y,1/2-x’
β€˜1/2+z,1/2-y,-x’
β€˜y,-x,-z’
β€˜y,1/2-x,1/2-z’
β€˜1/2+y,-x,1/2-z’
β€˜1/2+y,1/2-x,-z’
β€˜x,z,y’
β€˜x,1/2+z,1/2+y’
β€˜1/2+x,z,1/2+y’
β€˜1/2+x,1/2+z,y’
β€˜z,y,x’
β€˜z,1/2+y,1/2+x’
β€˜1/2+z,y,1/2+x’
β€˜1/2+z,1/2+y,x’
β€˜y,x,z’
β€˜y,1/2+x,1/2+z’
β€˜1/2+y,x,1/2+z’
β€˜1/2+y,1/2+x,z’
β€˜-z,-x,y’
β€˜-z,1/2-x,1/2+y’
β€˜1/2-z,-x,1/2+y’
β€˜1/2-z,1/2-x,y’
β€˜-y,-z,x’
β€˜-y,1/2-z,1/2+x’
β€˜1/2-y,-z,1/2+x’
β€˜1/2-y,1/2-z,x’
β€˜-x,-y,z’
β€˜-x,1/2-y,1/2+z’
β€˜1/2-x,-y,1/2+z’
β€˜1/2-x,1/2-y,z’
β€˜z,-x,-y’
β€˜z,1/2-x,1/2-y’
β€˜1/2+z,-x,1/2-y’
β€˜1/2+z,1/2-x,-y’
β€˜y,-z,-x’
β€˜y,1/2-z,1/2-x’
β€˜1/2+y,-z,1/2-x’
β€˜1/2+y,1/2-z,-x’
β€˜x,-y,-z’
β€˜x,1/2-y,1/2-z’
β€˜1/2+x,-y,1/2-z’
β€˜1/2+x,1/2-y,-z’
β€˜-x,z,-y’
β€˜-x,1/2+z,1/2-y’
β€˜1/2-x,z,1/2-y’
β€˜1/2-x,1/2+z,-y’
β€˜-z,y,-x’
β€˜-z,1/2+y,1/2-x’
β€˜1/2-z,y,1/2-x’
β€˜1/2-z,1/2+y,-x’
β€˜-y,x,-z’
β€˜-y,1/2+x,1/2-z’
β€˜1/2-y,x,1/2-z’
β€˜1/2-y,1/2+x,-z’
β€˜-x,-z,y’
β€˜-x,1/2-z,1/2+y’
β€˜1/2-x,-z,1/2+y’
β€˜1/2-x,1/2-z,y’
β€˜-z,-y,x’
β€˜-z,1/2-y,1/2+x’
β€˜1/2-z,-y,1/2+x’
β€˜1/2-z,1/2-y,x’
β€˜-y,-x,z’
β€˜-y,1/2-x,1/2+z’
β€˜1/2-y,-x,1/2+z’
β€˜1/2-y,1/2-x,z’
β€˜z,x,y’
β€˜z,1/2+x,1/2+y’
β€˜1/2+z,x,1/2+y’
β€˜1/2+z,1/2+x,y’
β€˜y,z,x’
β€˜y,1/2+z,1/2+x’
β€˜1/2+y,z,1/2+x’
β€˜1/2+y,1/2+z,x’
loop

_atom_site_label
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
Cd 0.00000 0.00000 0.00000
S 0.25000 0.25000 0.25000

Did you read the documentation for the eem keyword in the help text that says:

β€œOnly available for H, C, N, O, F, Si, Al and P”

The error is therefore likely to be because you didn’t input any parameters for Cd and S & so you have a null matrix.

1 Like

Yes sir, I got it now…
Thank you very much…

I have tried with qeq after reading the documentation, it’s running fine.