Using delete_atoms following a replicate function

Hi! I’m trying to determine the effect of a vacancy defect in an otherwise perfect aluminium cube with increasing amount of vacancies.

To create this cube I first create a perfect block, and then replicate it multiple times, however I had an issue with my call of the delete_atoms function as I was directing it to a group-ID instead of a region-ID, as directing it to my region-ID would make it delete only the first atoms, in a similar fashion as this other instance : https://lammps.sandia.gov/threads/msg63123.html

Would there be a way to use delete_atoms on my group created after calling replicate?

Thank you very much!

suffix omp
package omp 12

variable lattconst equal 5
variable repetition equal 10
log Al_grain_30.log append

---------- Initialize Simulation ---------------------

clear
units metal
dimension 3
boundary p p p
atom_style atomic
atom_modify map array

---------- Create Atoms ---------------------

lattice fcc ${lattconst}
region box block 0 1 0 1 0 1 units lattice
create_box 1 box

lattice fcc ${lattconst} orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
create_atoms 1 box

replicate {repetition} {repetition} ${repetition}

---------- Define Interatomic Potential ---------------------

pair_style eam/alloy
pair_coeff * * Al99.eam.alloy Al
neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes

---------- Run Minimization ---------------------

group cube type 1
delete_atoms porosity cube 0.1 420

timestep 0.001
fix 1 cube box/relax iso 0.0

thermo 100
thermo_style custom step temp enthalpy press cella cellb cellc
thermo_modify flush yes
thermo_modify norm yes

min_style cg
minimize 1e-25 1e-25 5000 10000

fix 2 cube npt temp 1000.0 1000.0 0.1 iso 1000.0 1000.0 0.1

variable iterations equal 10000
dump mydump all xyz 1000 C:\Bin\LAMMPS\Exo9[dump5.xyz](http://dump5.xyz)
run ${iterations}

print “All done!”

Hi! I’m trying to determine the effect of a vacancy defect in an otherwise perfect aluminium cube with increasing amount of vacancies.

To create this cube I first create a perfect block, and then replicate it multiple times, however I had an issue with my call of the delete_atoms function as I was directing it to a group-ID instead of a region-ID, as directing it to my region-ID would make it delete only the first atoms, in a similar fashion as this other instance : https://lammps.sandia.gov/threads/msg63123.html

Would there be a way to use delete_atoms on my group created after calling replicate?

the porosity option to delete_atoms operates on regions not groups. regions don’t change, when you use replicate, they know nothing of it. so the logical conclusion is that you have to create a new region, that encompasses the entire system, or just create a correspondingly larger system in the first place. for your setup, there is little benefit from using replicate, if any. you achieve the exact same effect as replicate with: region box block 0 {repetition} 0 {repetition} 0 ${repetition} units lattice

that is why there is a “units lattice” option in the first place.

axel.

That fixed my issue! Thanks a lot for your help.

Have a good day,
Antoine.