如何使用python3从大体积结构构建球形纳米颗粒

2024-04-26 22:14:02 发布

您现在位置:Python中文网/ 问答频道 /正文

问题定义:我想构建半径为40埃(4nm)的磁赤铁矿纳米颗粒(γFe2O3)球形纳米颗粒。我有大批量系统的lammps数据文件(复制:101600000个原子)。我是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

Input image from data file using VMD softwareOutput image of code


Tags: 代码importdfmore半径maxilpd