# Vocabulary Every port that dynamics publish or accept and that entries read or deliver into has a name here. The build checks every read and every target against this list. A reserved name fixes its kind, units, frame and sign now and leaves its shape open until it is built; using it is refused. ## Namespace mime Vocabulary version `0.3.0.dev1`. | Name | Kind | Units | Frame | Shape | Sign | Typical magnitude | Description | Published by | |---|---|---|---|---|---|---|---|---| | `apparatus.frame_angular_velocities` | state | rad/s | world | -1 x 3 | none | 1 | the angular velocity in the world of every frame an apparatus chain's segment names, one row per frame in the order the segment lists them, as frame_poses lists their poses: what a segment mounted on one of them reads to know how its mount turns (a spinning rotor's bearing and gyroscopic torque). Every MIME segment publishes it, on every rung | [`arm`](entries/dynamics/arm.md), [`motor`](entries/dynamics/motor.md) | | `apparatus.frame_poses` | state | m; 1 | world | -1 x 7 | none | 0.1 | the world pose of every frame an apparatus chain's segment names, one row per frame in the order the segment lists them: [position of the frame's origin; orientation as a unit quaternion (w, x, y, z), frame to world]. Every rung of a segment publishes it, so mounts read it alike | [`arm`](entries/dynamics/arm.md), [`labx.gantry`](entries/dynamics/labx.gantry.md), [`motor`](entries/dynamics/motor.md) | | `apparatus.joint_positions` | state | 1 | none | -1 | none | 1 | the angles in radians of a chain segment's moving joints, in the order its description lists them. The radian is dimensionless in MIME; a prismatic joint's position is a length in metres that this unit cannot tell from an angle, so a controller declared in this unit takes revolute joints only | [`arm`](entries/dynamics/arm.md) | | `apparatus.joint_velocities` | state | rad/s | none | -1 | none | 1 | the rates of a chain segment's moving joints, in the order its description lists them: radians per second, or metres per second on a prismatic joint, which this unit cannot tell from an angular rate; a dynamic segment publishes them, a kinematic one does not | none registered | | `apparatus.link_inertia` | operator | kg m^2 | world | -1 x 2 x 3 x 3 | added to the inertia of the body each frame is fixed to, about its centre of mass, at the step's start and at its end | 1e-05 | the inertia each of a chain segment's frames carries beyond its own inertial, one row per frame in the order the segment lists them, at the step's start and at its end, summed over every delivery: what a rotor unequal across its spin axis hands the frame it is mounted on, its half difference across the axis, which turns with it. A dynamic segment takes it, a kinematic one does not | not a published kind | | `apparatus.link_momentum` | operator | N m s | world | -1 x 3 | the gyroscopic torque on the body each frame is fixed to is h x omega, omega the frame's angular velocity | 0.001 | the angular momentum about its spin axis of each rotor a chain segment's frame carries, one row per frame in the order the segment lists them, summed over every delivery: what a spinner hands the frame it is mounted on, whose gyroscopic torque the segment applies at its own velocity. A dynamic segment takes it, a kinematic one does not | not a published kind | | `apparatus.link_wrench` | load | N; N m | world | -1 x 6 | on the body each frame is fixed to, about the frame's origin | 0.001 | the loads on a chain segment's frames, one row per frame in the order the segment lists them: [force; torque about the frame's origin], summed over every delivery. The load target a dynamic segment offers, which a kinematic one does not | not a published kind | | `body.applied_wrench` | load | N; N m | world | 6 | on the body, about its centre of mass | 1e-06 | [force; torque], summed over every law that loads the body | not a published kind | | `body.background_load` | load | N; N m | world | 6 | on the body, held still in the ambient flow, about its centre of mass | 1e-06 | [force; torque] from the ambient flow, paired with a resistance | not a published kind | | `body.confinement` | inequality constraint | m | world | scalar | none | none | a fixed surface the body stays on the free side of, with a margin and a velocity rule, applied by the body's dynamics after its step; at most one per body | not a published kind | | `body.pose` | state | m; 1 | world | 7 | none | 0.001 | [position of the centre of mass; orientation as a unit quaternion (w, x, y, z), body to world] | [`rigid_inertial`](entries/dynamics/rigid_inertial.md), [`rigid_inertial`](entries/dynamics/rigid_inertial.md) | | `body.resistance` | operator | N s/m; N s; N m s | world | 6 x 6 | the load on the body is -R [velocity; angular velocity] + the background load; v.Rv >= 0 | 1e-06 | the resistance to the body's motion, integrated implicitly by an inertial body | not a published kind | | `body.twist` | state | m/s; rad/s | world | 6 | none | 0.01 | [velocity of the centre of mass; angular velocity] | [`rigid_inertial`](entries/dynamics/rigid_inertial.md), [`rigid_inertial`](entries/dynamics/rigid_inertial.md) | | `field.magnetic.flux_density` | field | T | world | 3 | none | 0.001 | the magnetic flux density B at a point | [`point_dipole`](entries/field_provider/point_dipole.md), [`uniform_rotating`](entries/field_provider/uniform_rotating.md) | | `field.magnetic.gradient` | field | T/m | world | 3 x 3 | none | 0.1 | G_ij = dB_i/dx_j at a point, so that a moment's force is G^T m | [`point_dipole`](entries/field_provider/point_dipole.md), [`uniform_rotating`](entries/field_provider/uniform_rotating.md) | ## Namespace toy Vocabulary version `0.1.0`. | Name | Kind | Units | Frame | Shape | Sign | Typical magnitude | Description | Published by | |---|---|---|---|---|---|---|---|---| | `toy.body.hold_z` | equality constraint | m/s | world | scalar | the body's prescribed velocity along z | 1 | a prescribed velocity along z, one degree of freedom | not a published kind | | `toy.body.load` | load | N | world | 3 | on the body | 1 | the summed load on a toy body | not a published kind | | `toy.body.position` | state | m | world | 3 | none | 1 | a toy body's position | [`toy.anchored_body`](entries/dynamics/toy.anchored_body.md), [`toy.body`](entries/dynamics/toy.body.md) | | `toy.body.torque` | load, reserved | N m | world | open (reserved) | on the body | none | reserved, to exercise the refusal of a reserved name | not a published kind | | `toy.body.velocity` | state | m/s | world | 3 | none | 1 | a toy body's velocity | [`toy.body`](entries/dynamics/toy.body.md) | | `toy.field.push` | field | 1 | world | 3 | none | 1 | a toy field, evaluated at points | [`toy.field`](entries/field_provider/toy.field.md) | | `toy.medium.registration` | registration | | none | scalar | none | none | a body registered with a toy medium's update | not a published kind | | `toy.medium.value` | state | 1 | none | 3 | none | 1 | a toy medium's relaxing value | [`toy.relaxation`](entries/dynamics/toy.relaxation.md) |