Modelling grain boundaries with different misorientation angles

Dear all,

I´m trying to model different grain boundaries with lammps. I found a lot tutorials on the internet doing this. I have two regions with each different lattice orientation. My question is how can I investigate different misorientation angles. Should I use the displace_atoms command to rotate the different layers?

Do you have any suggestions?

Best Regards,


here is a example code:
# ------------------------ INITIALIZATION ----------------------------
units metal
dimension 3
boundary p p p
atom_style atomic
atom_modify map array

variable latparam equal 4.032
variable sizepara equal 51.0
variable sizeupper equal 25.50
variable sizelower equal 24.50

# ----------------------- ATOM DEFINITION ----------------------------
lattice fcc \{latparam\} region whole block 0 50 0 {sizepara} 0 50 units box
create_box 2 whole

region lower block INF INF INF \{sizelower\} INF INF units box lattice fcc {latparam} orient x 0 3 -1 orient y 0 1 3 orient z 1 0 0
create_atoms 2 region lower

region upper block INF INF \{sizeupper\} INF INF INF units box lattice fcc {latparam} orient x 0 3 1 orient y 0 -1 3 orient z 1 0 0
create_atoms 1 region upper

group upper type 1
group lower type 2
# ------------------------ FORCE FIELDS ------------------------------
pair_style eam
pair_coeff * * Al_jnp.eam

displace_atoms upper rotate 0 0 0 0 0 1 5
displace_atoms lower rotate 0 0 0 0 0 1 -5

dump 1 all atom 1 dump.tensile

run 1


You can use Gbstudio as an alternative, prefectly works for fcc structures (less than 1M atoms, of course).


I’m not familiar with Gbstudio, but if it produces GBs in different

orientations/structures and can output a LAMMPS data file,

then you could do a lot with that.

In LAMMPS itself, the way I suggest doing it is something like

lattice …

create_atoms in region 1


create_atoms in region 2

delete_atoms at interface that are too close

minimize to relax boundary


region1, region2 are two halves of your simualtion box

the 2 lattice commands have orient optinos to create

lattices in different orientations on either side of the boundary


Well it does not produce structures with lammps data file, but can be easily reformatted, and one can create lots of bicrystal structures with different orientations.


Hi, thank you. GBstudio is a great opportunity.

Hi Steve,

thank you for your reply. I did it the way you explained. It doesnt work with different orientations of the lattice, because the vectors have to be orthogonal. So I decided to rotate each region to investigate different missorientations. The rotation itself works, but I got problems with the overlapping atoms.

Best regards


You can easily delete atoms with a less than cut off distance using “atom delete overlap”.