Simulation of the oxidation of Fe-Cr-Al surfaces using semiclassical methods
This simulation uses a discrete Monte Carlo optimization algorithm to find the minimum energy configuration for atoms in a BCC Fe-Cr-Al alloy that interacts with oxygen.
- Python (version 3.6)
- Atomic Simulation Environment (ASE) (version 3.15)
- Matplotlib (version 2.1)
The simulation is run using the
sim_controller.py script which is controlled using the command line and configuration files.
Example configuration files with various parameters for concentrations, system energies and simulation lengths are stored in the config directory.
During the simulation the state of the atoms is written into .xyz files and concentration profiles. Example outputs can be downloaded from https://seafile.utu.fi/d/00ec4f4d95954d1d95f4/. .xyz files can be read with many visualization programs, such as Ovito. The energy of the system is calculated from simple potentials between the different elements. After the simulation a report file is created and figures are drawn. Optionally, figures from multiple simulations can be combined using the vis.py script.
sim_controller.py takes config files as arguments and uses classes from the other files to make the simulation.
It contains the
ase_sim.py contains the
AseSim class which creates the lattice and runs the dynamics.
sajuhak_sim.py contains the classes
KokkoPotential for excecuting steps and calculating total energy respectively.
vis.py can be used to plot figures and also combine concentrations from figures of multiple simulations.
sim_utilities.py contains functions for parsing parameters.
Main page: Results
The simulation is simple but produces results which can be related to measurements.
There is always some scattered Fe and Cr atoms above the supposedly protective Al oxide layer. This might indicate that there is some driving force that is missing to get a pure Al-O layer.