yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #01353
Re: R: Applying constant force on a wall
-
To:
yade-users@xxxxxxxxxxxxxxxxxxx
-
From:
Václav S(milauer <eudoxos@xxxxxxxx>
-
Date:
Thu, 29 Jan 2009 20:36:26 +0100
-
In-reply-to:
<000c01c9822b$48651b00$d92f5100$@it>
-
User-agent:
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.19) Gecko/20090105 Lightning/0.8 Thunderbird/2.0.0.19 Mnenhy/0.7.5.666
Ah, now it everything clear. The ForceEngine must be _before_
NewtonsDampedLaw (or PhysicalActionApplier), since forces are reset at
the beginning of every step. Therefore, the engine sets the force, but
it is immediately reset without being used.
HTH, Vaclav
PS. Instead of PhysicalActionDamper, PhysicalActionApplier and
PhysicalParametersMetaEngine, use NewtonsDampedLaw. It is functionally
the same, but faster, since it does less loops.
> ## Forze e momenti definiti sui corpi. Calcolo delle accelerazioni
> con le leggi di newton
> MetaEngine('PhysicalActionApplier',[
> EngineUnit('NewtonsForceLaw'),
> EngineUnit('NewtonsMomentumLaw'),
> ]),
> ## Acceleration results in velocity change. Integrating the velocity
> over dt, position of the body will change.
>
> MetaEngine('PhysicalParametersMetaEngine',[EngineUnit('LeapFrogPositionInteg
> rator')]),
> ## Angular acceleration changes angular velocity, resulting in
> position and/or orientation change of the body.
>
> MetaEngine('PhysicalParametersMetaEngine',[EngineUnit('LeapFrogOrientationIn
> tegrator')]),
>
>
>
> ## Applica rotazione alla testa 1 giro/min = 0,1047 rad/s
> DeusExMachina('RotationEngine',{'subscribedBodies':head,
> 'rotationAxis':[0,0,1],'rotateAroundZero':True,'angularVelocity':0.1047}),
>
>
>
>
>
>
> ## Applica rotazione e traslazione alla testa
>
> ##DeusExMachina('SpiralEngine',{'subscribedBodies':head,'angularVelocity':0.
> 5,'linearVelocity':2, 'axis':[0,0,1]}),
>
> ## Applica velocità di traslazione alla base
>
> ##DeusExMachina('TranslationEngine',{'subscribedBodies':[boxId],'velocity':-
> 1, 'translationAxis':[0,0,1]}),
>
> ## Applica traslazione alla base
>
> ##DeusExMachina('DisplacementEngine',{'subscribedBodies':[boxId],'displaceme
> nt':-0.1, 'translationAxis':[0,0,1], 'active':True}),
>
> ## Applica traslazione alla base
>
> ##DeusExMachina('DisplacementToForceEngine',{'subscribedBodies':[boxId],'dis
> placement':-0.05, 'translationAxis':[0,0,1], 'targetForce':[0,0,-1],
> 'targetForceMask':[0,0,0] }),
>
> ## Applica traslazione alla base
> DeusExMachina('ForceEngine',{'subscribedBodies':[boxId],
> 'force':[0,0,-10]}),
>
> # Applica traslazione alla base
> #DeusExMachina('UniaxialStrainer',{'subscribedBodies':[948]}),
>
>
Follow ups
References