- Timestamp:
- 05/25/08 10:25:16 (6 months ago)
- Location:
- branches/maintenance/2.2.2/Modelica
- Files:
-
- 3 modified
-
Mechanics/Rotational.mo (modified) (4 diffs)
-
Mechanics/Translational.mo (modified) (6 diffs)
-
package.mo (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/maintenance/2.2.2/Modelica/Mechanics/Rotational.mo
r1118 r1128 724 724 Modelica.Mechanics.Rotational.Torque torque 725 725 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) 727 727 annotation (extent=[-25, -5; -15, 5]); 728 728 Modelica.Blocks.Sources.Sine sin1(amplitude=10, freqHz=5) … … 732 732 Modelica.Mechanics.Rotational.Inertia J2(J=1, initType=Modelica.Mechanics.Rotational.Types.Init.InitialState) 733 733 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) 735 735 annotation (extent=[15, -5; 25, 5]); 736 736 Modelica.Mechanics.Rotational.Inertia J3(J=1, initType=Modelica.Mechanics.Rotational.Types.Init.InitialState) 737 737 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) 739 739 annotation (extent=[55, -5; 65, 5]); 740 740 Modelica.Mechanics.Rotational.Inertia J4(J=1, initType=Modelica.Mechanics.Rotational.Types.Init.InitialState) … … 1817 1817 constant SI.AngularAcceleration unitAngularAcceleration = 1; 1818 1818 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 1821 1820 equation 1822 1821 /* Friction characteristic … … 1825 1824 special code shall be generated) */ 1826 1825 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); 1834 1834 1835 1835 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 else1838 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); 1839 1839 1840 1840 /* 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; 1 within Modelica.Mechanics; 2 2 3 3 … … 302 302 Translational.Spring S1( 303 303 s_rel0=1, 304 c=1e3, 304 c=1e3, 305 305 s_rel(start=1, fixed=false)) 306 306 annotation (extent=[-58, -20; -38, 0]); … … 308 308 Translational.SpringDamper SD1( 309 309 s_rel0=1, 310 c=111, 310 c=111, 311 311 s_rel(start=1, fixed=true)) 312 312 annotation (extent=[20, -20; 40, 0]); … … 1526 1526 </ul> 1527 1527 </html>")); 1528 protected 1528 protected 1529 1529 constant SI.Acceleration unitAcceleration = 1; 1530 1530 constant SI.Force unitForce = 1; 1531 Real sa0 = (f0_max + (f0_max - f0))/unitForce1532 "Value of sa when start of forward sliding at w=0";1533 1531 equation 1534 1532 /* Friction characteristic … … 1538 1536 */ 1539 1537 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); 1544 1544 1545 1545 locked = not free and not (pre(mode) == Forward or startForward or pre( … … 1547 1547 1548 1548 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); 1550 1551 1551 1552 /* Friction torque has to be defined in a subclass. Example for a clutch: -
branches/maintenance/2.2.2/Modelica/package.mo
r1118 r1128 648 648 since in Dymola 7 unit propagation sometimes leads otherwise 649 649 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 system656 of equations if peak > 1 and then an additional event iteration657 was needed to find the solution. The change therefore enhances658 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 system664 of equations if peak > 1 and then an additional event iteration665 was needed to find the solution. The change therefore enhances666 efficiency in some situations. </td>667 650 </tr> 668 651
