# Storing particle overlap on first iteration to prevent explosions.

HI,

I am reposting my question here, so that everyone can benefit from the answers.

To calculate concrete the sample made of spheres (with cohesion) has some of these spheres overlapping. Since it is difficult to generate a sample where none of the spheres overlap. And with some overlapping the spheres want to "explode" until there is no overlap. Sometimes cohesion prevents this, but this means starting calculations with non-zero forces between spheres.

To mitigate this problem, the initial overlap between spheres is stored [*] (on first iteration) and is treated as "zero" penetration depth during tension & compression.

[*] "is stored" means that this change in code is implemented in my local copy of yade.

My question is:

1. does yade already have such feature, so that I don't need to port it back to latest version of yade?

So far Feng Chen has answered my question: http://<email address hidden>

> Regarding your question, as far as I know packmol (

> http://

> packing of spheres (or even complicated sphere clusters) by maintaining the

> minimum distance between the sphere centers using a BOX-QUACAN

> optimization, thus if you make the minimum distance greater than

> max(r_i)*2, you should have zero overlap between the spheres.

And PACKMOL is an interesting solution to the problem. Actually a better one.

But the question still remains: shall I implement/port this feature to yade from my local yade copy?

best regards

Janek

## Question information

- Language:
- English Edit question

- Status:
- Open

- For:
- Yade Edit question

- Assignee:
- Janek Kozicki Edit question

- Last query:
- 2017-04-16

- Last reply:
- 2017-04-14

- Whiteboard:
- preparing

## This question was reopened

- 2017-04-16 by Janek Kozicki

Chareyre (bruno-chareyre-9) said : | #1 |

Hi,

This feature is somehow available through scripting (see #2 in

https:/

That would be good/simpler to have it also available conditionaly based on

bool Law2::zeroInitF

I guess it should be automatically turned off after iteration 1 though,

else people will forget to revert it and the simulation will loose

consistency.

Bruno

On 14 April 2017 at 13:23, Janek Kozicki <

<email address hidden>> wrote:

> New question #619109 on Yade:

> https:/

>

> HI,

>

> I am reposting my question here, so that everyone can benefit from the

> answers.

>

> To calculate concrete the sample made of spheres (with cohesion) has some

> of these spheres overlapping. Since it is difficult to generate a sample

> where none of the spheres overlap. And with some overlapping the spheres

> want to "explode" until there is no overlap. Sometimes cohesion prevents

> this, but this means starting calculations with non-zero forces between

> spheres.

>

> To mitigate this problem, the initial overlap between spheres is stored

> [*] (on first iteration) and is treated as "zero" penetration depth during

> tension & compression.

>

> [*] "is stored" means that this change in code is implemented in my local

> copy of yade.

>

> My question is:

> 1. does yade already have such feature, so that I don't need to port it

> back to latest version of yade?

>

> So far Feng Chen has answered my question: http://

> <email address hidden>

>

> > Regarding your question, as far as I know packmol (

> > http://

> initial

> > packing of spheres (or even complicated sphere clusters) by maintaining

> the

> > minimum distance between the sphere centers using a BOX-QUACAN

> > optimization, thus if you make the minimum distance greater than

> > max(r_i)*2, you should have zero overlap between the spheres.

>

> And PACKMOL is an interesting solution to the problem. Actually a better

> one.

>

> But the question still remains: shall I implement/port this feature to

> yade from my local yade copy?

>

> best

> Janek

>

> --

> You received this question notification because your team yade-users is

> an answer contact for Yade.

>

> _______

> Mailing list: https:/

> Post to : <email address hidden>

> Unsubscribe : https:/

> More help : https:/

>

>

Janek Kozicki (cosurgi) said : | #2 |

Thanks, this is great place for me to start. I will check this out, and I will let you know about my progress.

mohsen (agha-mohsena) said : | #3 |

Hi

I could not find this command or attribute in yade documentation;

"zeroInitForce"

Any idea?

Thanks

Janek Kozicki (cosurgi) said : | #4 |

Hi,

Bruno's idea is that I implement (port it from my local yade version) to official yade version using this name "bool Law2::zeroInitF

best regards

Janek

Janek Kozicki (cosurgi) said : | #5 |

I change this back to "open", will mark as "solved" once implementation is finished.

## Can you help with this problem?

Provide an answer of your own, or ask Janek Kozicki for more information if necessary.