← Back to team overview

yade-users team mailing list archive

Re: BexContainer not thread-synchronized; call sync() first!

 

Hi evrybody !

I fixed to ThreeDtriaxial test on the 0.20.2 version of Yade.

Bruno, I am not used to bazar version and I've never been working on it,
but since you say that it is newer than the one I have and currently
evrybody is developping it, I'm going to switch on it.




Le vendredi 19 février 2010 à 12:01 +0100, nejib hadda a écrit :
> Hi, 
> 
> I fixed the problem of sync() for yade 0.20.2 in ThreeDTriaxialEngine by
> adding:
> 
> void ThreeDTriaxialEngine::updateParameters ( MetaBody * ncb )
> 
> Now yade can load the xml file and run it until it comes to write data
> to the Wallstresses file:
> 
> For example, in my xml file I ask Yade to records data evry 50
> iterations, and the current iteration in my xml file is 3221: Yade
> crashes at the 3251st iteration but not for a sync() problem but rather
> it throws me an error message related to The  TriaxialStateRecorder.cpp
> file
> 
> "TriaxialStateRecorder::action (this=0x9ec08f8, ncb=0xb44e220) at
> pkg/dem/Engine/DeusExMachina/TriaxialStateRecorder.cpp:89"
> 
> the problem is located here:
> 
> void TriaxialStateRecorder::action (MetaBody * ncb )
> {.
>  .
>  .
> if ( ! ( Omega::instance().getCurrentIteration() %
> triaxialCompressionEngine->computeStressStrainInterval == 0 ) )
> 		
> 		triaxialCompressionEngine->computeStressStrain ( ncb );
> .
> .
> .
> 
> In the Xml file, I ommited the TriaxialStateRecorder engine, and load it
> in yade it runs with no crashes.
> 
> May be someone can Have an idea to fix this problem, Thanks !
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Le jeudi 18 février 2010 à 20:18 +0100, Václav Šmilauer a écrit :
> > > I'm using the new version of yade 0.20.2, I replaced the triaxial
> > > compression engine by the TreeDTriaxialEngine.
> > 0.20.2 is quite old, given changes we've done recently...
> > 
> > > Can you tell me how can I sync'ing forces in this engine!
> > Have a look at TriaxialStressController::applyCondition(MetaBody* ncb),
> > it is just a single line:
> > 
> > 	ncb->bex.sync();
> > 
> > you can put it to ThreeDTriaxialEngine, although that one doesn't access
> > "bex" (forces) at all; it looks like bug elsewhere, but you would have
> > track down where exactly is this bex being read. 
> > 
> > v
> > 
> > 
> > _______________________________________________
> > Mailing list: https://launchpad.net/~yade-users
> > Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~yade-users
> > More help   : https://help.launchpad.net/ListHelp
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to     : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help   : https://help.launchpad.net/ListHelp




Follow ups

References