一.用 matlab 产生数组
1.利用步长取不均等坐标
y=[-0.1:0.1:-0.2,-0.15:0.05:0.2,0.25:0.1:1.0] (此例子为横坐标delta 的值)
2.在 matlab 中运行出来为
加上1.0一共26个值
二.在文本文档中写循环语句
for(( i=0;i<${#array[@]};i++))
do
delta=${array[i]}
echo "===================" ${delta}
##显示输出的delta数值
mkdir -p data/${i}
##创建一个里面是26个子文件夹的data文件夹
echo ${delta} > data/${i}/delta.txt
##依次输出26个delta.txt文件
cd /home/c2019/Wen/HardCode/data/${i}
##打开到每个子文件夹
J1J2-su2_0.2 -o lattice
##在子文件夹中让二进制文件输出成lattice
mp-idmrg-s3e -w psi -H lattice:H_J1_J2 -m 10..50x20,50x100 --create -u 4
mp-idmrg-s3e -w psi -H lattice:H_J1_J2 -m 80x200
mp-idmrg-s3e -w psi -H lattice:H_J1_J2 -m 100x200
mp-idmrg-s3e -w psi -H lattice:H_J1_J2 -m 100x200 --mix-factor 1e-5
mp-idmrg-s3e -w psi -H lattice:H_J1_J2 -m 100x200 --mix-factor 1e-7
mp-idmrg-s3e -w psi -H lattice:H_J1_J2 -m 100x200 --mix-factor 0
mp-imoments psi --power 2 > output
算出基态波函数,越往下越精确
mp-imoments psi --power 2 > output
##输出最后的基态能量为output文件
done
注意用好量子数计算结果会更精确