To:ljporter cc: Subject: -------- Hi Lisa, I fixed the problem of many zero's. As you pointed out, it's because the function jacobi requires two N's. One is the usage size, the other is the memeory allocation. I put everything in /tmp/Dyn/ on mightylp. The main program is "dyn.f". It can read "config" from df.f. The only difference here with my previous program is that I changed NM, the maximum number of particles, to 250, in order to save memory. So the NM in corresponding df.f or mn.f, if you want to use their "config"s, should also be 250. The input file "con" for dyn.f is 0/1 (0: read from config. 1: construct perfect crystal) 4.29 (size of unit cell) 216 (# of particles) 0/1 (0: generate DOS for disordered cell. 1: DOS for perfect crystal) 200 (How many bins you want to devide up DOS) 20000 (How many k points you want to sample using Monte Carlo. Useless for the disordered case) After running "dyn < con". You can directly get density of states plot by running the Matlab program "DOS.m" on Matlab, both for the disordered and crystalline case. In order to get the dispersion curve, use the following "con" 0 4.29 216 1 30 100 It will very soon finish up the 100 Monte Carlo k-points. It then will always give a standardized output file "dm.out", which is used by the Matlab program "dispersion.m", and "phonon.m". So just "dyn < con", and type ">dispersion" on Matlab, you'll get the dispersion curve plot. It will have some problems printing, though. To get the frequencies of a speceific k-point, type >load dm.out >phonon ([0.1 0.2 0.3]) Li Ju.