24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4102  |  回复: 19
本帖产生 1 个 1ST强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

改王之王

金虫 (正式写手)


[交流] 【求助成功】vc-relax优化后的

昨天试了试vc-relax优化,但是优化后输出的结果只有cell-parameter,和晶胞体积,和原子坐标输出…………请问从中如何看出晶格常数是如何变化的…………

[ Last edited by 改王之王 on 2011-4-3 at 10:04 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ChemiAndy

木虫 (正式写手)



小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
3楼: Originally posted by souledge at 2011-04-01 14:05:40:
cell-parameter不就是晶格常数么?比如cell-parameter的单位为alat=x,则x就是晶格常数的基数,其单位为Bohr。
然后,比如cell-parameter的第一行,意义为a方向的矢量,从左到右三个数分别代表:
1->在迪卡尔 ...

请问您这个转换方法的来源是哪里?因为我在用另外一个不同的转换方法,即我认为CELL PARAMETERS下面的三行并不是cell parameters, 而是cell vectors, 比如:
CELL_PARAMETERS (alat= 19.80400009)
   0.997610862   0.000000000  -0.003022554
   0.000000000   0.596367719   0.000000000
  -0.257837471   0.000000000   1.127252205
假如上面的矩阵元素依次为
x1, y1, z1
x2, y2, z2
x3, y3, z3

那么,先做一个转化,即上面矩阵的所有元素都乘以alat,得到绝对值,然后,

A = x1^2 + y1^2 + z1^2
B = x2^2 + y2^2 + z2^2
C = x3^2 + y3^2 + z3^2

cos(alpha) = (B^2 +C^2 - |BC|^2) / 2*B*C
cos(beta)  = (A^2 +C^2 - |AC|^2) / 2*A*C
cos(gama)  = (A^2 +B^2 - |AB|^2) / 2*A*B

其中,
|AB|^2 = (x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2
|BC|^2 = (x3-x2)^2 + (y3-y2)^2 + (z3-z2)^2
|AC|^2 = (x3-x1)^2 + (y3-y1)^2 + (z3-z1)^2

这个显然跟你的算法不一样,不知道拿一个是正确的。我还没有检验,应该很简单,在excell里面很容易建立这样的转化。附件是我用Linux下的openoffice建立的转化表格。希望论坛里的朋友验证一下。
16楼2011-09-14 05:04:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ChemiAndy

木虫 (正式写手)


引用回帖:
3楼: Originally posted by souledge at 2011-04-01 14:05:40:
cell-parameter不就是晶格常数么?比如cell-parameter的单位为alat=x,则x就是晶格常数的基数,其单位为Bohr。
然后,比如cell-parameter的第一行,意义为a方向的矢量,从左到右三个数分别代表:
1->在迪卡尔 ...

请问您这个转换方法的来源是哪里?因为我在用另外一个不同的转换方法,即我认为CELL PARAMETERS下面的三行并不是cell parameters, 而是cell vectors, 比如:
CELL_PARAMETERS (alat= 19.80400009)
   0.997610862   0.000000000  -0.003022554
   0.000000000   0.596367719   0.000000000
  -0.257837471   0.000000000   1.127252205
假如上面的矩阵元素依次为
x1, y1, z1
x2, y2, z2
x3, y3, z3
如果我们把上面的每一行看成是晶胞每个边的顶点的坐标值,则很容易根据向量的长度公式和夹角公式得到晶胞参数。

即,首先做一个转化,把上面矩阵的所有元素都乘以alat,得到绝对值,然后,

A = x1^2 + y1^2 + z1^2
B = x2^2 + y2^2 + z2^2
C = x3^2 + y3^2 + z3^2

cos(alpha) = (B^2 +C^2 - |BC|^2) / 2*B*C
cos(beta)  = (A^2 +C^2 - |AC|^2) / 2*A*C
cos(gama)  = (A^2 +B^2 - |AB|^2) / 2*A*B

其中,
|AB|^2 = (x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2
|BC|^2 = (x3-x2)^2 + (y3-y2)^2 + (z3-z2)^2
|AC|^2 = (x3-x1)^2 + (y3-y1)^2 + (z3-z1)^2

求夹角alpha要做一个弧度变换,即
alpha = arccos[cos(alpha)*]

这个显然跟你的算法不一样,不知道拿一个是正确的。我还没有检验,应该很简单,在excell里面很容易建立这样的转化。附件是我分别用Microsoft Excel和Linux下的openoffice建立的转化表格。希望论坛里的朋友验证一下。[ Last edited by ChemiAndy on 2011-9-13 at 09:45 ]
17楼2011-09-14 05:05:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ChemiAndy

木虫 (正式写手)


★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
uuv2010(金币+1): 多谢分享 2011-09-24 10:49:38
引用回帖:
2楼: Originally posted by ChemiAndy at 2011-09-13 09:05:30:
请问您这个转换方法的来源是哪里?因为我在用另外一个不同的转换方法,即我认为CELL PARAMETERS下面的三行并不是cell parameters, 而是cell vectors, 比如:
CELL_PARAMETERS (alat= 19.80400009)
   0.9 ...

经验证,上面的计算方法是正确的,并且与前面说的计算方法完全等效。

验证过程是这样的,建一个输入文件,使用A/B/C/cosBC/cosAC/cosAB,然后跑pw.x,把pwscf计算的矩阵放到我的excell表格中,计算出来的A/B/C/cosBC/cosAC/cosAB与输入文件完全一致。所以上面excell表格中的转换是正确的。
18楼2011-09-24 03:07:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 改王之王 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见