Changeset 1128

Show
Ignore:
Timestamp:
05/25/08 10:25:16 (6 months ago)
Author:
otter
Message:

maintenance/2.2.2/Modelica: Removed previously introduced fix for friction

Location:
branches/maintenance/2.2.2/Modelica
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • branches/maintenance/2.2.2/Modelica/Mechanics/Rotational.mo

    r1118 r1128  
    724724      Modelica.Mechanics.Rotational.Torque torque  
    725725                               annotation (extent=[-65, -5; -55, 5]); 
    726       Modelica.Mechanics.Rotational.Clutch clutch1(          fn_max=20, peak=1.1) 
     726      Modelica.Mechanics.Rotational.Clutch clutch1(peak=1.1, fn_max=20)  
    727727        annotation (extent=[-25, -5; -15, 5]); 
    728728      Modelica.Blocks.Sources.Sine sin1(amplitude=10, freqHz=5)  
     
    732732      Modelica.Mechanics.Rotational.Inertia J2(J=1, initType=Modelica.Mechanics.Rotational.Types.Init.InitialState)  
    733733                                 annotation (extent=[-5, -5; 5, 5]); 
    734       Modelica.Mechanics.Rotational.Clutch clutch2(          fn_max=20, peak=1.1) 
     734      Modelica.Mechanics.Rotational.Clutch clutch2(peak=1.1, fn_max=20)  
    735735        annotation (extent=[15, -5; 25, 5]); 
    736736      Modelica.Mechanics.Rotational.Inertia J3(J=1, initType=Modelica.Mechanics.Rotational.Types.Init.InitialState)  
    737737                                 annotation (extent=[35, -5; 45, 5]); 
    738       Modelica.Mechanics.Rotational.Clutch clutch3(          fn_max=20, peak=1.1) 
     738      Modelica.Mechanics.Rotational.Clutch clutch3(peak=1.1, fn_max=20)  
    739739        annotation (extent=[55, -5; 65, 5]); 
    740740      Modelica.Mechanics.Rotational.Inertia J4(J=1, initType=Modelica.Mechanics.Rotational.Types.Init.InitialState)  
     
    18171817      constant SI.AngularAcceleration unitAngularAcceleration = 1; 
    18181818      constant SI.Torque unitTorque = 1; 
    1819       Real sa0 = (tau0_max + (tau0_max - tau0))/unitTorque  
    1820         "Value of sa when start of forward sliding at w=0"; 
     1819       
    18211820    equation  
    18221821      /* Friction characteristic 
     
    18251824      special code shall be generated) */ 
    18261825       
    1827       startForward = pre(mode) == Stuck and sa > tau0_max/unitTorque or  
    1828                      pre(mode) == Backward and w_relfric > w_small or  
    1829                      initial() and (w_relfric > 0); 
    1830       startBackward = pre(mode) == Stuck and sa < -tau0_max/unitTorque or  
    1831                       pre(mode) == Forward and w_relfric < -w_small or  
    1832                       initial() and (w_relfric < 0); 
    1833       locked = not free and not (pre(mode) == Forward or startForward or pre(mode) == Backward or startBackward); 
     1826      startForward = pre(mode) == Stuck and (sa > tau0_max/unitTorque or pre(startForward) 
     1827         and sa > tau0/unitTorque) or pre(mode) == Backward and w_relfric > w_small or  
     1828        initial() and (w_relfric > 0); 
     1829      startBackward = pre(mode) == Stuck and (sa < -tau0_max/unitTorque or pre( 
     1830        startBackward) and sa < -tau0/unitTorque) or pre(mode) == Forward and w_relfric < 
     1831        -w_small or initial() and (w_relfric < 0); 
     1832      locked = not free and not (pre(mode) == Forward or startForward or pre( 
     1833        mode) == Backward or startBackward); 
    18341834       
    18351835      a_relfric = unitAngularAcceleration * 
    1836               (if locked then 0 else if free then sa else  
    1837               if startForward then sa - sa0 else if startBackward then sa + sa0 else  
    1838               if pre(mode)== Forward then sa - sa0 else sa + sa0); 
     1836              (if locked then 0 else if free then sa else if startForward then  
     1837              sa - tau0/unitTorque else if startBackward then sa + tau0/unitTorque else if pre(mode) 
     1838         == Forward then sa - tau0/unitTorque else sa + tau0/unitTorque); 
    18391839       
    18401840      /* Friction torque has to be defined in a subclass. Example for a clutch: 
  • branches/maintenance/2.2.2/Modelica/Mechanics/Translational.mo

    r1118 r1128  
    1 within Modelica.Mechanics; 
     1within Modelica.Mechanics;  
    22 
    33 
     
    302302      Translational.Spring S1( 
    303303        s_rel0=1, 
    304         c=1e3, 
     304        c=1e3,  
    305305        s_rel(start=1, fixed=false))  
    306306                        annotation (extent=[-58, -20; -38, 0]); 
     
    308308      Translational.SpringDamper SD1( 
    309309        s_rel0=1, 
    310         c=111, 
     310        c=111,  
    311311        s_rel(start=1, fixed=true))  
    312312                        annotation (extent=[20, -20; 40, 0]); 
     
    15261526</ul> 
    15271527</html>")); 
    1528     protected  
     1528protected 
    15291529      constant SI.Acceleration unitAcceleration = 1; 
    15301530      constant SI.Force unitForce = 1; 
    1531       Real sa0 = (f0_max + (f0_max - f0))/unitForce  
    1532         "Value of sa when start of forward sliding at w=0"; 
    15331531    equation  
    15341532      /* Friction characteristic 
     
    15381536  */ 
    15391537       
    1540       startForward = pre(mode) == Stuck and sa > f0_max/unitForce and s < (smax - L/2) or  
    1541                      pre(mode) == Backward and v_relfric > v_small or initial() and (v_relfric > 0); 
    1542       startBackward = pre(mode) == Stuck and sa < -f0_max/unitForce and s > (smin + L/2) or  
    1543                       pre(mode) == Forward and v_relfric < -v_small or initial() and (v_relfric < 0); 
     1538      startForward = pre(mode) == Stuck and (sa > f0_max/unitForce and s < (smax - L/2) or  
     1539            pre(startForward) and sa > f0/unitForce and s < (smax - L/2)) or pre(mode) 
     1540         == Backward and v_relfric > v_small or initial() and (v_relfric > 0); 
     1541      startBackward = pre(mode) == Stuck and (sa < -f0_max/unitForce and s > (smin + L/2) or  
     1542            pre(startBackward) and sa < -f0/unitForce and s > (smin + L/2)) or pre(mode) 
     1543         == Forward and v_relfric < -v_small or initial() and (v_relfric < 0); 
    15441544       
    15451545      locked = not free and not (pre(mode) == Forward or startForward or pre( 
     
    15471547       
    15481548      a_relfric = unitAcceleration*(if locked then 0 else if free then sa else if startForward then  
    1549               sa - sa0 else if startBackward then sa + sa0 else if pre(mode) == Forward then sa - sa0 else sa + sa0); 
     1549              sa - f0/unitForce else if startBackward then sa + f0/unitForce else if pre(mode) == 
     1550        Forward then sa - f0/unitForce else sa + f0/unitForce); 
    15501551       
    15511552      /* Friction torque has to be defined in a subclass. Example for a clutch: 
  • branches/maintenance/2.2.2/Modelica/package.mo

    r1118 r1128  
    648648                        since in Dymola 7 unit propagation sometimes leads otherwise 
    649649                        to warnings.</td>  
    650   </tr> 
    651  
    652   <tr><td colspan=\"2\"><b>Mechanics.Rotational.Interfaces.</b></td></tr> 
    653   <tr><td valign=\"top\"> FrictionBase </td> 
    654       <td valign=\"top\"> Corrected and simplified parameterized curve description. 
    655                         The previous formulation could lead to an inconsistent mixed system 
    656                         of equations if peak > 1 and then an additional event iteration 
    657                         was needed to find the solution. The change therefore enhances 
    658                         efficiency in some situations. </td>  
    659   </tr> 
    660   <tr><td colspan=\"2\"><b>Mechanics.Translational.Interfaces.</b></td></tr> 
    661   <tr><td valign=\"top\"> FrictionBase </td> 
    662       <td valign=\"top\"> Corrected and simplified parameterized curve description. 
    663                         The previous formulation could lead to an inconsistent mixed system 
    664                         of equations if peak > 1 and then an additional event iteration 
    665                         was needed to find the solution. The change therefore enhances 
    666                         efficiency in some situations. </td>  
    667650  </tr> 
    668651