Abstracted executor for PySRIM
Project description
pysrim-docker
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pysrim-executor-0.1.0.tar.gz
.
File metadata
- Download URL: pysrim-executor-0.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.8.5 Linux/5.8.0-44-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0578bea71d3444313706f8ad23e6ae0830b79931c323d84017112dbcc25c1997 |
|
MD5 | af85316acf7913e874606ad8c4090bb8 |
|
BLAKE2b-256 | 014715e6af6f01d7fbfb3d4ff77a039db506b9546501df17dac6744959a568ce |
File details
Details for the file pysrim_executor-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: pysrim_executor-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.8.5 Linux/5.8.0-44-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b6b17913c45b1447c60301acbe8ac76fb7a31a8c4e80c1d2c357695bd30cb11 |
|
MD5 | 883c7694d6ceed7fa1f4321fbbae4f4a |
|
BLAKE2b-256 | e4b09193d61e3824778a5f58ac31f165df8de0a382bac38cff5c98ec8ce2687e |