yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #05124
Re: [Branch ~yade-dev/yade/trunk] Rev 2324: void ratio
-
To:
yade-dev@xxxxxxxxxxxxxxxxxxx
-
From:
Janek Kozicki <janek_listy@xxxxx>
-
Date:
Wed, 7 Jul 2010 19:44:14 +0200
-
Face:
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEUBAQEtLS1KSkpRUVFXV1dYWFhjY2Nzc3N3d3eHh4eKioqdnZ24uLjLy8vc3NxVIagyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AIVEzgS1fgQtQAAAjRJREFUOMtt1DFv00AUAOAzFQNbjigSyoQaRaBMhKgLUyKXpVNNeUpk9vyDqFJhQ1kiBuaqAwJCqvPtSLY7RlTn5+5IdnYkkt/AOyfxXVLe5vf53Z1875kd34tOEax8djmj6GyjhB5bxz50GdsVZr9fqRjZwAtKOJw5Wqs2MMZ16ALHsaDncF7xAHix1oEFHAB8f+pRjcO4gfZDykcYzbiucRolOLUJ6kjA0xtVt+A6TySlM0RajIpK6DzwKZ/nOYbF/gclHMo1ZOHYY/+Ha+AWuM+3oMS4eeqYzZ8FiCltgUqI8cd2wwAVpJk+8LWYjBtnJdQpHQqJMd4Oxt4bU9ESiFGc5hkqaH74asAX4iabP5I5gZ+qjgGlJCqZa3h3lxhoeVcSE1qLQC4sqKOK9MGW9E3izFqqHokoztLFEgXg31sbZEKnWi2T74A4NxfVQqlkjKtcAWD+zcArFEES01dR0E/nnV0IgugmDd/2L84sOAouRBBHEc7gtc8teDkRlE0iNQPo2w3Xhh/D4TCIQ4LRLoTvgwjj6RRgavdurxYGMaIuGOyAW/PpNlCcU9/93AHenAWYjPoAwa+G3e3to/MgFNTAEKvKDjzuCzHTnY3qqdXtx24VijzQfZ0yewZ5cwRFQaa+mIYr1uI0I76+3W4xhlvoVRwOA0Fdl64HlJnxP6T8YpX/Lga4Wv4A3ErrU5oTfN7Mu/llXMl8RXEPji/lQkN3H7qXqgC2By47EXeU/7PJ/wPxRKMnuZwIeAAAAABJRU5ErkJggg==
-
In-reply-to:
<4C34B776.4040901@hmg.inpg.fr>
Bruno Chareyre said: (by the date of Wed, 07 Jul 2010 19:20:54 +0200)
> I'm lost Janek, sorry.
> > hmm, Bruno, actually this spheresVolume wrapper is returning a wrong
> > value.
> Why does it return a wrong value? spheresVolume is internally correct
> (it is used to define porosity), wrapping changes the value?!
I don't believe that this is even possible.
> You could just write void_ratio = porosity/(1-porosity)...
I'm stupid, thanks :)
> > 1) We need to either remove that python wrapper for spheresVolume (I do it)
> >
> The best would be to fix it, but I still don't understand why it doesn't
> return the correct value (here I get spheresVolume=1!).
oh, right. I am getting 1 also, not 0.
> > 2) Or we need to fix the spheresVolume (TriaxialStressController.cpp
> > line 210) and you do it.
> This one is correct.
If I read the code right, then spheresVolume is calculated once, at
start. And then it is being modified in that line 210:
spheresVolume = spheresVolume * std::pow ( multiplier,3 );
Why are you doing this, btw?
this modification occurs during internal compaction phase
TriaxialStressController.cpp line 165. How many times that line is called?
The sphresVolume is a correct value if and only if: multiplier^3 ==
1.0 which I doubt. Otherwise, why you would be multiplying by 1.0 ?
now, question is if I read the code right... And why porosity is
correct if spheresVolume is not??
--
Janek Kozicki http://janek.kozicki.pl/ |
Follow ups
References