Changeset 904

Show
Ignore:
Timestamp:
12/09/2007 10:44:19 AM (13 months ago)
Author:
otter
Message:

Bug in MultiBody.Parts.Rotor1D corrected
(The 3D reaction torque was not completely correct and gave in

some situations a wrong result. This bug should not influence the
movement of a multi-body system, but only the constraint torques
are sometimes not correct).

4 Examples added as MultiBody.Examples.Rotational3DEffects to test and
demonstrate usage of Rotor1D and GearConstraint

Location:
Modelica/trunk/Modelica/Mechanics/MultiBody
Files:
1 added
2 modified

Legend:

Unmodified
Added
Removed
  • Modelica/trunk/Modelica/Mechanics/MultiBody/package.mo

    r887 r904  
    14251425    "Gravity field constant (default = field constant of earth)"  
    14261426    annotation (Dialog(enable=gravityType == Types.GravityTypes.PointGravity)); 
    1427   parameter Boolean driveTrainMechanics3D=false 
     1427  parameter Boolean driveTrainMechanics3D=true 
    14281428    "= true, if 3-dim. mechanical effects of Parts.Mounting1D/Rotor1D/BevelGear1D shall be taken into account"; 
    14291429 
  • Modelica/trunk/Modelica/Mechanics/MultiBody/parts.mo

    r883 r904  
    21122112inertia (so called <i>rotor</i>) on its 3-dim. carrier body. Gyroscopic torques 
    21132113appear, if the vector of the carrier body's angular velocity is not parallel 
    2114 to the vector of the rotor's. The axis of rotation of the rotor is defined by 
     2114to the vector of the rotor's axis. The axis of rotation of the rotor is defined by 
    21152115the parameter <tt>n</tt>, which has to be given in the local coordinate system 
    21162116of <tt>frame_a</tt>. The default animation of this component is 
     
    21222122carrier body.</p> 
    21232123<p>The Boolean parameter <tt>exact</tt> was introduced due to performance 
    2124 reasons. If <tt>exact</tt> is set to true, the influence of the carrier body 
     2124reasons. If <tt>exact</tt> is set to <b>false</b>, the influence of the carrier body 
    21252125motion on the angular velocity of the rotor is neglected. This influence is usually 
    21262126negligible if the 1-dim.-rotational mechanical system accelerates much faster as the base body (this is, 
     
    22412241inertia (so called <i>rotor</i>) on its 3-dim. carrier body. Gyroscopic torques 
    22422242appear, if the vector of the carrier body's angular velocity is not parallel 
    2243 to the vector of the rotor's. The axis of rotation of the rotor is defined by 
     2243to the vector of the rotor's axis. The axis of rotation of the rotor is defined by 
    22442244the parameter <tt>n</tt>, which has to be given in the local coordinate system 
    22452245of <tt>frame_a</tt>. The default animation of this component is 
     
    22512251carrier body.</p> 
    22522252<p>The Boolean parameter <tt>exact</tt> was introduced due to performance 
    2253 reasons. If <tt>exact</tt> is set to true, the influence of the carrier body 
     2253reasons. If <tt>exact</tt> is set to <b>false</b>, the influence of the carrier body 
    22542254motion on the angular velocity of the rotor is neglected. This influence is usually 
    22552255negligible if the 1-dim.-rotational mechanical system accelerates much faster as the base body (this is, 
     
    23342334    end if; 
    23352335 
     2336   /* Reaction torque: 
     2337        t = n*(J*a - flange_a.tau - flange_b.tau) + cross(w_a, nJ*w) 
     2338  
     2339     Since 
     2340        J*a = flange_a.tau + flange_b.tau - nJ*der(w_a); 
     2341  
     2342     the reaction torque can be simplified to 
     2343        t = n*(- nJ*der(w_a)) + cross(w_a, nJ*w) 
     2344  
     2345  */ 
    23362346    frame_a.f = zeros(3); 
    2337     frame_a.t = nJ*a + cross(w_a, nJ*w); 
     2347    frame_a.t = cross(w_a, nJ*w)-e*(nJ*der(w_a)); 
    23382348  end RotorWith3DEffects; 
    23392349