← Back to team overview

yade-users team mailing list archive

Re: [Question #702353]: Title : Error message : can only concatenate list (not "RotationEngine") to list

 

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

    Status: Needs information => Open

evagb54 gave more information on the question:
Hello Robert, 
Thanks for your answer.

Why are you creating and adding many new RotationEngines. Apparently you add a new engine for every single spherical body in your scene...this is not right.
>>> No I don't want to add a new engine for every single spherical body. I just want to add a new engine that will rotate only the particles.


>>I would like to stop the rotation of the drum at a certain point and rotate with respect to the rotation axis of the drum , only the set of all the particles by a certain angle dtetab for a single time step, in order to get the image of the flow after this rotation( angle dtetab).

Please rephrase this, I do not understand it. It sounds like you want to
stop the rotation, and then start the rotation around some new axis of
the drum? You only want some of the particles to rotate? This is all
quite confusing. It needs to be fully rewritten before anyone can help
you here.

>>>> In fact, the particles rotate with the rotation of the drum and I get a flow profile, this is okay.
But in order to do some calculations on the spherical particles, I need to move only the particles (not the drum) with respect to the rotation axis of the drum. This will allow me to change the coordinate of the particles and get the image of the flow profile by a rotation of angle dtetab. 
Maybe instead of : 
.....
RotationEngine.dead=True
        for b in O.bodies:
            if isinstance(b.shape,Sphere):

                O.engines=O.engines + RotationEngine(rotateAroundZero=True, zeroPoint=(0, 0, 0), rotationAxis=(0, 0,1), angularVelocity=wtetab, ids=[b.id], label='rotation')
                O.stopAtIter=1
                O.save('RDsave-yade-cconfiessai.gz')
....
I had to put : 

RotationEngine.dead=True
       
                O.engines=O.engines + RotationEngine(rotateAroundZero=True, zeroPoint=(0, 0, 0), rotationAxis=(0, 0,1), angularVelocity=wtetab, ids=b.id for  for b in O.bodies if isinstance(b.shape,Sphere), label='rotation')
                O.stopAtIter=1
                O.save('RDsave-yade-cconfiessai.gz')

I don't know if it is more clear. Tell me if it is not.
Thanks again.

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