firction turn off/on

Submitted by SergeiD on Fri, 04/15/2011 - 10:58

Hello.
How can I enable / disable the friction during the simulation?
I want to generate an initial package without friction, then the friction enable and continue the simulation.
Thanks.

JF's picture

JF | Fri, 04/15/2011 - 13:22

Hi Sergei,

You can simply put the friction coefficient to 0 in your simulation file.

fix m4 all property/global coefficientFriction peratomtypepair 3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

Maybe, it is the simplest way to do what you want to do ??!!

Regards
JF

SergeiD | Fri, 04/15/2011 - 13:29

But how to can enable friction in course of a simulation?
Like this:
...
# disable friction
fix m4 all property/global coefficientFriction peratomtypepair 1 0
...
# generate packing
run 50000
#enable friction
???
#continue simulation with friction
run 1000000

Thanks!

JF's picture

JF | Fri, 04/15/2011 - 13:41

Ok, now I undertand your problem (sorry!!). I have never done this before. You can try this:

# disable friction
fix m4 all property/global coefficientFriction peratomtypepair 1 0
...
# generate packing
run 50000
#enable friction
fix m4 all property/global coefficientFriction peratomtypepair 1 Value
...
#continue simulation with friction
run 1000000

or you can save your simulation and restart it with friction. I hope the first option will work.
Let me know it.

Regards
JF

raguelmoon's picture

raguelmoon | Fri, 04/15/2011 - 15:26

Hi,
Yes, JF is right. This is the right way of doing this. Also you can unfix the fix after each run and then apply new fix with your desire friction value.
Best,
Ram

Ram

SergeiD | Sun, 04/17/2011 - 12:15

Thanks! But some more question. I have a pair_style with history. But first I setup friction to 0 and run simulation in order to get dense packing. So, at finish I have a lasting contacts between particles. Is there any internal history of these contacts, even despite the fact that friction is disabled? If history is, after enabling friction the system will have a artificial shear forces. Isn't it?

JF's picture

JF | Sun, 04/17/2011 - 13:39

Hi Sergei,

Yes, there is an internal history of these contacts. Christoph Kloss has created a class: "fix_contact_history".
You can look at the file pair_gran_hooke_history.cpp, you will see the shear vector. This vector saves the relative shear displacement for each interaction in order to compute the friction force. Of course, you can extend this vector so as to save others parameters.
Once, you use a pair_style with history, this contact history will be created.

Regards
JF

SergeiD | Sun, 04/17/2011 - 20:44

I mean a little bit of something else.
There is contact between two spheres. One sphere slides on the other. If friction is 0 then there is no shear force, but there is a strain! Now, I'm going to stop sliding. If I enable friction after this then is there a fictituous shear force between the spheres due to previously tracked shear strain? Or shear strain begins tracked only after enabling friction?

ckloss's picture

ckloss | Sun, 04/17/2011 - 21:19

no, contact history is enabled as soon as a pair style is used that requests this.
the most obvious solution would be to use a pair style without history to generate the packing, and the continue with a pair style including history/friction

Christoph