Components#
List of all available components.
- class pysimtra.components.chamber.Chamber(shape, length, temperature, pressure, gas_element, radius=None, height=None, width=None, seed_number=None, chamber_walls_grid=(10, 10, 10, 180), save_deposition_walls=None, save_individual_data=False)#
- Parameters:
shape (str) – shape of the chamber, either “cuboid” or “cylinder”
length (float) – length of the chamber in m (z-direction)
temperature (float) – temperature of the chamber in K
pressure (float) – pressure of the chamber in Pa
gas_element (str) – gas element of the chamber, only noble gases
radius (float) – radius of the chamber in m, only needed when chamber is a cylinder
height (float) – height of the chamber in m (x-direction), only needed when chamber is a cuboid
width (float) – width of the chamber in m (y-direction), only needed when chamber is a cuboid
seed_number (int) – number defining the random state of SIMTRA. By default, a random number will be chosen
chamber_walls_grid (tuple)
save_deposition_walls (list[int])
save_individual_data (bool)
- classmethod cylindrical(radius, length, temperature=293.15, pressure=1.0, gas_element='Ar', seed_number=None)#
Creates a cylindrical sputter chamber from a given radius and height.
- Parameters:
radius (float) – radius of the cylinder in meters
length (float) – length of the cylinder in meters
temperature (float) – temperature of the gas in Kelvin, default is 283.15 K
pressure (float) – pressure of the gas in Pa, default is 1 Pa
gas_element (str) – sputter gas, defaults to Ar
seed_number (int) – number defining the random state of Simtra. By default, a random number will be chosen.
- classmethod rectangular(height, width, length, temperature=293.15, pressure=1.0, gas_element='Ar', seed_number=None)#
Creates a cylindrical sputtering chamber from a given radius and height.
- Parameters:
height (float) – height of the rectangle (in x direction) in meters
width (float) – width of the rectangle (in y direction) in meters
length (float) – length of the rectangle (in z direction) in meters
temperature (float) – temperature of the gas in Kelvin, default is 283.15 K
pressure (float) – pressure of the gas in Pa, default is 1 Pa
gas_element (str) – sputter gas given by the standard periodic table symbol or name, defaults to Ar
seed_number (int) – number defining the random state of Simtra. By default, a random number will be chosen.
- Returns:
Chamber object
- classmethod from_file(path)#
Creates a Chamber object from a given “.sin” file. Only the top section “chamber” of the file will be parsed.
- Parameters:
path (Path | str) – path to the simtra input file with ending “.sin”
- Returns:
Chamber object
- set_seed_number(seed=None)#
Sets the seed number of the class either randomly or to the specified number.
- Parameters:
seed (int) – seed number between 1 and 10000
- class pysimtra.components.magnetron.Magnetron(transported_element, m_object, racetrack_file_path, n_particles=100000, save_every_n_particles=0, sputter_surface_index=1, racetrack_type='axialsymmetric', racetrack_t0=0, racetrack_row_res=None, racetrack_col_res=None, angular_distribution='User', cosine_coefficients=(0, 1, 0, 0, 0, 0), energy_distribution='Thompson', max_ion_energy=None, surface_binding_energy=None, with_gas_motion=True, go_to_diffusion=True, interaction_potential='screenedCoulomb', screening_function='Moliere', scattering_table_path=None, srim_file_path=None, srim_type=None, source_type='planarTarget')#
- Parameters:
transported_element (str | None) – element to be sputtered
m_object (DummyObject) – DummyObject representing the geometry of the magnetron
racetrack_file_path (Path) – path to the racetrack file; is used to estimate the position distribution
n_particles (int) – number of particles to simulate, defaults to 10 ** 5
save_every_n_particles (int) – defaults to zero which means the data is only saved after the simulation is done
sputter_surface_index (int) – index of the surface from which to simulate the launch of the sputtered particles, begins at 1
racetrack_type (str) – type of the racetrack, either “axialsymmetric”, “profilometry” or “rotatable”
racetrack_t0 (int)
racetrack_row_res (int) – row resolution for the racetrack in case “profilometry” is selected as racetrack type
racetrack_col_res (int) – column resolution for the racetrack in case “profilometry” is selected
angular_distribution (str) – either “User” or “SRIM”
cosine_coefficients (tuple[float, ...]) – cosine coefficients used when the angular distribution is “User”
energy_distribution (str) – either “Thompson” or “SRIM”
max_ion_energy (float) – maximum ion energy of the sputtered element, only needed when energy distribution is “Thompson”
surface_binding_energy (float) – surface binding energy of the sputtered element
with_gas_motion (bool) – whether the transport should be modelled with gas motion
go_to_diffusion (bool) – whether the transport should be modelled with diffusion
interaction_potential (str) – either “screenedCoulomb” or “specified”
screening_function (str) – screening function when “screenedCoulomb” is selected as the interaction potential. Either “Moliere”, “Kr-C”, “Lenz-Jensen” or “ZBL”
scattering_table_path (str) – path to the scattering table
srim_file_path (str) – path to the SRIM file, only used when SRIM is used as angular or energy distribution
srim_type (str) – type of SRIM file, either “sputtered” or “backscattered”, only used when SRIM is used as angular or energy distribution
source_type (str) – “planarTarget” most often
- classmethod from_file(path)#
Creates a Magnetron object from a given “.smo” file or “.sin” file. In case of a “.sin” file, only the “Source” section will be parsed.
- Parameters:
path (str | Path) – path to the simtra magnetron object file with ending “.smo” or the simtra input file “.sin”
- Returns:
Magnetron object
- to_smo(path)#
Stores the magnetron object as a Simtra magnetron object file (with file ending “.smo”).
- Parameters:
path (str | Path) – path at which the simtra magnetron object “.smo” should be stored
- Returns:
- Return type:
None
- class pysimtra.components.dummy_object.DummyObject(name, surfaces, position=(0, 0, 0), orientation=(0, 0, 0))#
- Parameters:
name (str) – name of the dummy object
surfaces (list[Surface]) – list of Surface objects which make up the dummy object
position (tuple) – position (x, y, z) in m
orientation (tuple) – orientation (phi, theta, psi) in °
- classmethod from_file(path)#
Creates a dummy object from a given “.sdo” file.
- Parameters:
path (Path | str) – path to the dummy object file with ending “.sdo”
- Returns:
dummy Object
- to_sdo(path)#
Stores the dummy object as a simtra dummy object file (with file ending “.sdo”).
- Parameters:
path (str | Path) – path at which the simtra magnetron object “.sdo” should be stored
- Returns:
- Return type:
None