- Timestamp:
- 05/25/08 10:25:16 (6 months ago)
- Files:
-
- 1 modified
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:
