Instance Models

This section transforms the problem defined in the problem description into one which is expressed in mathematical terms. It uses concrete symbols defined in the data definitions to replace the abstract symbols in the models identified in theoretical models and general definitions.

The goal GS:Determine-Linear-Properties is met by IM:transMot and IM:col2D. The goal GS:Determine-Angular-Properties is met by IM:rotMot and IM:col2D.

RefnameIM:transMot
LabelJ-Th Body’s Acceleration
Input\({\boldsymbol{v}\text{(}t\text{)}_{j}}\), \(t\), \(\boldsymbol{g}\), \({\boldsymbol{F}_{j}}\), \({m_{j}}\)
Output\({\boldsymbol{a}\text{(}t\text{)}_{j}}\)
Input Constraints\[{\boldsymbol{v}\text{(}t\text{)}_{j}}\gt{}0\]\[t\gt{}0\]\[\boldsymbol{g}\gt{}0\]\[{\boldsymbol{F}_{j}}\gt{}0\]\[{m_{j}}\gt{}0\]
Output Constraints
Equation\[{\boldsymbol{a}\text{(}t\text{)}_{j}}=\boldsymbol{g}+\frac{{\boldsymbol{F}_{j}}\left(t\right)}{{m_{j}}}\]
Description
  • \({\boldsymbol{a}\text{(}t\text{)}_{j}}\) is the j-th body’s acceleration (\(\frac{\text{m}}{\text{s}^{2}}\))
  • \(\boldsymbol{g}\) is the gravitational acceleration (\(\frac{\text{m}}{\text{s}^{2}}\))
  • \({\boldsymbol{F}_{j}}\) is the force applied to the j-th body at time t (\({\text{N}}\))
  • \(t\) is the time (\({\text{s}}\))
  • \({m_{j}}\) is the mass of the j-th particle (\({\text{kg}}\))
Notes
  • The above equation expresses the total acceleration of the rigid body \(j\) as the sum of gravitational acceleration (from GD:accelGravity) and acceleration due to applied force \({\boldsymbol{F}_{j}}\left(t\right)\) (from TM:NewtonSecLawMot). The resultant outputs are then obtained from this equation using DD:linDisp, DD:linVel, and DD:linAcc.
  • The output of the instance model will be the functions of position and velocity over time that satisfy the ODE for the acceleration, with the given initial conditions for position and velocity. The motion is translational, so the position and velocity functions are for the centre of mass (from DD:ctrOfMass).
  • All bodies are assumed to be rigid (from A:objectTy) and two-dimensional (from A:objectDimension).
  • It is currently assumed that no damping occurs during the simulation (from A:dampingInvolvement) and that no constraints are involved (from A:constraintsAndJointsInvolvement).
Source
RefBy

Detailed derivation of j-th body’s acceleration:

We may calculate the total acceleration of rigid body \(j\) by calculating the derivative of it’s velocity with respect to time (from DD:linAcc).

\[{α_{j}}=\frac{\,d{\boldsymbol{v}\text{(}t\text{)}_{j}}\left(t\right)}{\,dt}\]

Performing the derivative, we obtain:

\[{\boldsymbol{a}\text{(}t\text{)}_{j}}=\boldsymbol{g}+\frac{{\boldsymbol{F}_{j}}\left(t\right)}{{m_{j}}}\]

RefnameIM:rotMot
LabelJ-Th Body’s Angular Acceleration
Input\(ω\), \(t\), \({\boldsymbol{τ}_{j}}\), \(\boldsymbol{I}\)
Output\({α_{j}}\)
Input Constraints\[ω\gt{}0\]\[t\gt{}0\]\[{\boldsymbol{τ}_{j}}\gt{}0\]\[\boldsymbol{I}\gt{}0\]
Output Constraints\[{α_{j}}\gt{}0\]
Equation\[{α_{j}}=\frac{{\boldsymbol{τ}_{j}}\left(t\right)}{\boldsymbol{I}}\]
Description
  • \({α_{j}}\) is the j-th body’s angular acceleration (\(\frac{\text{rad}}{\text{s}^{2}}\))
  • \({\boldsymbol{τ}_{j}}\) is the torque applied to the j-th body (\(\text{N}\text{m}\))
  • \(t\) is the time (\({\text{s}}\))
  • \(\boldsymbol{I}\) is the moment of inertia (\(\text{kg}\text{m}^{2}\))
Notes
Source
RefBy

Detailed derivation of j-th body’s angular acceleration:

We may calculate the total angular acceleration of rigid body \(j\) by calculating the derivative of its angular velocity with respect to time (from DD:angAccel).

\[{α_{j}}=\frac{\,dω\left(t\right)}{\,dt}\]

Performing the derivative, we obtain:

\[{α_{j}}=\frac{{\boldsymbol{τ}_{j}}\left(t\right)}{\boldsymbol{I}}\]

RefnameIM:col2D
LabelCollisions on 2D rigid bodies
Input\(t\), \(j\), \({m_{\text{A}}}\), \(\boldsymbol{n}\)
Output\({t_{\text{c}}}\)
Input Constraints\[t\gt{}0\]\[j\gt{}0\]\[{m_{\text{A}}}\gt{}0\]\[\boldsymbol{n}\gt{}0\]
Output Constraints\[{t_{\text{c}}}\gt{}0\]
Equation\[{\boldsymbol{v}\text{(}t\text{)}_{\text{A}}}\left({t_{\text{c}}}\right)={\boldsymbol{v}\text{(}t\text{)}_{\text{A}}}\left(t\right)+\frac{j}{{m_{\text{A}}}}\,\boldsymbol{n}\]
Description
  • \({\boldsymbol{v}\text{(}t\text{)}_{\text{A}}}\) is the velocity at point A (\(\frac{\text{m}}{\text{s}}\))
  • \({t_{\text{c}}}\) is the denotes the time at collision (\({\text{s}}\))
  • \(t\) is the time (\({\text{s}}\))
  • \(j\) is the impulse (scalar) (\(\text{N}\text{s}\))
  • \({m_{\text{A}}}\) is the mass of rigid body A (\({\text{kg}}\))
  • \(\boldsymbol{n}\) is the collision normal vector (\({\text{m}}\))
Notes
  • The output of the instance model will be the functions of position, velocity, orientation, and angular acceleration over time that satisfy the equations for the velocity and angular acceleration, with the given initial conditions for position, velocity, orientation, and angular acceleration. The motion is translational, so the position, velocity, orientation, and angular acceleration functions are for the centre of mass (from DD:ctrOfMass).
  • All bodies are assumed to be rigid (from A:objectTy) and two-dimensional (from A:objectDimension).
  • A right-handed coordinate system is used (from A:axesDefined).
  • All collisions are vertex-to-edge (from A:collisionType).
  • It is currently assumed that no damping occurs during the simulation (from A:dampingInvolvement) and that no constraints are involved (from A:constraintsAndJointsInvolvement).
  • \(j\) is defined in GD:impulse
Source
RefBy