Skip to main content

pysrim-docker

pypi-badge

Docker executor for PySRIM

Getting Started

To use this package, simply remove calls to run() method of SR and TRIM, and replace them with a call to the executor run dispatch method, e.g.:

from srim.executor import DockerExecutor
from srim import TRIM

executor = DockerExecutor()

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

Out of the box, the DockerExecutor uses the costrouc/srim Docker image, and writes the input and output files to a temporary directory.

Example

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()

Why?

There are a number of different ways that SRIM can be invoked to run simulations. Unix-like OS users have the option of using wine with or without xvfb. Windows users can directly call the binaries. Docker users can choose to defer to a pre-built SRIM container.

By abstracting the executor from the SRIM input file generation, executors can easily be swapped in and out, or extended as necessary.

Release files for pysrim-executor 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pysrim-executor 0.1.0
File Size Uploaded
pysrim-executor-0.1.0.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pysrim-executor 0.1.0
File Interpreter ABI Platform
pysrim_executor-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.4 kB

Release files / pysrim-executor-0.1.0.tar.gz

Download URL pysrim-executor-0.1.0.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0578bea71d3444313706f8ad23e6ae0830b79931c323d84017112dbcc25c1997
BLAKE2b-256 checksum
How to use checksums
014715e6af6f01d7fbfb3d4ff77a039db506b9546501df17dac6744959a568ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.8.5 Linux/5.8.0-44-generic

Release files / pysrim_executor-0.1.0-py3-none-any.whl

Download URL pysrim_executor-0.1.0-py3-none-any.whl
Size 6.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0b6b17913c45b1447c60301acbe8ac76fb7a31a8c4e80c1d2c357695bd30cb11
BLAKE2b-256 checksum
How to use checksums
e4b09193d61e3824778a5f58ac31f165df8de0a382bac38cff5c98ec8ce2687e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.4 CPython/3.8.5 Linux/5.8.0-44-generic

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page