← Back to team overview

yade-dev team mailing list archive

Re: [Branch ~yade-dev/yade/trunk] Rev 2324: void ratio

 

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