Dear all,
May I know if the neigh_modify exclude option will work correctly with dynamic groups? The documentation pages for ‘neigh_modify’ and ‘group’ do not mention any such restriction but my testing indicates otherwise. My objective is to simulate a moving wall boundary by turning off all pairwise interactions involving wall atoms located within a region whose extent changes with time.
Best,
Karthik
DISCLAIMER The sender of this email is an alumnus of National University of Singapore (NUS). Kindly note that NUS is not responsible for the contents of this email, and views and opinions expressed are solely the sender’s.
Dear all,
May I know if the neigh_modify exclude option will work correctly with dynamic groups? The documentation pages for ‘neigh_modify’ and ‘group’ do not mention any such restriction but my testing indicates otherwise.
based on what can be inferred from looking at the source code “neigh_modify exclude ” should be compatible with dynamic groups. however, the question is what you are testing for and when.
the exclusions obviously can only be applied during a neighborlist build. so you may have to enforce neighbor list rebuilds in every time step (and thus take a significant performance penalty).
My objective is to simulate a moving wall boundary by turning off all pairwise interactions involving wall atoms located within a region whose extent changes with time.
why this complicated scheme using neighborlist exclusions and dynamic groups? why not just move your wall with fix move?
axel.
Hi,
Thanks for the clarification. The details of my simulation are as follows:
The span of the cubic constant volume simulation box is from x = -45 to 55, y = -20 to 20 and z = -20 to 20. The wall consists of a rectangular block containing a cylindrical void. The span of the block and cylinder along the x-direction is from x = 0 to 10. Along the y and z directions, the dimensions of the block are equal to that of the simulation box. The cylinder axis is along the x direction and located at y=z=0.0. As such, atoms can pass from one side of the simulation box to the other through the cylindrical pore.
I have modelled this geometry by arranging one layer of frozen atoms at x = 0.0 with a circular hole and doing likewise for x = 10.0. The curved wall surface of the cylindrical pore is modelled using several layers of particles equally spaced out along the x-direction. Within each layer, several atoms are arranged in a circle whose radius is equal to that of the cylinder. In my simulation, the cylinder radius decreases with time. I am wondering how I can use fix/move to accomplish this while preventing the formation of gaps in the 2 layers of atoms at the ends of the cylindrical pore.
Best,
Karthik
Hi,
Thanks for the clarification. The details of my simulation are as follows:
The span of the cubic constant volume simulation box is from x = -45 to 55, y = -20 to 20 and z = -20 to 20. The wall consists of a rectangular block containing a cylindrical void. The span of the block and cylinder along the x-direction is from x = 0 to 10. Along the y and z directions, the dimensions of the block are equal to that of the simulation box. The cylinder axis is along the x direction and located at y=z=0.0. As such, atoms can pass from one side of the simulation box to the other through the cylindrical pore.
I have modelled this geometry by arranging one layer of frozen atoms at x = 0.0 with a circular hole and doing likewise for x = 10.0. The curved wall surface of the cylindrical pore is modelled using several layers of particles equally spaced out along the x-direction. Within each layer, several atoms are arranged in a circle whose radius is equal to that of the cylinder. In my simulation, the cylinder radius decreases with time. I am wondering how I can use fix/move to accomplish this while preventing the formation of gaps in the 2 layers of atoms at the ends of the cylindrical pore.
what you describe doesn’t sound like a physically meaningful model to me. nevertheless, it should be possible to implement this motion with fix move using atom style variables.
axel.