times-software / feff10

Other
23 stars 13 forks source link

Failed to use cif file with large structure #9

Open LavendaRaphael opened 2 years ago

LavendaRaphael commented 2 years ago

Dear developers,

When I use a cif file with a larger structure as structure input, feff10 will fail with an error message (in log1.dat):

Calculating SCF potentials ...
FEFF-MPI using     1 parallel threads.
Muffin tin radii and interstitial parameters [bohr]:
 FOLP for POTENTIAL type  15 is too big.
 Reduce overlap using FOLP and rerun
MOVRLP-1

I found that the reason is that when feff processes the cif file, it generates potentials for all atoms, which in my case is pot 0 to 16. But when it converts cif to atom.dat, its default cluster radius (approximately 16.9 angstroms) is smaller than my cif unit cell parameters, so some atoms are not included in the clusters generated in atom.dat, It is the atomic type 15 in the error message. So when I commented the atom type 15 (Pt15) in the cif file, it worked well. Using webatoms to generate input files is also effective. I have attached all relevant files for reference. test.zip

version

FEFF 10.0.0 feffmpi

feff.inp

TITLE test

CIF feff.cif
TARGET 1

XANES

EGRID
e_grid -10 20 0.1

COREHOLE RPA
EDGE K

SCF 7.0

FMS 9.0 0 2

feff.cif

data_Pt.111.a2b2c8_O1_vac15
_audit_creation_date              2021-11-11
_audit_creation_method            'Materials Studio'
_symmetry_space_group_name_H-M    'P3M1'
_symmetry_Int_Tables_number       156
_symmetry_cell_setting            trigonal
loop_
_symmetry_equiv_pos_as_xyz
  x,y,z
  -y,x-y,z
  -x+y,-x,z
  -y,-x,z
  -x+y,y,z
  x,x-y,z
_cell_length_a                    5.6105
_cell_length_b                    5.6105
_cell_length_c                    36.7204
_cell_angle_alpha                 90.0000
_cell_angle_beta                  90.0000
_cell_angle_gamma                 120.0000
loop_
_atom_site_label
_atom_site_type_symbol
_atom_site_fract_x
_atom_site_fract_y
_atom_site_fract_z
_atom_site_U_iso_or_equiv
_atom_site_adp_type
_atom_site_occupancy
O1     O     0.00000   0.00000   0.04139   1.00000  Uiso   1.00
Pt2    Pt    0.00000   0.00000   0.19903   1.00000  Uiso   1.00
Pt3    Pt    0.00000   0.00000   0.38616   0.00000  Uiso   1.00
Pt4    Pt    0.66667   0.83333   0.26141   1.00000  Uiso   1.00
Pt5    Pt    0.65398   0.82699   0.07264   1.00000  Uiso   1.00
Pt6    Pt   -0.00000   0.50000   0.19903   1.00000  Uiso   1.00
Pt7    Pt    0.00000   0.50000   0.38616   0.00000  Uiso   1.00
Pt8    Pt    0.66667   0.83333   0.44854   0.00000  Uiso   1.00
Pt9    Pt    0.83425   0.16575   0.13761   1.00000  Uiso   1.00
Pt10   Pt    0.66667   0.33333   0.26141   1.00000  Uiso   1.00
Pt11   Pt    0.66667   0.33333   0.07682   1.00000  Uiso   1.00
Pt12   Pt    0.66667   0.33333   0.44854   0.00000  Uiso   1.00
Pt13   Pt    0.33333   0.66667   0.13434   1.00000  Uiso   1.00
Pt14   Pt    0.33333   0.66667   0.32378   0.00000  Uiso   1.00
Pt15   Pt    0.33333   0.66667   0.51091   0.00000  Uiso   1.00
Pt16   Pt    0.33333   0.16667   0.32378   0.00000  Uiso   1.00
LavendaRaphael commented 2 years ago

When I read the code src to find a solution, I found the following code to determine the cluster radius of cif. In RDINP/rdinp.f90 1869 line

mindist = min(dsqrt(a1(1)**2+a1(2)**2+a1(3)**2)*i1, dsqrt(a2(1)**2+a2(2)**2+a2(3)**2)*i1, dsqrt(a3(1)**2+a3(2)**2+a3(3)**2)*i1)

I don't understand why i1, i1, i1 here, and why not i1, i2, i3 like this?

mindist = min(dsqrt(a1(1)**2+a1(2)**2+a1(3)**2)*i1, dsqrt(a2(1)**2+a2(2)**2+a2(3)**2)*i2, dsqrt(a3(1)**2+a3(2)**2+a3(3)**2)*i3)

In addition, I made a small modification in rdinp.f90 to expand the cluster radius to include all atoms in one unit cell, which can temporarily solve the problem metioned above. rdinp_mod.zip