← Back to team overview

yade-users team mailing list archive

Re: [Question #611087]: I got a wrong damage ratio

 

Question #611087 on Yade changed:
https://answers.launchpad.net/yade/+question/611087

Luc Scholtès proposed the following answer:
Sorry, for wrong use of keyboard shortcut... I try another time here:

I see 2 potential reasons why you get your damage ratio >1:

1) you don't use the same condition for checking the nb of cohesive
contacts at initialization and during the simulation:

initialization:
if cohesionBroken==True:
   continue
sumCohBonds+=1

during simulation:
if cohesionBroken==False:
   continue
numBroCohBonds+=1

Why don't you use the same condition for both cases?

2) the test you use during the simulation might cause problem because
you sum over interactions and look for those with cohesionBroken==True
and this paramater is set to true by default, even for frictional
interactions (if I understood correctly). Doing so, the newly created
interactions are counted as being broken despite the fact that they
appeared as a result of the interaction of particles after breakage of
you specimen.

For me, the solution would be to use the same condition for each case:

if cohesionBroken==False:
   numCohBonds+=1

and to define InitialNumCohBonds in the initial loop and
currentNumCohBonds in the current loop so that the damage ratio would
be:

damageRatio=currentNumCohBonds/initialNumCohBonds

If, after that, you still have a damage ratio > 1, there might be a
problem somewhere else... For instance, I have never used this contact
law before but are you sure about the way you use the setCohesionNow
flag? In your case, you define it equal to true in the engine list ->
Does it mean that it will be always true or just for the first iteration
of your simulation? From my understanding, the way you define it makes
it true for all the duration of the simulation hence, you create
cohesive contacts every time particles come into contact hence, your
damage ratio > 1.

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.