doc:user:conditions:rotations

### Table of Contents

# Prescribed Rotations

## Loading in cylindrical frame : prescribed rotations - radial displacements (around a moving axis)

Displacements and rotations imposed with respect to an axis are extensions of imposed displacements (translations) and are used to rotate/move a set of nodes around an axis, which can be in motion too. As for displacements, this is done with `LoadingSet`

. The motion of the axis is also defined in the `LoadingSet`

.

## Translation of the axis

If the axis is defined by points `p1`

and `p2`

, its motion can be defined by commands similar to the following ones:

loadingset.define(p1, Field1D(TX,RE), dx1, fctX1) loadingset.define(p1, Field1D(TY,RE), dy1, fctY1) loadingset.define(p1, Field1D(TZ,RE), dz1, fctZ1) loadingset.define(p2, Field1D(TX,RE), dx2, fctX2) loadingset.define(p2, Field1D(TY,RE), dy2, fctY2) loadingset.define(p2, Field1D(TZ,RE), dz2, fctZ2)

`p1` | reference Point at the origin of the axis |

`dx1` , `dy1` , `dz1` | amplitudes of the x,y,z displacements of point p1 |

`fctX1` , `fctY1` , `fctZ1` | x,y,z displacement Functions y=f(t) of p1 |

`p2` | reference Point at the end of the axis |

`dx2` , `dy2` , `dz2` | amplitudes of the x,y,z displacements of point p2 |

`fctX2` , `fctY2` , `fctZ2` | x,y,z displacement Functions y=f(t) of p2 |

## Case #1: Radial displacement imposed with respect to the axis

loadingset.defineRad(gObject, Field1D(TX,RE), p1, p2, ampl, fct)

`gObject` | Geometric entity |

`field` | name of the variable which is concerned by the motion |

`ampl` | amplitude |

`fct` | Functions y=f(t) (time dependence) |

`p1` | reference Point at the origin of the axis |

`p2` | reference Point at the end of the axis |

## Case #2: Rotation imposed around the axis

loadingset.defineRot(gObject, field, p1, p2, option, ampl, fct)

`gObject` | Geometric entity |

`field` | name of the variable which is concerned by the motion (only `Field3D(TXTYTZ,RE)` is allowed) |

`ampl` | amplitude |

`fct` | Functions y=f(t) (can depend on time and position) |

`p1` | reference Point at the origin of the axis |

`p2` | reference Point at the end of the axis |

`option` | = `False` : the boundary condition is a given angle, in degrees = `True` : the boundary condition is a given angular speed, in degrees/second |

## Case #3: 2 successive Rotations imposed around 2 axes

loadingset.defineRot2(gObject, field, axe1, ampl1, fct1, axe2, ampl2, fct2, option)

`gObject` | Geometric entity |

`field` | name of the variable which is concerned by the motion (only `Field3D(TXTYTZ,RE)` is allowed) |

`axe1` | first axis of rotation (`Axe` object). |

`ampl1` | amplitude of the first rotation |

`fct1` | Functions y=f(t) of the first rotation (can only depend on time) |

`axe2` | second axis of rotation (`Axe` object). The motion of this axis drives the global translation of the object |

`ampl2` | amplitude of the second rotation |

`fct2` | Functions y=f(t) of the second rotation (can only depend on time) |

`option` | = `False` : the boundary condition is a given angle, in degrees = `True` : the boundary condition is a given angular speed, in degrees/second |

The geometry is transformed in the following way:

- the rotation around the FIRST axis is applied to the object,
- then, the object is translated according to the SECOND axis motion,
- finally, the geometry is rotated around the SECOND axis.

In other words, it means that the second axis of `defineRot2`

behaves as the single axis of `defineRot`

.

doc/user/conditions/rotations.txt · Last modified: 2022/04/28 17:17 by boman