[lammps-users] MD deformation of metal-oxide system

Hello all,

I want to simulate the mechanical deformation (uniaxial tension) of a system made of bulk metal with a surface oxide layer using LAMMPS. Imagine a rectangular bar or cube of metal with surface oxide. one system with amorphous and one with crystalline oxide.
I need help with setting up the system of the metal/oxide in LAMMPS. What is the best way to do that?
Is it better to separately create atom positions for bulk metal and for oxide, and then put them together? (for example: read_data for metal and then read_data append to include oxide)
or is it better to somehow create the oxide on the surface during the simulation, for example; first have a system of pure metal and then introduce oxygen into a thin layer of atoms on the surface?

In the first method for example I do not know how to create interfaces between the metal and the oxide. Then how to make sure the metal bulk surface bonds match the bonds of the oxide layer (maybe annealing the interface??).

In the second method; how is it possible to do that so the metal in the thin outer layer moves to the true positions in the oxide structure in the case of the crystalline oxide. In the case of the amorphous I think I can introduce oxygen to random positions in a thin surface layer of atoms and then run heating and fast cooling cycles on the oxide layer. Is it possible to do that at all? (group the atoms on the surface and only run heating and cooling cycles on them to get the surface amorphous oxide ?)

Or if you know of any other way that you know works, I will be thankful to hear it.

(I have already figured out the crystalline and amorphous oxide structures i.e. the atom positions in the pure oxide systems. My issue is how to incorporate that onto the surface of metal in the simulation cell.)

If anyone has a link to an example script that I can look at also would be great.

Best regards,



please note that what you are asking about is primarily not a LAMMPS question but a question about the science of your project. the specific details of the syntax of commands are a very minor concern compared to the overall approach. thus it is my recommendation that you first figure out what the necessary workflow is in general, and that can often be different for simulation studies compared to macroscopic experiments. the best way to find some information about this is to search the published literature for similar studies and not to ask for a demo script on a mailing list. without properly understanding what the script does and how to adapt it for a different system, it will be useless anyway.

but this is all distracting from a bigger issue: do you have a suitable model (pair style) and matching parameters that can describe the system you are interested in sufficiently well.
your setup (metal with metal oxide of the same metal) is a particular tricky one for classical models and not many pair styles can work for that, and while you may find potentials for either the metal or the metal oxide, I doubt there are many options for describing both with sufficient accuracy with the same style (which I would consider essential in this case for suitable accuracy).

in summary, this is something where I would expect that you would need a quantum mechanical model or at least something semi-empirical. …and that is something that you need to figure out before worrying about the geometry. and furthermore, this is a topic that you need to discuss with your adviser/supervisor or some sufficiently competent and experienced collaborator (or you may need to have to “find” such a person). i would strongly advise to start any simulations into such a topic without proper guidance and tutoring, something that you cannot effectively receive from a mailing list, as this has little to do with the syntax and operations of an MD simulation software.