跳转到主要内容

PySRIM的抽象执行器

项目描述

pysrim-docker

pypi-badge

PySRIM的Docker执行器

入门指南

要使用此包,只需删除对SRTRIMrun()方法的调用,并用执行器的run调度方法调用替换,例如:

from srim.executor import DockerExecutor
from srim import TRIM

executor = DockerExecutor()

trim = TRIM(...)
result = executor.run(trim)

默认情况下,DockerExecutor使用costrouc/srim Docker镜像,并将输入和输出文件写入临时目录。

示例

from srim.executor import DockerExecutor
from srim import Ion, Layer, Target, TRIM

from matplotlib import pyplot as plt

# Construct a 3MeV Nickel ion
ion = Ion('Ni', energy=3.0e6)

# Construct a layer of nick 20um thick with a displacement energy of 30 eV
layer = Layer({
        'Ni': {
            'stoich': 1.0,
            'E_d': 30.0,
            'lattice': 0.0,
            'surface': 3.0
        }}, density=8.9, width=20000.0)

# Construct a target of a single layer of Nickel
target = Target([layer])

# Initialize a TRIM calculation with given target and ion for 25 ions, quick calculation
trim = TRIM(target, ion, number_ions=25, calculation=1)

# Create executor and run TRIM
executor = DockerExecutor()
result = executor.run(trim)

# Pull out ionization
ioniz = result.ioniz

# Plot results
_, ax = plt.subplots()
ax.plot(ioniz.depth, ioniz.ions, label='Ionization from Ions')
ax.plot(ioniz.depth, ioniz.recoils, label='Ionization from Recoils')
plt.show()

为什么?

SRIM可以通过多种方式调用以运行模拟。类Unix操作系统用户可以选择使用带有或不带有xvfbwine。Windows用户可以直接调用二进制文件。Docker用户可以选择使用预先构建的SRIM容器。

通过将执行器从SRIM输入文件生成中抽象出来,可以轻松地交换或扩展执行器。

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪一个,请了解有关安装包的更多信息。

源代码分发

pysrim-executor-0.1.0.tar.gz (5.3 kB 查看哈希)

上传时间:

构建分发

pysrim_executor-0.1.0-py3-none-any.whl (6.2 kB 查看哈希)

上传于 Python 3

支持者