want particle-wall contact, but no particle-particle contact

Submitted by evansmuts on Thu, 01/10/2013 - 13:47

Hi

Is it possible to have no particle-particle contact, but still have particle-wall contact? I want to test something were I don't have particles colliding with each other, but I need them to contact the walls so that they stay inside to domain.

As far as I understand it, I need "pair_style /gran/X" so that particle-wall contact can be calculated, so I have to specify that pair_style.

I have tried to use "pair_modify compute no" to stop the pair interactions from being calculated, but I don't think it works with "pair_style hybrid/overlay" (which I am using). From my tests it looks like the particle-particle collisions are still happening, so it definitely does not work.

Does anyone have another way of doing this? If it is possible?

Thanks

Evan

ckloss's picture

ckloss | Thu, 01/10/2013 - 17:02

Hi Evan,

sure, just use the neigh_modify exclude option (e.g. group all all)

Cheers, Christoph

evansmuts | Fri, 01/11/2013 - 16:08

Hi Christoph

Using neigh_modify allows me to turn off particle-particle interactions, but still keep the particle-wall interactions. However, using "exclude group all all" turns off ALL particle-particle interactions. I am using hybrid/overlay to mix a granular pair style with two colloid styles, and I want to turn off the granular style, but not the others.

If my particles were in separate groups, I could select different groups with neigh_modify and turn them off individually, but they are in ONE group. Is there a way to do it if all particles are in one group?

Thanks
Evan

ckloss's picture

ckloss | Mon, 01/21/2013 - 19:57

Hi Evan,

I see - I did not realize you just want to turn off the granular portion of the hybrid/overlay pair style.
I'll add a new option "compute off" to pair gran in the next release

Cheers, Christoph

evansmuts | Thu, 01/10/2013 - 17:18

Hi Christoph

Thanks so much, I will look into that.

Cheers
Evan

evansmuts | Thu, 01/31/2013 - 10:00

Hi Christoph

Thanks so much for adding that feature to the new version (2.2.4). I have started playing around with it already. However, can you please add a restart capability for this feature? It will suit my current setup better?

I have tried adding this myself, but without success. I added the following lines to the "...restart_settings" functions in the pair_style_hooke_history I am using:

fwrite(&force_off,sizeof(bool),1,fp); (write_restart_settings)

fread(&force_off,sizeof(bool),1,fp); (read_restart_settings)
MPI_Bcast(&force_off,1,MPI_INT,0,world);

but I keep getting a seg fault ("Address not mapped") error when I try to restart my simulation. So obviously I am missing something as I don't think it is assigning the variable after reading the restart file. Any ideas on how to fix this in the meantime?

Cheers
Evan

ckloss's picture

ckloss | Fri, 02/01/2013 - 12:35

Hi Evan.

>>However, can you please add a restart capability for this feature? It will suit my current setup better?
not sure why you would need that? When you define "force off" in both the original and the script for restart, you should be fine

Cheers
Christoph

evansmuts | Tue, 02/05/2013 - 13:37

I am being stupid. That is a much simpler way to do it!!

My restart file only defines the pair_coeffs, not the full pair_style. So I assumed I needed to save the flag to the restart file as well. It works if I specify the full pair_style in the restart file.

Thanks for all your help.
Evan