Setting Material Orientation

From OSUPDOCS
Jump to navigation Jump to search

The Rotate command rotates material axes to define the initial orientation when using anisotropic materials:

Introduction

The Region command (or <Body> command in XML) and the BMPRegion command let you specify a single rotation angle for material rotation about the z axis. This options has two limitations. First, the angle has to be constant or the same for all material points. Second, it is only rotation about the z axis and therefore insufficient for specifying arbitrary orientation in 3D simulations. The Rotate command solves both this issues because it can set variable angles (with a user-defined function) and can set rotation about x and y axes as well.

Rotate Command

In scripted files, the rotate command, which must be within a Region command or a BMPRegion command is:

Rotate (axis),(angle),<(axis2),(angle2)>,<(axis3),(angle3)>

In XML files, the rotate command is several commands, all of which must be within a <Body> command or a <BMPRegion> command:

<RotateX>(angle)</RotateX>
<RotateY>(angle)</RotateY>
<RotateZ>(angle)</RotateZ>
<Unrotate/>

where

  • (axis) is the rotation axis which must be x, y, or z (or 1, 2, or 3). For 2D and axisymmetric analyses, only z (or 3) is allowed (and it means rotation about θ axis if axisymmetric). (axis) can alternatively be reset to remove all transformations. You can then apply new transformations. This option makes it possible to have different transformations apply to different shapes within the same Region command.
  • (angle) is a rotation angle or a user-defined function of material point coordinates (x, y, and z) that evaluates to a position-dependent angle. The angle or the result of a function must be in degrees.

In scripted files, the optional <(axis2),(angle2)> and <(axis3),(angle3)> pairs let you specify up to three rotations in a single rotation command. In XML files, multiple rotations are created by combining the various rotate commands. Also in XML files, the reset option for (axis) is done instead by using the <Unrotate/> command.

Rotation Matrix

The rotation commands are creating a rotation matrix that defines rotation from the material axes to the global axes. It can be interpreted as the initial deformation tensor in the global axis system.

In 2D, the only possible rotation is about the z axis and the resulting rotation matrix is

      [math]\displaystyle{ R_z(\theta) = \left(\begin{array}{ccc} \cos \theta & \sin \theta & 0 \\ -sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \end{array}\right) }[/math]

You can imagine sitting on the material coordinate system with the material in its desired initial position and then defining a clockwise rotation about the z axis that transforms the x-y analysis axes into the material axes. Alternatively (and identically) you can imagine sitting on the analysis coordinate system and finding a counter-clockwise rotation about the z axis that transforms the material axes into the analysis axes. In other words a vector in the material axes is related to a vector the the global axes by:

      [math]\displaystyle{ \vec v_{mat} = R_z(\theta)\vec v_{global} \qquad {\rm or} \qquad \vec v_{global} = R_z^T(\theta)\vec v_{mat} }[/math]


In 3D, more than one rotate commands build an initial rotation matrix As product of axis rotation matrices. For example, if you rotate about z axis with angle φ and then about y axis with angle θ, then the rotation matrix is:

      [math]\displaystyle{ R_z(\theta) = \left(\begin{array}{ccc} \cos \theta & \sin \theta & 0 \\ -sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \end{array}\right) }[/math]

Rotation Specifics

  1. Rotate commands can only used within Region commands (or <Body> commands in XML files) or BMPRegion commands.
  2. The reset option (or <Unrotate/> command in XML files) can only be used in Region commands (or <Body> commands in XML files).
  3. You apply rotations in order by using one to three rotations. There are two physical pictures:
    • You can imagine sitting on the material coordinate system with the material in its final position and then and defining a series of clockwise rotations about the material axes that transform the x-y-z analysis axes into the material axes. In right-handed, 3D coordinates, if your right hand fingers wrap in the rotation direction, your thumb will point in the positive direction for the rotation axis when the rotation is counter clockwise. This rotation appears counter clockwise when viewed from positive to negative direction on the rotation axis, but appears as clockwise when viewed from negative to positive direction.
    • Alternatively (and identically) you can imagine sitting on the analysis coordinate system and defining a series of counter-clockwise rotations about analysis axes that transform the material axes into the analysis axes.
  4. All single and double angle rotations are allowed (x, y, z, xy, xz, yx, yz, zx, and zy). When doing three rotations, the only schemes currently supported are zyx and zyz. It is easy to add more if needed (or to rearrange coordinates to make one of these work). The zyz combination is the one used to define Euler angles.
  5. Use of any Rotate commands in a block block will override any angle setting in the Region command (or <Body> command in XML files) or BMPRegion command that encloses it (i.e., the enclosing-command angle setting will be ignored).
  6. Use of any Rotate commands within a BMPRegion command will override any angle settings made in Intensity commands within that region. Furthermore the chosen rotation angles will apply to all material points defined in the current BMPRegion block. But, if the BMPRegion block also defines an angle-mask file, that file will override any Rotate commands.