| 1 | package Modelica "Modelica Standard Library (Version 3.1)"
|
|---|
| 2 | extends Modelica.Icons.Library;
|
|---|
| 3 | annotation(preferredView="info", version="3.1", versionBuild=5, versionDate="2009-08-14", dateModified="2009-12-18 08:49:49Z", revisionId="$Id:: package.mo 3222 2009-12-18 08:53:50Z #$", conversion(noneFromVersion="3.0.1", noneFromVersion="3.0", from(version="2.1", script="Scripts/ConvertModelica_from_2.2.2_to_3.0.mos"), from(version="2.2", script="Scripts/ConvertModelica_from_2.2.2_to_3.0.mos"), from(version="2.2.1", script="Scripts/ConvertModelica_from_2.2.2_to_3.0.mos"), from(version="2.2.2", script="Scripts/ConvertModelica_from_2.2.2_to_3.0.mos")), __Dymola_classOrder={"UsersGuide","Blocks","StateGraph","Electrical","Magnetic","Mechanics","Fluid","Media","Thermal","Math","Utilities","Constants","Icons","SIunits"}, Settings(NewStateSelection=true), Documentation(info="<HTML>
|
|---|
| 4 | <p>
|
|---|
| 5 | Package <b>Modelica</b> is a <b>standardized</b> and <b>free</b> package
|
|---|
| 6 | that is developed together with the Modelica language from the
|
|---|
| 7 | Modelica Association, see
|
|---|
| 8 | <a href=\"http://www.Modelica.org\">http://www.Modelica.org</a>.
|
|---|
| 9 | It is also called <b>Modelica Standard Library</b>.
|
|---|
| 10 | It provides model components in many domains that are based on
|
|---|
| 11 | standardized interface definitions. Some typical examples are shown
|
|---|
| 12 | in the next figure:
|
|---|
| 13 | </p>
|
|---|
| 14 |
|
|---|
| 15 | <p>
|
|---|
| 16 | <img src=\"Images/UsersGuide/ModelicaLibraries.png\">
|
|---|
| 17 | </p>
|
|---|
| 18 |
|
|---|
| 19 | <p>
|
|---|
| 20 | For an introduction, have especially a look at:
|
|---|
| 21 | </p>
|
|---|
| 22 | <ul>
|
|---|
| 23 | <li> <a href=\"Modelica://Modelica.UsersGuide.Overview\">Overview</a>
|
|---|
| 24 | provides an overview of the Modelica Standard Library
|
|---|
| 25 | inside the <a href=\"Modelica://Modelica.UsersGuide\">User's Guide</a>.</li>
|
|---|
| 26 | <li><a href=\"Modelica://Modelica.UsersGuide.ReleaseNotes\">Release Notes</a>
|
|---|
| 27 | summarizes the changes of new versions of this package.</li>
|
|---|
| 28 | <li> <a href=\"Modelica://Modelica.UsersGuide.Contact\">Contact</a>
|
|---|
| 29 | lists the contributors of the Modelica Standard Library.</li>
|
|---|
| 30 | <li> The <b>Examples</b> packages in the various libraries, demonstrate
|
|---|
| 31 | how to use the components of the corresponding sublibrary.</li>
|
|---|
| 32 | </ul>
|
|---|
| 33 |
|
|---|
| 34 | <p>
|
|---|
| 35 | This version of the Modelica Standard Library consists of
|
|---|
| 36 | </p>
|
|---|
| 37 | <ul>
|
|---|
| 38 | <li> <b>922</b> models and blocks, and</li>
|
|---|
| 39 | <li> <b>615</b> functions
|
|---|
| 40 | </ul>
|
|---|
| 41 | <p>
|
|---|
| 42 | that are directly usable (= number of public, non-partial classes).
|
|---|
| 43 | </p>
|
|---|
| 44 |
|
|---|
| 45 |
|
|---|
| 46 | <p>
|
|---|
| 47 | <b>Licensed by the Modelica Association under the Modelica License 2</b><br>
|
|---|
| 48 | Copyright © 1998-2009, ABB, arsenal research, T. Bödrich, DLR, Dynasim, Fraunhofer, Modelon,
|
|---|
| 49 | TU Hamburg-Harburg, Politecnico di Milano.
|
|---|
| 50 | </p>
|
|---|
| 51 |
|
|---|
| 52 | <p>
|
|---|
| 53 | <i>This Modelica package is <u>free</u> software and
|
|---|
| 54 | the use is completely at <u>your own risk</u>;
|
|---|
| 55 | it can be redistributed and/or modified under the terms of the
|
|---|
| 56 | Modelica license 2, see the license conditions (including the
|
|---|
| 57 | disclaimer of warranty)
|
|---|
| 58 | <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense2\">here</a></u>
|
|---|
| 59 | or at
|
|---|
| 60 | <a href=\"http://www.Modelica.org/licenses/ModelicaLicense2\">
|
|---|
| 61 | http://www.Modelica.org/licenses/ModelicaLicense2</a>.
|
|---|
| 62 | </p>
|
|---|
| 63 |
|
|---|
| 64 | </HTML>
|
|---|
| 65 | "));
|
|---|
| 66 | package Mechanics "Library of 1-dim. and 3-dim. mechanical components (multi-body, rotational, translational)"
|
|---|
| 67 | extends Modelica.Icons.Library2;
|
|---|
| 68 | annotation(Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}), graphics={Rectangle(extent={{-5,-40},{45,-70}}, lineColor={0,0,0}, fillPattern=FillPattern.HorizontalCylinder, fillColor={192,192,192}),Ellipse(extent={{-90,-50},{-80,-60}}, lineColor={0,0,0}),Line(points={{-85,-55},{-60,-21}}, color={0,0,0}, thickness=0.5),Ellipse(extent={{-65,-16},{-55,-26}}, lineColor={0,0,0}),Line(points={{-60,-21},{9,-55}}, color={0,0,0}, thickness=0.5),Ellipse(extent={{4,-50},{14,-60}}, lineColor={0,0,0}, fillColor={0,0,0}, fillPattern=FillPattern.Solid),Line(points={{-10,-34},{72,-34},{72,-76},{-10,-76}}, color={0,0,0})}), Documentation(info="<HTML>
|
|---|
| 69 | <p>
|
|---|
| 70 | This package contains components to model the movement
|
|---|
| 71 | of 1-dim. rotational, 1-dim. translational, and
|
|---|
| 72 | 3-dim. <b>mechanical systems</b>.
|
|---|
| 73 | </p>
|
|---|
| 74 | </HTML>
|
|---|
| 75 | "));
|
|---|
| 76 | package MultiBody "Library to model 3-dimensional mechanical systems"
|
|---|
| 77 | import SI = Modelica.SIunits;
|
|---|
| 78 | extends Modelica.Icons.Library;
|
|---|
| 79 | annotation(Documentation(info="<HTML>
|
|---|
| 80 | <p>
|
|---|
| 81 | Library <b>MultiBody</b> is a <b>free</b> Modelica package providing
|
|---|
| 82 | 3-dimensional mechanical components to model in a convenient way
|
|---|
| 83 | <b>mechanical systems</b>, such as robots, mechanisms, vehicles.
|
|---|
| 84 | Typical animations generated with this library are shown
|
|---|
| 85 | in the next figure:
|
|---|
| 86 | </p>
|
|---|
| 87 | <p>
|
|---|
| 88 | <img src=\"../../Images/MultiBody/MultiBody.png\">
|
|---|
| 89 | </p>
|
|---|
| 90 | <p>
|
|---|
| 91 | For an introduction, have especially a look at:
|
|---|
| 92 | </p>
|
|---|
| 93 | <ul>
|
|---|
| 94 | <li> <a href=\"Modelica://Modelica.Mechanics.MultiBody.UsersGuide\">MultiBody.UsersGuide</a>
|
|---|
| 95 | discusses the most important aspects how to use this library.</li>
|
|---|
| 96 | <li> <a href=\"Modelica://Modelica.Mechanics.MultiBody.Examples\">MultiBody.Examples</a>
|
|---|
| 97 | contains examples that demonstrate the usage of this library.</li>
|
|---|
| 98 | </ul>
|
|---|
| 99 |
|
|---|
| 100 | <p>
|
|---|
| 101 | Copyright © 1998-2009, Modelica Association and DLR.
|
|---|
| 102 | </p>
|
|---|
| 103 | <p>
|
|---|
| 104 | <i>This Modelica package is <b>free</b> software; it can be redistributed and/or modified
|
|---|
| 105 | under the terms of the <b>Modelica license</b>, see the license conditions
|
|---|
| 106 | and the accompanying <b>disclaimer</b>
|
|---|
| 107 | <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense2\">here</a>.</i>
|
|---|
| 108 | </p><br>
|
|---|
| 109 | </HTML>"));
|
|---|
| 110 | package Frames "Functions to transform rotational frame quantities"
|
|---|
| 111 | extends Modelica.Icons.Library;
|
|---|
| 112 | package Quaternions "Functions to transform rotational frame quantities based on quaternions (also called Euler parameters)"
|
|---|
| 113 | extends Modelica.Icons.Library;
|
|---|
| 114 | type Orientation "Orientation type defining rotation from a frame 1 into a frame 2 with quaternions {p1,p2,p3,p0}"
|
|---|
| 115 | extends Internal.QuaternionBase;
|
|---|
| 116 | encapsulated function equalityConstraint "Return the constraint residues to express that two frames have the same quaternion orientation"
|
|---|
| 117 | import Modelica;
|
|---|
| 118 | import Modelica.Mechanics.MultiBody.Frames.Quaternions;
|
|---|
| 119 | extends Modelica.Icons.Function;
|
|---|
| 120 | input Quaternions.Orientation Q1 "Quaternions orientation object to rotate frame 0 into frame 1";
|
|---|
| 121 | input Quaternions.Orientation Q2 "Quaternions orientation object to rotate frame 0 into frame 2";
|
|---|
| 122 | output Real residue[3] "The half of the rotation angles around x-, y-, and z-axis of frame 1 to rotate frame 1 into frame 2 for a small rotation (shall be zero)";
|
|---|
| 123 | annotation(Inline=true);
|
|---|
| 124 | algorithm
|
|---|
| 125 | residue:=[Q1[4],Q1[3],-Q1[2],-Q1[1];-Q1[3],Q1[4],Q1[1],-Q1[2];Q1[2],-Q1[1],Q1[4],-Q1[3]]*Q2;
|
|---|
| 126 | end equalityConstraint;
|
|---|
| 127 |
|
|---|
| 128 | annotation(Documentation(info="<html>
|
|---|
| 129 | <p>
|
|---|
| 130 | This type describes the <b>rotation</b> to rotate a frame 1 into
|
|---|
| 131 | a frame 2 using quaternions (also called <b>Euler parameters</b>)
|
|---|
| 132 | according to the following definition:
|
|---|
| 133 | </p>
|
|---|
| 134 | <pre>
|
|---|
| 135 | Quaternions.Orientation Q;
|
|---|
| 136 | Real n[3];
|
|---|
| 137 | Real phi(unit=\"rad\");
|
|---|
| 138 | Q = [ n*sin(phi/2)
|
|---|
| 139 | cos(phi/2) ]
|
|---|
| 140 | </pre>
|
|---|
| 141 | <p>
|
|---|
| 142 | where \"n\" is the <b>axis of rotation</b> to rotate frame 1 into
|
|---|
| 143 | frame 2 and \"phi\" is the <b>rotation angle</b> for this rotation.
|
|---|
| 144 | Vector \"n\" is either resolved in frame 1 or in frame 2
|
|---|
| 145 | (the result is the same since the coordinates of \"n\" with respect to
|
|---|
| 146 | frame 1 are identical to its coordinates with respect to frame 2).
|
|---|
| 147 | <p>
|
|---|
| 148 | <p>
|
|---|
| 149 | The term \"quaternions\" is prefered over the historically
|
|---|
| 150 | more reasonable \"Euler parameters\" in order to not get
|
|---|
| 151 | confused with Modelica \"parameters\".
|
|---|
| 152 | </p>
|
|---|
| 153 | </html>
|
|---|
| 154 | "));
|
|---|
| 155 | end Orientation;
|
|---|
| 156 |
|
|---|
| 157 | function planarRotation "Return quaternions orientation object of a planar rotation"
|
|---|
| 158 | import Modelica.Math;
|
|---|
| 159 | extends Modelica.Icons.Function;
|
|---|
| 160 | input Real e[3](each final unit="1") "Normalized axis of rotation (must have length=1)";
|
|---|
| 161 | input Modelica.SIunits.Angle angle "Rotation angle to rotate frame 1 into frame 2 along axis e";
|
|---|
| 162 | output Quaternions.Orientation Q "Quaternions orientation object to rotate frame 1 into frame 2 along axis e";
|
|---|
| 163 | annotation(Inline=true);
|
|---|
| 164 | algorithm
|
|---|
| 165 | Q:=vector([e*Math.sin(angle/2);Math.cos(angle/2)]);
|
|---|
| 166 | end planarRotation;
|
|---|
| 167 |
|
|---|
| 168 | annotation(Documentation(info="<HTML>
|
|---|
| 169 | <p>
|
|---|
| 170 | Package <b>Frames.Quaternions</b> contains type definitions and
|
|---|
| 171 | functions to transform rotational frame quantities with quaternions.
|
|---|
| 172 | Functions of this package are currently only utilized in
|
|---|
| 173 | MultiBody.Parts.Body components, when quaternions shall be used
|
|---|
| 174 | as parts of the body states.
|
|---|
| 175 | Some functions are also used in a new Modelica package for
|
|---|
| 176 | B-Spline interpolation that is able to interpolate paths consisting of
|
|---|
| 177 | position vectors and orientation objects.
|
|---|
| 178 | </p>
|
|---|
| 179 | <h4>Content</h4>
|
|---|
| 180 | <p>In the table below an example is given for every function definition.
|
|---|
| 181 | The used variables have the following declaration:
|
|---|
| 182 | </p>
|
|---|
| 183 | <pre>
|
|---|
| 184 | Quaternions.Orientation Q, Q1, Q2, Q_rel, Q_inv;
|
|---|
| 185 | Real[3,3] T, T_inv;
|
|---|
| 186 | Real[3] v1, v2, w1, w2, n_x, n_y, n_z, res_ori, phi;
|
|---|
| 187 | Real[6] res_equal;
|
|---|
| 188 | Real L, angle;
|
|---|
| 189 | </pre>
|
|---|
| 190 | <table border=1 cellspacing=0 cellpadding=2>
|
|---|
| 191 | <tr><th><b><i>Function/type</i></b></th><th><b><i>Description</i></b></th></tr>
|
|---|
| 192 | <tr><td valign=\"top\"><b>Orientation Q;</b></td>
|
|---|
| 193 | <td valign=\"top\">New type defining a quaternion object that describes<br>
|
|---|
| 194 | the rotation of frame 1 into frame 2.
|
|---|
| 195 | </td>
|
|---|
| 196 | </tr>
|
|---|
| 197 | <tr><td valign=\"top\"><b>der_Orientation</b> der_Q;</td>
|
|---|
| 198 | <td valign=\"top\">New type defining the first time derivative
|
|---|
| 199 | of Frames.Quaternions.Orientation.
|
|---|
| 200 | </td>
|
|---|
| 201 | </tr>
|
|---|
| 202 | <tr><td valign=\"top\">res_ori = <b>orientationConstraint</b>(Q);</td>
|
|---|
| 203 | <td valign=\"top\">Return the constraints between the variables of a quaternion object<br>
|
|---|
| 204 | (shall be zero).</td>
|
|---|
| 205 | </tr>
|
|---|
| 206 | <tr><td valign=\"top\">w1 = <b>angularVelocity1</b>(Q, der_Q);</td>
|
|---|
| 207 | <td valign=\"top\">Return angular velocity resolved in frame 1 from
|
|---|
| 208 | quaternion object Q<br> and its derivative der_Q.
|
|---|
| 209 | </td>
|
|---|
| 210 | </tr>
|
|---|
| 211 | <tr><td valign=\"top\">w2 = <b>angularVelocity2</b>(Q, der_Q);</td>
|
|---|
| 212 | <td valign=\"top\">Return angular velocity resolved in frame 2 from
|
|---|
| 213 | quaternion object Q<br> and its derivative der_Q.
|
|---|
| 214 | </td>
|
|---|
| 215 | </tr>
|
|---|
| 216 | <tr><td valign=\"top\">v1 = <b>resolve1</b>(Q,v2);</td>
|
|---|
| 217 | <td valign=\"top\">Transform vector v2 from frame 2 to frame 1.
|
|---|
| 218 | </td>
|
|---|
| 219 | </tr>
|
|---|
| 220 | <tr><td valign=\"top\">v2 = <b>resolve2</b>(Q,v1);</td>
|
|---|
| 221 | <td valign=\"top\">Transform vector v1 from frame 1 to frame 2.
|
|---|
| 222 | </td>
|
|---|
| 223 | </tr>
|
|---|
| 224 | <tr><td valign=\"top\">[v1,w1] = <b>multipleResolve1</b>(Q, [v2,w2]);</td>
|
|---|
| 225 | <td valign=\"top\">Transform several vectors from frame 2 to frame 1.
|
|---|
| 226 | </td>
|
|---|
| 227 | </tr>
|
|---|
| 228 | <tr><td valign=\"top\">[v2,w2] = <b>multipleResolve2</b>(Q, [v1,w1]);</td>
|
|---|
| 229 | <td valign=\"top\">Transform several vectors from frame 1 to frame 2.
|
|---|
| 230 | </td>
|
|---|
| 231 | </tr>
|
|---|
| 232 | <tr><td valign=\"top\">Q = <b>nullRotation</b>()</td>
|
|---|
| 233 | <td valign=\"top\">Return quaternion object R that does not rotate a frame.
|
|---|
| 234 | </tr>
|
|---|
| 235 | <tr><td valign=\"top\">Q_inv = <b>inverseRotation</b>(Q);</td>
|
|---|
| 236 | <td valign=\"top\">Return inverse quaternion object.
|
|---|
| 237 | </td>
|
|---|
| 238 | </tr>
|
|---|
| 239 | <tr><td valign=\"top\">Q_rel = <b>relativeRotation</b>(Q1,Q2);</td>
|
|---|
| 240 | <td valign=\"top\">Return relative quaternion object from two absolute
|
|---|
| 241 | quaternion objects.
|
|---|
| 242 | </td>
|
|---|
| 243 | </tr>
|
|---|
| 244 | <tr><td valign=\"top\">Q2 = <b>absoluteRotation</b>(Q1,Q_rel);</td>
|
|---|
| 245 | <td valign=\"top\">Return absolute quaternion object from another
|
|---|
| 246 | absolute<br> and a relative quaternion object.
|
|---|
| 247 | </td>
|
|---|
| 248 | </tr>
|
|---|
| 249 | <tr><td valign=\"top\">Q = <b>planarRotation</b>(e, angle);</td>
|
|---|
| 250 | <td valign=\"top\">Return quaternion object of a planar rotation.
|
|---|
| 251 | </td>
|
|---|
| 252 | </tr>
|
|---|
| 253 | <tr><td valign=\"top\">phi = <b>smallRotation</b>(Q);</td>
|
|---|
| 254 | <td valign=\"top\">Return rotation angles phi valid for a small rotation.
|
|---|
| 255 | </td>
|
|---|
| 256 | </tr>
|
|---|
| 257 | <tr><td valign=\"top\">Q = <b>from_T</b>(T);</td>
|
|---|
| 258 | <td valign=\"top\">Return quaternion object Q from transformation matrix T.
|
|---|
| 259 | </td>
|
|---|
| 260 | </tr>
|
|---|
| 261 | <tr><td valign=\"top\">Q = <b>from_T_inv</b>(T_inv);</td>
|
|---|
| 262 | <td valign=\"top\">Return quaternion object Q from inverse transformation matrix T_inv.
|
|---|
| 263 | </td>
|
|---|
| 264 | </tr>
|
|---|
| 265 | <tr><td valign=\"top\">T = <b>to_T</b>(Q);</td>
|
|---|
| 266 | <td valign=\"top\">Return transformation matrix T from quaternion object Q.
|
|---|
| 267 | </tr>
|
|---|
| 268 | <tr><td valign=\"top\">T_inv = <b>to_T_inv</b>(Q);</td>
|
|---|
| 269 | <td valign=\"top\">Return inverse transformation matrix T_inv from quaternion object Q.
|
|---|
| 270 | </td>
|
|---|
| 271 | </tr>
|
|---|
| 272 | </table>
|
|---|
| 273 | </HTML>"));
|
|---|
| 274 | end Quaternions;
|
|---|
| 275 |
|
|---|
| 276 | package Internal "Internal definitions that may be removed or changed (do not use)"
|
|---|
| 277 | extends Modelica.Icons.Library;
|
|---|
| 278 | type QuaternionBase= Real[4];
|
|---|
| 279 | end Internal;
|
|---|
| 280 |
|
|---|
| 281 | annotation(Documentation(info="<HTML>
|
|---|
| 282 | <p>
|
|---|
| 283 | Package <b>Frames</b> contains type definitions and
|
|---|
| 284 | functions to transform rotational frame quantities. The basic idea is to
|
|---|
| 285 | hide the actual definition of an <b>orientation</b> in this package
|
|---|
| 286 | by providing essentially type <b>Orientation</b> together with
|
|---|
| 287 | <b>functions</b> operating on instances of this type.
|
|---|
| 288 | </p>
|
|---|
| 289 | <h4>Content</h4>
|
|---|
| 290 | <p>In the table below an example is given for every function definition.
|
|---|
| 291 | The used variables have the following declaration:
|
|---|
| 292 | </p>
|
|---|
| 293 | <pre>
|
|---|
| 294 | Frames.Orientation R, R1, R2, R_rel, R_inv;
|
|---|
| 295 | Real[3,3] T, T_inv;
|
|---|
| 296 | Real[3] v1, v2, w1, w2, n_x, n_y, n_z, e, e_x, res_ori, phi;
|
|---|
| 297 | Real[6] res_equal;
|
|---|
| 298 | Real L, angle;
|
|---|
| 299 | </pre>
|
|---|
| 300 | <table border=1 cellspacing=0 cellpadding=2>
|
|---|
| 301 | <tr><th><b><i>Function/type</i></b></th><th><b><i>Description</i></b></th></tr>
|
|---|
| 302 | <tr><td valign=\"top\"><b>Orientation R;</b></td>
|
|---|
| 303 | <td valign=\"top\">New type defining an orientation object that describes<br>
|
|---|
| 304 | the rotation of frame 1 into frame 2.
|
|---|
| 305 | </td>
|
|---|
| 306 | </tr>
|
|---|
| 307 | <tr><td valign=\"top\">res_ori = <b>orientationConstraint</b>(R);</td>
|
|---|
| 308 | <td valign=\"top\">Return the constraints between the variables of an orientation object<br>
|
|---|
| 309 | (shall be zero).</td>
|
|---|
| 310 | </tr>
|
|---|
| 311 | <tr><td valign=\"top\">w1 = <b>angularVelocity1</b>(R);</td>
|
|---|
| 312 | <td valign=\"top\">Return angular velocity resolved in frame 1 from
|
|---|
| 313 | orientation object R.
|
|---|
| 314 | </td>
|
|---|
| 315 | </tr>
|
|---|
| 316 | <tr><td valign=\"top\">w2 = <b>angularVelocity2</b>(R);</td>
|
|---|
| 317 | <td valign=\"top\">Return angular velocity resolved in frame 2 from
|
|---|
| 318 | orientation object R.
|
|---|
| 319 | </td>
|
|---|
| 320 | </tr>
|
|---|
| 321 | <tr><td valign=\"top\">v1 = <b>resolve1</b>(R,v2);</td>
|
|---|
| 322 | <td valign=\"top\">Transform vector v2 from frame 2 to frame 1.
|
|---|
| 323 | </td>
|
|---|
| 324 | </tr>
|
|---|
| 325 | <tr><td valign=\"top\">v2 = <b>resolve2</b>(R,v1);</td>
|
|---|
| 326 | <td valign=\"top\">Transform vector v1 from frame 1 to frame 2.
|
|---|
| 327 | </td>
|
|---|
| 328 | </tr>
|
|---|
| 329 | <tr><td valign=\"top\">v2 = <b>resolveRelative</b>(v1,R1,R2);</td>
|
|---|
| 330 | <td valign=\"top\">Transform vector v1 from frame 1 to frame 2
|
|---|
| 331 | using absolute orientation objects R1 of frame 1 and R2 of frame 2.
|
|---|
| 332 | </td>
|
|---|
| 333 | </tr>
|
|---|
| 334 | <tr><td valign=\"top\">D1 = <b>resolveDyade1</b>(R,D2);</td>
|
|---|
| 335 | <td valign=\"top\">Transform second order tensor D2 from frame 2 to frame 1.
|
|---|
| 336 | </td>
|
|---|
| 337 | </tr>
|
|---|
| 338 | <tr><td valign=\"top\">D2 = <b>resolveDyade2</b>(R,D1);</td>
|
|---|
| 339 | <td valign=\"top\">Transform second order tensor D1 from frame 1 to frame 2.
|
|---|
| 340 | </td>
|
|---|
| 341 | </tr>
|
|---|
| 342 | <tr><td valign=\"top\">R = <b>nullRotation</b>()</td>
|
|---|
| 343 | <td valign=\"top\">Return orientation object R that does not rotate a frame.
|
|---|
| 344 | </tr>
|
|---|
| 345 | <tr><td valign=\"top\">R_inv = <b>inverseRotation</b>(R);</td>
|
|---|
| 346 | <td valign=\"top\">Return inverse orientation object.
|
|---|
| 347 | </td>
|
|---|
| 348 | </tr>
|
|---|
| 349 | <tr><td valign=\"top\">R_rel = <b>relativeRotation</b>(R1,R2);</td>
|
|---|
| 350 | <td valign=\"top\">Return relative orientation object from two absolute
|
|---|
| 351 | orientation objects.
|
|---|
| 352 | </td>
|
|---|
| 353 | </tr>
|
|---|
| 354 | <tr><td valign=\"top\">R2 = <b>absoluteRotation</b>(R1,R_rel);</td>
|
|---|
| 355 | <td valign=\"top\">Return absolute orientation object from another
|
|---|
| 356 | absolute<br> and a relative orientation object.
|
|---|
| 357 | </td>
|
|---|
| 358 | </tr>
|
|---|
| 359 | <tr><td valign=\"top\">R = <b>planarRotation</b>(e, angle, der_angle);</td>
|
|---|
| 360 | <td valign=\"top\">Return orientation object of a planar rotation.
|
|---|
| 361 | </td>
|
|---|
| 362 | </tr>
|
|---|
| 363 | <tr><td valign=\"top\">angle = <b>planarRotationAngle</b>(e, v1, v2);</td>
|
|---|
| 364 | <td valign=\"top\">Return angle of a planar rotation, given the rotation axis<br>
|
|---|
| 365 | and the representations of a vector in frame 1 and frame 2.
|
|---|
| 366 | </td>
|
|---|
| 367 | </tr>
|
|---|
| 368 | <tr><td valign=\"top\">R = <b>axisRotation</b>(axis, angle, der_angle);</td>
|
|---|
| 369 | <td valign=\"top\">Return orientation object R to rotate around angle along axis of frame 1.
|
|---|
| 370 | </td>
|
|---|
| 371 | </tr>
|
|---|
| 372 | <tr><td valign=\"top\">R = <b>axesRotations</b>(sequence, angles, der_angles);</td>
|
|---|
| 373 | <td valign=\"top\">Return rotation object to rotate in sequence around 3 axes. Example:<br>
|
|---|
| 374 | R = axesRotations({1,2,3},{pi/2,pi/4,-pi}, zeros(3));
|
|---|
| 375 | </td>
|
|---|
| 376 | </tr>
|
|---|
| 377 | <tr><td valign=\"top\">angles = <b>axesRotationsAngles</b>(R, sequence);</td>
|
|---|
| 378 | <td valign=\"top\">Return the 3 angles to rotate in sequence around 3 axes to<br>
|
|---|
| 379 | construct the given orientation object.
|
|---|
| 380 | </td>
|
|---|
| 381 | </tr>
|
|---|
| 382 | <tr><td valign=\"top\">phi = <b>smallRotation</b>(R);</td>
|
|---|
| 383 | <td valign=\"top\">Return rotation angles phi valid for a small rotation R.
|
|---|
| 384 | </td>
|
|---|
| 385 | </tr>
|
|---|
| 386 | <tr><td valign=\"top\">R = <b>from_nxy</b>(n_x, n_y);</td>
|
|---|
| 387 | <td valign=\"top\">Return orientation object from n_x and n_y vectors.
|
|---|
| 388 | </td>
|
|---|
| 389 | </tr>
|
|---|
| 390 | <tr><td valign=\"top\">R = <b>from_nxz</b>(n_x, n_z);</td>
|
|---|
| 391 | <td valign=\"top\">Return orientation object from n_x and n_z vectors.
|
|---|
| 392 | </td>
|
|---|
| 393 | </tr>
|
|---|
| 394 | <tr><td valign=\"top\">R = <b>from_T</b>(T,w);</td>
|
|---|
| 395 | <td valign=\"top\">Return orientation object R from transformation matrix T and
|
|---|
| 396 | its angular velocity w.
|
|---|
| 397 | </td>
|
|---|
| 398 | </tr>
|
|---|
| 399 | <tr><td valign=\"top\">R = <b>from_T2</b>(T,der(T));</td>
|
|---|
| 400 | <td valign=\"top\">Return orientation object R from transformation matrix T and
|
|---|
| 401 | its derivative der(T).
|
|---|
| 402 | </td>
|
|---|
| 403 | </tr>
|
|---|
| 404 | <tr><td valign=\"top\">R = <b>from_T_inv</b>(T_inv,w);</td>
|
|---|
| 405 | <td valign=\"top\">Return orientation object R from inverse transformation matrix T_inv and
|
|---|
| 406 | its angular velocity w.
|
|---|
| 407 | </td>
|
|---|
| 408 | </tr>
|
|---|
| 409 | <tr><td valign=\"top\">R = <b>from_Q</b>(Q,w);</td>
|
|---|
| 410 | <td valign=\"top\">Return orientation object R from quaternion orientation object Q
|
|---|
| 411 | and its angular velocity w.
|
|---|
| 412 | </td>
|
|---|
| 413 | </tr>
|
|---|
| 414 | <tr><td valign=\"top\">T = <b>to_T</b>(R);</td>
|
|---|
| 415 | <td valign=\"top\">Return transformation matrix T from orientation object R.
|
|---|
| 416 | </tr>
|
|---|
| 417 | <tr><td valign=\"top\">T_inv = <b>to_T_inv</b>(R);</td>
|
|---|
| 418 | <td valign=\"top\">Return inverse transformation matrix T_inv from orientation object R.
|
|---|
| 419 | </td>
|
|---|
| 420 | </tr>
|
|---|
| 421 | <tr><td valign=\"top\">Q = <b>to_Q</b>(R);</td>
|
|---|
| 422 | <td valign=\"top\">Return quaternione orientation object Q from orientation object R.
|
|---|
| 423 | </td>
|
|---|
| 424 | </tr>
|
|---|
| 425 | <tr><td valign=\"top\">exy = <b>to_exy</b>(R);</td>
|
|---|
| 426 | <td valign=\"top\">Return [e_x, e_y] matrix of an orientation object R, <br>
|
|---|
| 427 | with e_x and e_y vectors of frame 2, resolved in frame 1.
|
|---|
| 428 | </tr>
|
|---|
| 429 | <tr><td valign=\"top\">L = <b>length</b>(n_x);</td>
|
|---|
| 430 | <td valign=\"top\">Return length L of a vector n_x.
|
|---|
| 431 | </td>
|
|---|
| 432 | </tr>
|
|---|
| 433 | <tr><td valign=\"top\">e_x = <b>normalize</b>(n_x);</td>
|
|---|
| 434 | <td valign=\"top\">Return normalized vector e_x of n_x such that length of e_x is one.
|
|---|
| 435 | </td>
|
|---|
| 436 | </tr>
|
|---|
| 437 | <tr><td valign=\"top\">e = <b>axis</b>(i);</td>
|
|---|
| 438 | <td valign=\"top\">Return unit vector e directed along axis i
|
|---|
| 439 | </td>
|
|---|
| 440 | </tr>
|
|---|
| 441 | <tr><td valign=\"top\"><a href=\"Modelica://Modelica.Mechanics.MultiBody.Frames.Quaternions\">Quaternions</a></td>
|
|---|
| 442 | <td valign=\"top\"><b>Package</b> with functions to transform rotational frame quantities based
|
|---|
| 443 | on quaternions (also called Euler parameters).
|
|---|
| 444 | </td>
|
|---|
| 445 | </tr>
|
|---|
| 446 | <tr><td valign=\"top\"><a href=\"Modelica://Modelica.Mechanics.MultiBody.Frames.TransformationMatrices\">TransformationMatrices</a></td>
|
|---|
| 447 | <td valign=\"top\"><b>Package</b> with functions to transform rotational frame quantities based
|
|---|
| 448 | on transformation matrices.
|
|---|
| 449 | </td>
|
|---|
| 450 | </tr>
|
|---|
| 451 | </table>
|
|---|
| 452 | </HTML>"));
|
|---|
| 453 | end Frames;
|
|---|
| 454 |
|
|---|
| 455 | end MultiBody;
|
|---|
| 456 |
|
|---|
| 457 | end Mechanics;
|
|---|
| 458 |
|
|---|
| 459 | package Math "Library of mathematical functions (e.g., sin, cos) and of functions operating on vectors and matrices"
|
|---|
| 460 | import SI = Modelica.SIunits;
|
|---|
| 461 | extends Modelica.Icons.Library2;
|
|---|
| 462 | function cos "Cosine"
|
|---|
| 463 | extends baseIcon1;
|
|---|
| 464 | input SI.Angle u;
|
|---|
| 465 | output Real y;
|
|---|
| 466 |
|
|---|
| 467 | external "C" y=cos(u) ;
|
|---|
| 468 | annotation(Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}, grid={2,2}), graphics={Line(points={{-90,0},{68,0}}, color={192,192,192}),Polygon(points={{90,0},{68,8},{68,-8},{90,0}}, lineColor={192,192,192}, fillColor={192,192,192}, fillPattern=FillPattern.Solid),Line(points={{-80,80},{-74.4,78.1},{-68.7,72.3},{-63.1,63},{-56.7,48.7},{-48.6,26.6},{-29.3,-32.5},{-22.1,-51.7},{-15.7,-65.3},{-10.1,-73.8},{-4.42,-78.8},{1.21,-79.9},{6.83,-77.1},{12.5,-70.6},{18.1,-60.6},{24.5,-45.7},{32.6,-23},{50.3,31.3},{57.5,50.7},{63.9,64.6},{69.5,73.4},{75.2,78.6},{80,80}}, color={0,0,0}),Text(extent={{-36,82},{36,34}}, lineColor={192,192,192}, textString="cos")}), Diagram(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}, grid={2,2}), graphics={Text(extent={{-103,72},{-83,88}}, textString="1", lineColor={0,0,255}),Text(extent={{-103,-72},{-83,-88}}, textString="-1", lineColor={0,0,255}),Text(extent={{70,25},{90,5}}, textString="2*pi", lineColor={0,0,255}),Line(points={{-100,0},{84,0}}, color={95,95,95}),Polygon(points={{98,0},{82,6},{82,-6},{98,0}}, lineColor={95,95,95}, fillColor={95,95,95}, fillPattern=FillPattern.Solid),Line(points={{-80,80},{-74.4,78.1},{-68.7,72.3},{-63.1,63},{-56.7,48.7},{-48.6,26.6},{-29.3,-32.5},{-22.1,-51.7},{-15.7,-65.3},{-10.1,-73.8},{-4.42,-78.8},{1.21,-79.9},{6.83,-77.1},{12.5,-70.6},{18.1,-60.6},{24.5,-45.7},{32.6,-23},{50.3,31.3},{57.5,50.7},{63.9,64.6},{69.5,73.4},{75.2,78.6},{80,80}}, color={0,0,255}, thickness=0.5),Text(extent={{78,-6},{98,-26}}, lineColor={95,95,95}, textString="u"),Line(points={{-80,-80},{18,-80}}, color={175,175,175}, smooth=Smooth.None)}), Documentation(info="<html>
|
|---|
| 469 | <p>
|
|---|
| 470 | This function returns y = cos(u), with -∞ < u < ∞:
|
|---|
| 471 | </p>
|
|---|
| 472 |
|
|---|
| 473 | <p>
|
|---|
| 474 | <img src=\"../Images/Math/cos.png\">
|
|---|
| 475 | </p>
|
|---|
| 476 | </html>"), Library="ModelicaExternalC");
|
|---|
| 477 | end cos;
|
|---|
| 478 |
|
|---|
| 479 | partial function baseIcon1 "Basic icon for mathematical function with y-axis on left side"
|
|---|
| 480 | annotation(Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}), graphics={Rectangle(extent={{-100,100},{100,-100}}, lineColor={0,0,0}, fillColor={255,255,255}, fillPattern=FillPattern.Solid),Line(points={{-80,-80},{-80,68}}, color={192,192,192}),Polygon(points={{-80,90},{-88,68},{-72,68},{-80,90}}, lineColor={192,192,192}, fillColor={192,192,192}, fillPattern=FillPattern.Solid),Text(extent={{-150,150},{150,110}}, textString="%name", lineColor={0,0,255})}), Diagram(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}), graphics={Line(points={{-80,80},{-88,80}}, color={95,95,95}),Line(points={{-80,-80},{-88,-80}}, color={95,95,95}),Line(points={{-80,-90},{-80,84}}, color={95,95,95}),Text(extent={{-75,104},{-55,84}}, lineColor={95,95,95}, textString="y"),Polygon(points={{-80,98},{-86,82},{-74,82},{-80,98}}, lineColor={95,95,95}, fillColor={95,95,95}, fillPattern=FillPattern.Solid)}), Documentation(info="<html>
|
|---|
| 481 | <p>
|
|---|
| 482 | Icon for a mathematical function, consisting of an y-axis on the left side.
|
|---|
| 483 | It is expected, that an x-axis is added and a plot of the function.
|
|---|
| 484 | </p>
|
|---|
| 485 | </html>"));
|
|---|
| 486 | end baseIcon1;
|
|---|
| 487 |
|
|---|
| 488 | annotation(Invisible=true, Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}), graphics={Text(extent={{-59,-9},{42,-56}}, lineColor={0,0,0}, textString="f(x)")}), Documentation(info="<HTML>
|
|---|
| 489 | <p>
|
|---|
| 490 | This package contains <b>basic mathematical functions</b> (such as sin(..)),
|
|---|
| 491 | as well as functions operating on <b>vectors</b> and <b>matrices</b>.
|
|---|
| 492 | </p>
|
|---|
| 493 |
|
|---|
| 494 | <dl>
|
|---|
| 495 | <dt><b>Main Author:</b>
|
|---|
| 496 | <dd><a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a><br>
|
|---|
| 497 | Deutsches Zentrum für Luft und Raumfahrt e.V. (DLR)<br>
|
|---|
| 498 | Institut für Robotik und Mechatronik<br>
|
|---|
| 499 | Postfach 1116<br>
|
|---|
| 500 | D-82230 Wessling<br>
|
|---|
| 501 | Germany<br>
|
|---|
| 502 | email: <A HREF=\"mailto:Martin.Otter@dlr.de\">Martin.Otter@dlr.de</A><br>
|
|---|
| 503 | </dl>
|
|---|
| 504 |
|
|---|
| 505 | <p>
|
|---|
| 506 | Copyright © 1998-2009, Modelica Association and DLR.
|
|---|
| 507 | </p>
|
|---|
| 508 | <p>
|
|---|
| 509 | <i>This Modelica package is <b>free</b> software; it can be redistributed and/or modified
|
|---|
| 510 | under the terms of the <b>Modelica license</b>, see the license conditions
|
|---|
| 511 | and the accompanying <b>disclaimer</b>
|
|---|
| 512 | <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense2\">here</a>.</i>
|
|---|
| 513 | </p><br>
|
|---|
| 514 | </HTML>
|
|---|
| 515 | ", revisions="<html>
|
|---|
| 516 | <ul>
|
|---|
| 517 | <li><i>October 21, 2002</i>
|
|---|
| 518 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>
|
|---|
| 519 | and <a href=\"http://www.robotic.dlr.de/Christian.Schweiger/\">Christian Schweiger</a>:<br>
|
|---|
| 520 | Function tempInterpol2 added.</li>
|
|---|
| 521 | <li><i>Oct. 24, 1999</i>
|
|---|
| 522 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 523 | Icons for icon and diagram level introduced.</li>
|
|---|
| 524 | <li><i>June 30, 1999</i>
|
|---|
| 525 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 526 | Realized.</li>
|
|---|
| 527 | </ul>
|
|---|
| 528 |
|
|---|
| 529 | </html>"));
|
|---|
| 530 | end Math;
|
|---|
| 531 |
|
|---|
| 532 | package SIunits "Library of type and unit definitions based on SI units according to ISO 31-1992"
|
|---|
| 533 | extends Modelica.Icons.Library2;
|
|---|
| 534 | type Angle= Real(final quantity="Angle", final unit="rad", displayUnit="deg");
|
|---|
| 535 | annotation(Invisible=true, Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}), graphics={Text(extent={{-63,-13},{45,-67}}, lineColor={0,0,0}, textString="[kg.m2]")}), Documentation(info="<html>
|
|---|
| 536 | <p>This package provides predefined types, such as <i>Mass</i>,
|
|---|
| 537 | <i>Angle</i>, <i>Time</i>, based on the international standard
|
|---|
| 538 | on units, e.g.,
|
|---|
| 539 | </p>
|
|---|
| 540 |
|
|---|
| 541 | <pre> <b>type</b> Angle = Real(<b>final</b> quantity = \"Angle\",
|
|---|
| 542 | <b>final</b> unit = \"rad\",
|
|---|
| 543 | displayUnit = \"deg\");
|
|---|
| 544 | </pre>
|
|---|
| 545 |
|
|---|
| 546 | <p>
|
|---|
| 547 | as well as conversion functions from non SI-units to SI-units
|
|---|
| 548 | and vice versa in subpackage
|
|---|
| 549 | <a href=\"Modelica://Modelica.SIunits.Conversions\">Conversions</a>.
|
|---|
| 550 | </p>
|
|---|
| 551 |
|
|---|
| 552 | <p>
|
|---|
| 553 | For an introduction how units are used in the Modelica standard library
|
|---|
| 554 | with package SIunits, have a look at:
|
|---|
| 555 | <a href=\"Modelica://Modelica.SIunits.UsersGuide.HowToUseSIunits\">How to use SIunits</a>.
|
|---|
| 556 | </p>
|
|---|
| 557 |
|
|---|
| 558 | <p>
|
|---|
| 559 | Copyright © 1998-2009, Modelica Association and DLR.
|
|---|
| 560 | </p>
|
|---|
| 561 | <p>
|
|---|
| 562 | <i>This Modelica package is <b>free</b> software; it can be redistributed and/or modified
|
|---|
| 563 | under the terms of the <b>Modelica license</b>, see the license conditions
|
|---|
| 564 | and the accompanying <b>disclaimer</b>
|
|---|
| 565 | <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense2\">here</a>.</i>
|
|---|
| 566 | </p>
|
|---|
| 567 |
|
|---|
| 568 | </html>", revisions="<html>
|
|---|
| 569 | <ul>
|
|---|
| 570 | <li><i>Dec. 14, 2005</i>
|
|---|
| 571 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 572 | Add User's Guide and removed \"min\" values for Resistance and Conductance.</li>
|
|---|
| 573 | <li><i>October 21, 2002</i>
|
|---|
| 574 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>
|
|---|
| 575 | and <a href=\"http://www.robotic.dlr.de/Christian.Schweiger/\">Christian Schweiger</a>:<br>
|
|---|
| 576 | Added new package <b>Conversions</b>. Corrected typo <i>Wavelenght</i>.</li>
|
|---|
| 577 | <li><i>June 6, 2000</i>
|
|---|
| 578 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 579 | Introduced the following new types<br>
|
|---|
| 580 | type Temperature = ThermodynamicTemperature;<br>
|
|---|
| 581 | types DerDensityByEnthalpy, DerDensityByPressure,
|
|---|
| 582 | DerDensityByTemperature, DerEnthalpyByPressure,
|
|---|
| 583 | DerEnergyByDensity, DerEnergyByPressure<br>
|
|---|
| 584 | Attribute \"final\" removed from min and max values
|
|---|
| 585 | in order that these values can still be changed to narrow
|
|---|
| 586 | the allowed range of values.<br>
|
|---|
| 587 | Quantity=\"Stress\" removed from type \"Stress\", in order
|
|---|
| 588 | that a type \"Stress\" can be connected to a type \"Pressure\".</li>
|
|---|
| 589 | <li><i>Oct. 27, 1999</i>
|
|---|
| 590 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 591 | New types due to electrical library: Transconductance, InversePotential,
|
|---|
| 592 | Damping.</li>
|
|---|
| 593 | <li><i>Sept. 18, 1999</i>
|
|---|
| 594 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 595 | Renamed from SIunit to SIunits. Subpackages expanded, i.e., the
|
|---|
| 596 | SIunits package, does no longer contain subpackages.</li>
|
|---|
| 597 | <li><i>Aug 12, 1999</i>
|
|---|
| 598 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 599 | Type \"Pressure\" renamed to \"AbsolutePressure\" and introduced a new
|
|---|
| 600 | type \"Pressure\" which does not contain a minimum of zero in order
|
|---|
| 601 | to allow convenient handling of relative pressure. Redefined
|
|---|
| 602 | BulkModulus as an alias to AbsolutePressure instead of Stress, since
|
|---|
| 603 | needed in hydraulics.</li>
|
|---|
| 604 | <li><i>June 29, 1999</i>
|
|---|
| 605 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 606 | Bug-fix: Double definition of \"Compressibility\" removed
|
|---|
| 607 | and appropriate \"extends Heat\" clause introduced in
|
|---|
| 608 | package SolidStatePhysics to incorporate ThermodynamicTemperature.</li>
|
|---|
| 609 | <li><i>April 8, 1998</i>
|
|---|
| 610 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>
|
|---|
| 611 | and Astrid Jaschinski:<br>
|
|---|
| 612 | Complete ISO 31 chapters realized.</li>
|
|---|
| 613 | <li><i>Nov. 15, 1997</i>
|
|---|
| 614 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>
|
|---|
| 615 | and <a href=\"http://www.control.lth.se/~hubertus/\">Hubertus Tummescheit</a>:<br>
|
|---|
| 616 | Some chapters realized.</li>
|
|---|
| 617 | </ul>
|
|---|
| 618 | </html>"), Diagram(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}), graphics={Rectangle(extent={{169,86},{349,236}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{169,236},{189,256},{369,256},{349,236},{169,236}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{369,256},{369,106},{349,86},{349,236},{369,256}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Text(extent={{179,226},{339,196}}, lineColor={160,160,164}, textString="Library"),Text(extent={{206,173},{314,119}}, lineColor={0,0,0}, textString="[kg.m2]"),Text(extent={{163,320},{406,264}}, lineColor={255,0,0}, textString="Modelica.SIunits")}));
|
|---|
| 619 | end SIunits;
|
|---|
| 620 |
|
|---|
| 621 | package Icons "Library of icons"
|
|---|
| 622 | partial package Library "Icon for library"
|
|---|
| 623 | annotation(Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}, grid={1,1}), graphics={Rectangle(extent={{-100,-100},{80,50}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{100,70},{100,-80},{80,-100},{80,50},{100,70}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Text(extent={{-85,35},{65,-85}}, lineColor={0,0,255}, textString="Library"),Text(extent={{-120,122},{120,73}}, lineColor={255,0,0}, textString="%name")}), Documentation(info="<html>
|
|---|
| 624 | <p>
|
|---|
| 625 | This icon is designed for a <b>library</b>.
|
|---|
| 626 | </p>
|
|---|
| 627 | </html>"));
|
|---|
| 628 | end Library;
|
|---|
| 629 |
|
|---|
| 630 | partial package Library2 "Icon for library where additional icon elements shall be added"
|
|---|
| 631 | annotation(Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}, grid={1,1}), graphics={Rectangle(extent={{-100,-100},{80,50}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{100,70},{100,-80},{80,-100},{80,50},{100,70}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Text(extent={{-120,125},{120,70}}, lineColor={255,0,0}, textString="%name"),Text(extent={{-90,40},{70,10}}, lineColor={160,160,164}, textString="Library")}), Documentation(info="<html>
|
|---|
| 632 | <p>
|
|---|
| 633 | This icon is designed for a <b>package</b> where a package
|
|---|
| 634 | specific graphic is additionally included in the icon.
|
|---|
| 635 | </p>
|
|---|
| 636 | </html>"));
|
|---|
| 637 | end Library2;
|
|---|
| 638 |
|
|---|
| 639 | partial function Function "Icon for a function"
|
|---|
| 640 | annotation(Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}), graphics={Text(extent={{-140,162},{136,102}}, textString="%name", lineColor={0,0,255}),Ellipse(extent={{-100,100},{100,-100}}, lineColor={255,127,0}, fillColor={255,255,255}, fillPattern=FillPattern.Solid),Text(extent={{-100,100},{100,-100}}, lineColor={255,127,0}, textString="f")}), Documentation(info="<html>
|
|---|
| 641 | <p>
|
|---|
| 642 | This icon is designed for a <b>function</b>
|
|---|
| 643 | </p>
|
|---|
| 644 | </html>"));
|
|---|
| 645 | end Function;
|
|---|
| 646 |
|
|---|
| 647 | annotation(Icon(coordinateSystem(preserveAspectRatio=true, extent={{-100,-100},{100,100}}), graphics={Rectangle(extent={{-100,-100},{80,50}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{100,70},{100,-80},{80,-100},{80,50},{100,70}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Text(extent={{-120,135},{120,70}}, lineColor={255,0,0}, textString="%name"),Text(extent={{-90,40},{70,10}}, lineColor={160,160,164}, textString="Library"),Rectangle(extent={{-100,-100},{80,50}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{-100,50},{-80,70},{100,70},{80,50},{-100,50}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Polygon(points={{100,70},{100,-80},{80,-100},{80,50},{100,70}}, fillColor={235,235,235}, fillPattern=FillPattern.Solid, lineColor={0,0,255}),Text(extent={{-90,40},{70,10}}, lineColor={160,160,164}, textString="Library"),Polygon(points={{-64,-20},{-50,-4},{50,-4},{36,-20},{-64,-20},{-64,-20}}, lineColor={0,0,0}, fillColor={192,192,192}, fillPattern=FillPattern.Solid),Rectangle(extent={{-64,-20},{36,-84}}, lineColor={0,0,0}, fillColor={192,192,192}, fillPattern=FillPattern.Solid),Text(extent={{-60,-24},{32,-38}}, lineColor={128,128,128}, textString="Library"),Polygon(points={{50,-4},{50,-70},{36,-84},{36,-20},{50,-4}}, lineColor={0,0,0}, fillColor={192,192,192}, fillPattern=FillPattern.Solid)}), Documentation(info="<html>
|
|---|
| 648 | <p>
|
|---|
| 649 | This package contains definitions for the graphical layout of
|
|---|
| 650 | components which may be used in different libraries.
|
|---|
| 651 | The icons can be utilized by inheriting them in the desired class
|
|---|
| 652 | using \"extends\" or by directly copying the \"icon\" layer.
|
|---|
| 653 | </p>
|
|---|
| 654 |
|
|---|
| 655 | <dl>
|
|---|
| 656 | <dt><b>Main Author:</b>
|
|---|
| 657 | <dd><a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a><br>
|
|---|
| 658 | Deutsches Zentrum fuer Luft und Raumfahrt e.V. (DLR)<br>
|
|---|
| 659 | Oberpfaffenhofen<br>
|
|---|
| 660 | Postfach 1116<br>
|
|---|
| 661 | D-82230 Wessling<br>
|
|---|
| 662 | email: <A HREF=\"mailto:Martin.Otter@dlr.de\">Martin.Otter@dlr.de</A><br>
|
|---|
| 663 | </dl>
|
|---|
| 664 |
|
|---|
| 665 | <p>
|
|---|
| 666 | Copyright © 1998-2009, Modelica Association and DLR.
|
|---|
| 667 | </p>
|
|---|
| 668 | <p>
|
|---|
| 669 | <i>This Modelica package is <b>free</b> software; it can be redistributed and/or modified
|
|---|
| 670 | under the terms of the <b>Modelica license</b>, see the license conditions
|
|---|
| 671 | and the accompanying <b>disclaimer</b>
|
|---|
| 672 | <a href=\"Modelica://Modelica.UsersGuide.ModelicaLicense2\">here</a>.</i>
|
|---|
| 673 | </p><br>
|
|---|
| 674 | </HTML>
|
|---|
| 675 | ", revisions="<html>
|
|---|
| 676 | <ul>
|
|---|
| 677 | <li><i>October 21, 2002</i>
|
|---|
| 678 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>
|
|---|
| 679 | and <a href=\"http://www.robotic.dlr.de/Christian.Schweiger/\">Christian Schweiger</a>:<br>
|
|---|
| 680 | Added new icons <b>Function</b>, <b>Enumerations</b> and <b>Record</b>.</li>
|
|---|
| 681 | <li><i>June 6, 2000</i>
|
|---|
| 682 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 683 | Replaced <b>model</b> keyword by <b>package</b> if the main
|
|---|
| 684 | usage is for inheriting from a package.<br>
|
|---|
| 685 | New icons <b>GearIcon</b> and <b>MotorIcon</b>.</li>
|
|---|
| 686 | <li><i>Sept. 18, 1999</i>
|
|---|
| 687 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 688 | Renaming package Icon to Icons.
|
|---|
| 689 | Model Advanced removed (icon not accepted on the Modelica meeting).
|
|---|
| 690 | New model Library2, which is the Library icon with enough place
|
|---|
| 691 | to add library specific elements in the icon. Icon also used in diagram
|
|---|
| 692 | level for models Info, TranslationalSensor, RotationalSensor.</li>
|
|---|
| 693 | <li><i>July 15, 1999</i>
|
|---|
| 694 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 695 | Model Caution renamed to Advanced, model Sensor renamed to
|
|---|
| 696 | TranslationalSensor, new model RotationalSensor.</li>
|
|---|
| 697 | <li><i>June 30, 1999</i>
|
|---|
| 698 | by <a href=\"http://www.robotic.dlr.de/Martin.Otter/\">Martin Otter</a>:<br>
|
|---|
| 699 | Realized a first version.</li>
|
|---|
| 700 | </ul>
|
|---|
| 701 | <br>
|
|---|
| 702 | </html>"));
|
|---|
| 703 | end Icons;
|
|---|
| 704 |
|
|---|
| 705 | end Modelica;
|
|---|
| 706 | model Modelica_Mechanics_MultiBody_Frames_Quaternions_planarRotation
|
|---|
| 707 | extends Modelica.Mechanics.MultiBody.Frames.Quaternions.planarRotation;
|
|---|
| 708 | end Modelica_Mechanics_MultiBody_Frames_Quaternions_planarRotation;
|
|---|