I’m using fitfc to calculate vibrational properties and it generates 190 perturbations in total. VASP relaxations for these perturbations show no problem. The postprocessing (step 4 in your instruction: fitfc -f -fr) however returns ‘nan’ in the ‘svib_ht’ file and an empty ‘vdos.out’.
If I delete most of the perturbations but leave the first 60 (from index +/- 0 to +/- 29), I got a non-empty ‘vdos.out’ file with frequencies in it.
I wonder if there is a limited number of perturbation that fitfc could handle? Could you please help?
There is no fixed limit of perturbation. Dropping some perturbations is probably not a real solution (you must have many zero frequencies now).
I suspect the issue is that the equation matrix is ill-conditioned (hard to invert) and that causes numerical problems. You can try
reduce the -fr=… option (i.e. fit fewer springs)
try the -cs option (this removes nearly colinear lines in the eqn matrix, but is quite slow) This was the default in versions before 3.15
try a better linear algebra solver. As of version 3.15 you can use lapack. Uncomment the lines
#LDLIBS=-lm -lgomp -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core
#CXXFLAGS=$(PATCHCXXFLAGS) -O3 -DATATUSELAPACK
in the atat/src/makefile and comment the lines staring with LDLIBS and CXXFLAGS
(you may need to edit the libs for your system)
This will also be a lot faster when you get it to compile on your system.
Hello
Rencently I was learn to use the fitfc. but when i use it no matter I use the composite or the pure metal. i only got one perturbation file in each strained volumes files. I enlarged the er number, there is still no change. Can you help me and tell me how did you got he 29 paertrbation files? Ionly have the +/- 0 .
Thank you very much!
Yasmina