简化以方便阅读。

结构优化文件准备

  1. cif 文件按 ms_castep 命名(或者其他不带空格简单名字);
  2. 选中全部原子,CASTEP Calculation 设置参数,[Setup] Task: Geometry Optimization , Quality: Ultra-fine , Functional: LDA, CA-PZ , More → Max.iterations 500 ,(默认的100可能不够) Optimize cell yes ; (优化晶格)[Electronic] More → Use custom energy cutoff 400 or others , k-points → Cusom grid parameters yes ,Grid parameters 4,2,4 or others  ;[Propweties] Population analysis yes ; [Job Ctrol] Run in parallel on 8 or max (本地跑才需要设置这个) . Files → yes ;
  3. 在~Files→Documents→~CASTEP GeomOpt 复制 ~.cell~.param 文件到新文件夹 ~GeomOpt 同时复制 RunGeneral.sh & subGeneral 到其中;
  4. 设置 subGeneralppn=? 即是计算使用核数;
  5. 打开~.cell 找到 %BLOCK SPECIES POT 中的 ~.usp 部分,在 Material Studio 安装目录路径 C:\Program Files (x86)\Accelrys\Materials Studio 8.0\share\Resources\Quantum\Castep\Potentials\ 中复制所有需要的 到刚才的 ~GeomOpt 中(已经证明非比要,超算会自动加相应的 usp 赝势文件),至此结构优化文件准备已经完成。

超算部分 _结构优化

  1. 需要使用的步骤,dos2unix subGeneral RunGeneral.sh 转换步骤,chmod +x subGeneral RunGeneral.sh (只有使用 windows 提交的才需要这些),可以使用 Tab 自动填充,qsub subGeneral 提交任务, qstat 开始任务, bqueues 查看所有运行、请求与剩余的核数,qdel 任务ID号 结束任务;
  2. 下次在 qstat 无显示表示已经算完,但不知是否正常算完。$JOBNAME.o$JOBID 标准输出,$JOBNAME.e$JOBID 标准错误输出(直接看 .castep 文件最准确)。

计算弹性常数

  1. 下载除 ~.check 外的其他文件(.usp .pid 也不需要),复制粘贴并替换本地计算目录~GeomOpt ,在MS 中刷新refresh STP。
  2. 打开~.xsd 文件,选送全部原子,CASTEP AnalysisStructureUpadte ;取消原子选中,CASTEP Calculation →Task Elastic ConstantsFiles ,Save。
  3. 根据右侧显示的~.param ms_castep_cij__ii__jj.param 修改subGeneral_cij.cij 中的循环次数,比最大的数大1。
  4. 复制文件到ms_castep_Cij ,所有原 Cij文件夹里面的 ~.cel ~.param 文件,以及~GeomOpt 里面的  ~.usp ~.sh ,以及刚才修改的subGeneral_cij.cij
  5. 提交ms_castep_Cij到远程,进入该目录,不要使用空格以及括号,否者出现 路径需要使用 \ 转义  ,chmod +x subGeneral_cij.cij RunGeneral.sh  以及 dos2unix subGeneral_cij.cij RunGeneral.shls 这两出现绿色(或其他)表示已经转码了(使用 ll 看有无执行权限 x 即可),qsub subGeneral_cij.cij 提交任务,qstat 开始任务。

数据处理部分

  1. 同样,下载除 ~.check 外的其他文件,覆盖到原本地目录,找到并打开ma_castep.castep 文件,也就是总的计算结果。
  2. 使用CASTEP AnalysisElastic constantsCalculate
  3. 右侧生成 ma_castep Elastic Contants.txt 文件包含计算得到的弹性常数等信息。
  4. 复制其中的Elastic Stiffness Constants Cij 矩阵到计算用的matlab程序包data内。

使用 Matlab 进一步计算

  1. 导入数据,Input.m 运行[F9] ,ElasticConst3D.m  ElasticConst2D.m  Plot 画图,YoungsModulus.m 计算 Youngs Modulus。
  2. 具体见 >  User’s Guide for ElasticConst 。

在线计算:

http://progs.coudert.name/elate

关于MS 的一些笔记

在计算弹性常数之前并不一定要进行几何优化,可以由实验观测到的结构计算出Cij数据。尽管如此,如果我们完成晶胞的几何优化,可以获得更多相容的结果,进而计算与理论基态对应的弹性常数。

弹性常数的精确度,尤其是切变常数的精确度,主要取决于SCF计算的品质,特别是布里渊区取样和波函数收敛程度的品质。所以我们设置SCF、k点取样和FFT格子的精度为Fine。

CASTEP的弹性常数计算任务的结果以一批.castep输出文件的形式给出。这些文件中的每一个文件都代表确定的晶胞在假设的应变模式和应变振幅下的几何优化运行结果。这些文件的命名约定为:seedname_cij__m__n。对于给定的模式来说,m代表当前的应变模式,n代表当前的应变振幅。 CASTEP可以使用这些结果来分析每一个运行计算出来的压力张量,产生一个有关弹性性质的文件。Modules | CASTEP | Analysis | Elastic constants —-> sedname Elastic Constants.txt

1
2
3
4
5
6
7
此 `txt` 文档中的信息包括:

* 输入的应变和计算出的应力的总结
* 每一种应变模式线性拟合和拟合质量的计算结果
* 给定对称性下计算出的应力与弹性常数之间的对应
* 弹性常数Cij和弹性柔量Sij的表格
* 导出量:体积模量和其倒数、压缩系数、杨氏模量、Poisson比、 Lame 常数(用于模拟各向同性介质) 

完整原版教程: 下载

2017-12-14 更新

MS 如果不幸遇到下面的错误提示,

materials-studio-super-1.jpg

原因是: 文件路径中使用了中文字符所致

解决办法: 使用非中文路径。

2018-03-14 更新

更新部分描述。