RemoveElementFromSubstrate

class RemoveElementFromSubstrate(element, only_fixed_layer=False)

Removes the specified element from the configuration at the end of the molecular dynamics simulation. This can be used to remove ions after a sputtering event. By default atoms of the specified element is removed from the substrate except in the fixed layer. There is an option to remove atoms only from the fixed layer.

Parameters:
  • element (PeriodicTableElement) – The element that should be removed.

  • only_fixed_layer (bool) – Remove atoms only from the fixed layer.

uniqueString()

Return a unique string representing the state of the object.

Usage Examples

Run an etching simulation of nitrogen on a silica surface using a ReaxFF potential, with an additional RemoveElementFromSubstrate hook function after each event which removes excess nitrogen.

# Attach ReaxFF calculator.
potentialSet = ReaxFF_CHONSSi_2012(strict_bondpairs = None)
calculator = TremoloXCalculator(parameters=potentialSet)
calculator.setVerletListsDelta(0.25*Angstrom)
bulk_configuration.setCalculator(calculator)

surface_process_simulation = SurfaceProcessSimulation(
    substrate=bulk_configuration,
    filename='sio2_n_etching.hdf5',
    object_id='sps_0',
    random_seed=7,
    temperature=300.0*Kelvin,
    fixed_thickness=4.0*Angstrom,
    thermostat_thickness=8*Angstrom,
    log_interval=10,
)

# Run 5 deposition events, each 20 ps long.
surface_process_simulation.addSequence(
    molecule=Nitrogen,
    number_of_events=5,
    md_time=20*ps,
    time_step=1.0*fs,
    mean_kinetic_energy=25*eV,
    mean_incident_angle=0*Degrees,
    std_kinetic_energy=0.3*eV,
    std_incident_angle=2*Degrees,
    post_md_hooks=[RemoveElementFromSubstrate(Nitrogen)],
)

surface_process_simulation.update()

sio2_n_etching.py

The results from the simulation can be visualized using the Movie Tool on the QATK LabFloor.

See also Notes on SurfaceProcessSimulation Hooks.