← Back to team overview

yade-dev team mailing list archive

Re: [Branch ~yade-dev/yade/trunk] Rev 2589: - PeriTriax : remove the constant-distance approximation in stress definition, using wrapped coor...

 


I realized the change when my scripts crashed. I have many scripts using this and no time
to learn and convert all of them to the type of energy tracing you implemented. This is
one reason.
It would be fairly easy to create a proxy function of the law functor that would return the value stored in scene->energy.
Cpu time is another reason (else I would have keep this change in local). It seems that
track energy will compute all types of energy at each iterations while I need only a few
of them and not at each iteration.
Yes, I was thinking about this, but to me it is no big deal. The non-incremental ones could be computed only during the steps when they are really needed (plotted etc).
I also got the impression that comparing strings in energy->add(dissip,"plastDissip",...),
and calling those python functions is a lot more expensive than a single plasticE+=. Not sure.
Also, I didn't know : do track energy work in parallel?
It works in parallel (of course). The string comparison is there only the first time, then it is stored in the index variable (do you think I would not think about performance?).
The less rational reason is I knew my scripts conserve energy, while everything else I see
on yade lists seem to eat energy somehow.
Oh, but I was just storing the same numbers differently, that is obvious from the code. I would think that you just don't know that the energy is not conserved, because you don't look at all the contributions, that's perhaps how your scripts "conserve" energy? I mean, come on, the plastic dissipation it clearly not computed correctly, you don't agree?

Cheers!




Follow ups

References