MPToolkit(1)续 算波函数中循环体的运用

一.用 matlab 产生数组

1.利用步长取不均等坐标

  y=[-0.1:0.1:-0.2,-0.15:0.05:0.2,0.25:0.1:1.0]  (此例子为横坐标delta 的值)

2.在 matlab 中运行出来为

MPToolkit(1)续 算波函数中循环体的运用_第1张图片
加上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

注意用好量子数计算结果会更精确

你可能感兴趣的:(MPToolkit,matlab)