python - 如何使用 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
解决方案
是否有必要在 Python 中执行此操作?这很容易在 LAMMPS 本身中使用“组”命令或使用现有工具(例如Atomsk )完成。
推荐阅读
- javascript - 如何在 FullCalendar 的每一行之前添加自定义 HTML?
- php - PhpUnit 无权访问公共目录
- html - 隐藏网格列,其余列重新分配
- angular - 是否可以根据条件从抽象模型中忽略/替换验证器?
- c++ - 通过基类指针进行奇怪的模板类转换
- javascript - 更改悬停点上标记的颜色 - Highcharts
- html - 我们与 AdSense html 代码有什么关系
- java - 如何在 JPA 中编写动态 sql 查询以从 jsonb 列中查询数据?
- java - Codemagic 错误 无效的加密密钥 - 加密的变量仅适用于创建它们的同一团队中的构建
- angular - Angular 应用程序中的重定向不起作用