首页 > 解决方案 > 如何使用 python3 从大块结构构建球形纳米粒子

问题描述

问题定义:我想构建半径为 40 埃(4nm)的磁赤铁纳米粒子(γ Fe2O3)的球形纳米粒子。我有大型散装系统的 lammps 数据文件(复制:10 10 10, 160000 个原子)。我是python的初学者,但我设法在python中编写了一个代码我尝试从所有三个轴的中心删除x,y,z坐标,这不在半径距离内,但它不起作用,只有在查看之后VMD 中的输出我知道我做错了,但我不知道如何从立方体中切出一个球体,请有人帮助我。以下是我的python代码。提前致谢。

import pandas as pd
import numpy as np
df = pd.read_csv("data.supercell443.txt",sep='\t',header=None)

optdf = pd.DataFrame([])

IL = 1

xmid = df[4].max()/2
ymid = df[5].max()/2
zmid = df[6].max()/2
xallowed_less = xmid+40
xallowed_more = xmid-40
yallowed_less = ymid+40
yallowed_more = ymid-40
zallowed_more = zmid-40
zallowed_less = zmid+40
for i,j,k,l,x,y,z in df.values:
  if abs(xmid-x) = 40:
    tdf = pd.DataFrame([IL,j,k,l,x,y,z])
    optdf = optdf.append(tdf.T)
  IL+=1

使用 VMD 软件从数据文件输入图像 代码输出图像

标签: pythonlammps

解决方案


是否有必要在 Python 中执行此操作?这很容易在 LAMMPS 本身中使用“组”命令或使用现有工具(例如Atomsk )完成


推荐阅读