Skip to main content

kits for md or dft

Project description

MD 轨迹分析脚本

mdkits 提供了多种工具, 安装脚本:

pip install mdkits --upgrade

密度分布

density用于分析体系中的某种元素沿z轴的密度分布, 如分析体系中的O元素沿z轴的密度分布, --element选项指定元素使用MDAnalysis选择语言:

mdkits density [FILENAME] --element="name H" --cell [FILENAME]

这样会输出一个文件名为density_name_H.dat的文件, 第一列为z轴坐标, 第二列为浓度分布, 单位为 mol/L. 如果想输出为单位为 $g/cm^3$ 的密度分布, 可以指定--atomic_mass 选项, 如:

mdkits density [FILENAME] --element="name H" --cell [FILENAME] --atomic_mass=1.00784

则输出单位为 $g/cm^3$ 的密度分布. 可以指定表面原子来将密度分布归一化到表面, 如:

mdkits density [FILENAME] --element="name O" --cell 10,10,10 --atomic_mass=18.01528 --surface="name Pt and name Ru"

这样会将密度分布归一化到表面, 同时以O原子的位置作为水分子的位置分析处理水分子的密度分布. 对于体系中存在 $OH^-$ 离子的体系可以使用--update_water的选项在每一帧更新水分子的位置, 不需要额外指定元素, 如:

mdkits density [FILENAME] --update_water --cell 10,10,10 --atomic_mass=18.01528 --surface="name Pt and name Ru"

输出的文件名为density_water.dat.

氢键

单个水分子

氢键分布

角度

与表面法向量夹角分布

ion - O - ion 夹角分布

$\cos \phi \rho_{H_2 O}$ 分布

RDF

位置归一化

wrap用于将轨迹文件中的原子位置进行归一化处理, 如将[FILENAME]中的原子位置归一化到晶胞中, 并输出为wrapped.xyz, 默认从cp2k的输出文件input_inp中读取ABCALPHA_BETA_GAMMA信息作为晶胞参数:

mdkits wrap [FILENAME] 

或指定cp2k的输入文件:

mdkits wrap [FILENAME] --cp2k_input_file setting.inp

或指定晶胞参数:

mdkits wrap [FILENAME] --cell 10,10,10

默认的[FILENAME]*-pos-1.xyz

DFT 性质分析脚本

PDOS

pdos用于分析体系中的pdos, 分析[FILENAME]的d轨道的dos:

mdkits pdos [FILENAME] -t d

CUBE 文件

cube用于处理cube格式的文件, 将其在z轴上进行平均:

mdkits cube [FILENAME]

分析好的数据会输出为cube.out, 可以同时计算一个区域内的平均值:

mdkits cube [FILENAME] -b 1 2

会将平均值打印在屏幕上, 同时记录在cube.out中的注释行.

建模

build为界面的工具, 其中包含多个建模工具

构建体相模型

bulk用于构建体相模型, 如构建Ptfcc体相模型:

mdkits build_bulk Pt fcc

构建为常胞模型:

mdkits build_bulk Pt fcc --cubic

构建一个Caesium chloride结构的模型:

mdkits build_bulk CsCl cesiumchloride -a 4.123

构建一个fluorite 结构的模型:

mdkits build_bulk BaF2 fluorite -a 6.196

构建表面模型

surface用于构建常见的表面模型, 骑用法为:

mdkits build surface [ELEMENT] [SURFACE_TYPE] [SIZE]

如构建Ptfcc111表面模型:

mdkits build surface Pt fcc111 2 2 3 --vacuum 15

构建石墨烯表面:

mdkits build surface C2 graphene 3 3 1 --vacuum 15

其他

轨迹提取

extract用于提取轨迹文件中的特定的帧, 如从frames.xyz中提取第 1000 帧到第 2000 帧的轨迹文件, 并输出为1000-2000.xyz, -r选项的参数与Python的切片语法一致:

mdkits extract frames.xyz -r 1000:2000 -o 1000-2000.xyz

或从cp2k的默认输出的轨迹文件*-pos-1.xyz文件中提取最后一帧输出为extracted.xyz(extract的默认行为):

mdkits extract

或每50帧输出一个结构到./coord目录中, 同时调整输出格式为cp2k@INCLUDE coord.xyz的形式:

mdkits extract -cr ::50

结构文件转换

convert用于将结构文件从一种格式转换为另一种格式, 如将structure.xyz转换为out.cif(默认文件名为out), 对于不储存周期性边界条件的文件, 可以使用--cell选项指定PBC:

mdkits convert -c structure.xyz --cell 10,10,10

structure.cif转换为POSCAR:

mdkits convert -v structure.cif

structure.cif转换为structure_xyz.xyz:

mdkits convert -c structure.cif -o structure_xyz

数据处理

data用于对数据进行处理如:

  1. --nor: 对数据进行归一化处理
  2. --gaus: 对数据进行高斯过滤
  3. --fold: 堆数据进行折叠平均
  4. --err: 计算数据的误差棒

绘图工具

plot用于绘制数据图, plot需要读取yaml格式的配置文件进行绘图, yaml文件的形式如下:

# plot mode 1
figure1:
  data:
    legend1: ./data1.dat
    legend2: ./data2.dat
  x:
    0: x-axis
  y:
    1: y-axis
  x_range: 
    - 5
    - 15

# plot mode 2
figure2:
  data:
    y-xais: ./data.dat
  x:
    0: x-axis
  y:
    1: legend1
    2: legend2
    3: legend3
    4: legend4
    5: legend5
  y_range:
    - 0.5
    - 6
  legend_fontsize: 12

# plot mode error
12_dp_e_error:
  data:
    legend: ./error.dat
  x:
    0: x-axis
  y:
    1: y-axis
  fold: dp
  legend_fontsize: 12

如上plot支持三种绘图模式, mode 1, mode 2mode error. mode 1用于绘制多组数据文件的同一列数据对比, mode 2用于绘制同一数据文件的不同列数据对比, mode error用于绘制均方根误差图.

plot可以同时处理多个yaml文件, 每个yaml文件可以包含多个绘图配置, mode 1mode 2的绘图配置可以自动识别, 但是error模式需要而外指定, 如:

mdkits plot *.yaml

和:

mdkits plot *.yaml --error

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mdkits-0.1.21.tar.gz (28.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mdkits-0.1.21-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

Details for the file mdkits-0.1.21.tar.gz.

File metadata

  • Download URL: mdkits-0.1.21.tar.gz
  • Upload date:
  • Size: 28.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.11.9 Windows/10

File hashes

Hashes for mdkits-0.1.21.tar.gz
Algorithm Hash digest
SHA256 0e6eafae9528ad5e0444fb09f2a6e9773d892b7259f252ba5e4511ffe7374d78
MD5 940b95e3ee21c228ac9d76841ced0452
BLAKE2b-256 b336c47ffa29fc5d0fe9eae70b0edb84274302eba9b273319aa22ac323406728

See more details on using hashes here.

File details

Details for the file mdkits-0.1.21-py3-none-any.whl.

File metadata

  • Download URL: mdkits-0.1.21-py3-none-any.whl
  • Upload date:
  • Size: 40.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.11.9 Windows/10

File hashes

Hashes for mdkits-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 e28f7db84148e00153cbf4790ae736592b5245175c62132ccbc5c19126750b87
MD5 ebe2fc33904b29fb3d572bfc38324d5e
BLAKE2b-256 b8b33967548dd23229ad44c2bf0a31e3b48ed0ffa98ba481782fc1afd0a1560b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page