ThermalizeSubstrate¶
- class ThermalizeSubstrate(fuzz_factor=None)¶
Rescales the velocities of all atoms in the substrate (i.e. all atoms bonded to the fixed layer) so that the instantaneous kinetic temperature is the current thermostat temperature. This can be used between high energy events to prevent heating of the substrate.
- Parameters:
fuzz_factor (float) – The factor by which the covalent radii are multiplied to determine the cutoff distance for a bond. Default: 1.5
- 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 ThermalizeSubstrate hook function.
# 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,
std_kinetic_energy=0.3*eV,
mean_incident_angle=0*Degrees,
std_incident_angle=2*Degrees,
post_md_hooks=[ThermalizeSubstrate()],
)
surface_process_simulation.update()
The results from the simulation can be visualized using the Movie Tool on the QATK LabFloor.
See also Notes on SurfaceProcessSimulation Hooks.