﻿ Constraints: Imposed motion

# Constraints: Imposed motion

### Model type

Determines whether the imposed motion of the out-frame, relative to the in-frame, is to be specified by time history data or externally calculated.

 Note: It is also possible to use a curvilinear constraint to impose the motion of the out-frame as a prescribed function of time.

### Imposed motion consistent with solver

Determines whether OrcaFlex should modify the imposed velocity and acceleration values to be consistent with the implicit integration scheme. This choice is only available for constraints solved with the direct solution method; constraints solved with the indirect solution method are automatically consistent with the solver, by construction.

## Time history data

The out-frame's displacement (both translational and rotational), relative to the in-frame, is specified by time history data.

• The translational displacement is defined in the $x,y,z$ directions, relative to the in-frame.
• The rotational displacement is defined by $R\urm{x},R\urm{y},R\urm{z}$ angles, relative to the in-frame. Considered as a vector, $\vec{v}=(R\urm{x},R\urm{y},R\urm{z})$, these angles define the rotation from the in-frame to the out-frame. The rotation is about the direction of $\vec{v}$ and has magnitude $|\vec{v}|$.
 Note: The time values in an imposed motion time history need not be equally spaced.

## Ramping

The specified time history can be ramped during the build-up period to smooth the transition between statics and dynamics. The ramping mode determines how that ramping is applied.

### Full ramping mode

The displacement $P$ at time $t$ is given by $$P(t) = R\,p(t)$$ where

$R$ is the ramping factor

$p(t)$ is the displacement, as given by the time history data interpolated at time t

Because $R=0$ at the beginning of the simulation, $P$ will be zero at that time. $P$ must also be zero in the static state, to maintain continuity between statics and dynamics.

### Partial ramping mode

If you select the partial ramping mode, you must also provide the initial value of the displacement, $p\urm{i}$. $P$ is then given by $$P(t) = p(t) + (1{-}R) (p\urm{i} - p(t_0))$$ where $t_0$ is the time at the start of the simulation.

At the beginning of the simulation $R=$0 and $t=t_0$, so $P(t_0) = p\urm{i}$. Again, to maintain continuity between statics and dynamics, $P$ takes the initial value $p\urm{i}$ in statics.

### Comparison of ramping modes

In full ramping mode, the displacement is ramped smoothly from zero to its full value during the build-up period. At the end of the build-up period there is no further ramping and the given time history is applied directly. The ramping function $R$ has been chosen such that its first and second derivatives are zero both at the start of the simulation, and at the end of the build-up. So, displacement, velocity and acceleration all ramp smoothly from zero during the build-up. These properties, with a sufficiently long build-up, help to avoid the introduction of unwanted transient loading.

Full ramping is usually appropriate in scenarios where the time history oscillates about zero (or a value close to zero), or where the time history values are close to zero at the start of the simulation and then diverge.

The partial ramping mode differs in that it ramps away any discrepancy between the time history data and the specified initial value. A consequence of this is that if you arrange for the initial value to match the time history data at the start of the simulation, then there is no discrepancy, and the time history data are used directly, without ramping.

Partial ramping, with a suitable initial value, is likely to be more effective in cases where your time history data are not close to zero. It allows you to avoid the large displacement otherwise required to move from zero to the time history values and the consequential necessity for a long build-up period.

One consequence of partial ramping is that it can result in a velocity discontinuity between statics and dynamics. Suppose that you have arranged that $p\urm{i}=p(t_0)$, as described above: the time history data may specify non-zero velocity at time $t_0$, but velocity is taken to be zero in statics, hence the discontinuity. Such discontinuities can lead to unwanted transients.

Another way to handle time history data which are not close to zero is to shift the time history data so that they become close to zero and shift the constraint position correspondingly in the opposite direction: you may then use full ramping. For example, consider a time history of $x$ that oscillates about $x{=}50$. Modify the time history by subtracting $50$ from all the $x$ values so that they now oscillate about zero, and offset the constraint initial $x$ position by $+50$ to compensate. Full ramping will then result in a smooth build-up, continuous in velocity, etc. The only real downsides are that it may be laborious to have to modify the data in this way, or it may be inconvenient to have to view the time history data shifted in this manner.

### Examples

To illustrate some of these points, consider the following time history data, to be interpolated linearly. For simplicity we consider just a single degree of freedom.

 Time Position -10.0 10.0 10.0 20.0

The resulting position and velocity, for the two ramping modes (partial ramping using initial value of 10), are:

It can clearly be seen that full ramping has a very significant impact during the build-up period. Note however that the velocity is continuous and smooth, in contrast to that for partial ramping. Because the initial value matches the time history data for the start of the simulation, the position is unramped, but the velocity is discontinuous at the start of the simulation.

Now consider the same data, but shifted by -10 so that the time history starts from zero.

 Time Position -10.0 0.0 10.0 10.0

The resulting position and velocity, for the two ramping modes (partial ramping using initial value of 0), are:

The impact of full ramping is less significant here, in comparison to partial ramping, because the time history data starts from zero. The discontinuity in velocity is still present for partial ramping.

Exactly which ramping method to use, and whether or not to shift the time history data so that it starts from zero, is very much dependent on the situation being modelled. If you are unsure how best to proceed then you should experiment with the various options and thereby get a better feel for their pros and cons and the tradeoffs involved.