Transform Command
Introduction
A standard Region command will allocate particles within shapes defined for that region and those particles will by aligned with the grid. Depending on the current number of particle per cell, the command will assign particles to specific locations within cells. The transform options on this page add new options for moving particle away from the standard locations.
Transforming Created Particles in Script Files
To transform all particles within the current Region command when running 2D simulations and using script input, use the command:
Transform (angle),(Tx),(Ty),(Ox),(Oy)
Each particle will be an initial (or "init") location by standard methods as if it was not being transformed and then the location of that particle will change a "new" position defined by
[math]\displaystyle{ \vec X_p^{(new)} = \vec X_p^{(init)} + (\mathbf{R}-\mathbf{I})(\vec X_p^{(init)} - \vec O) + \vec T }[/math]
where
- [math]\displaystyle{ \mathbf{R} }[/math] is 2D rotation matrix for rotation about the z axis by specified (angle) (in degrees)
- [math]\displaystyle{ \mathbf{I} }[/math] is the identity matrix
- [math]\displaystyle{ \vec O = ((Ox),(Oy)) }[/math] is the origin for the rotation (in length units)
- [math]\displaystyle{ \vec T = ((Tx),(Ty)) }[/math] is a translation (in length units)
Any unspecified parameters will default to zero.
In script files for 3D simulations, this command allows four additional parameters
Transform (angle),(Tx),(Ty),(Ox),(Oy),(angle2),(angle3),(Tz),(Oz)
The transformation equation is the same ad defined above in 2D, but not the rotation matrix, [math]\displaystyle{ \mathbf{R} }[/math] is for rotation using 3D Euler angles corresponding to rotation about z axis by (angle), rotation about y axis by (angle2), and last rotation about z axis by (angle3) (all in degrees). The (Tz) and Oz add z components to the translation and rotation origin vectors.
Comments
- When not transforming particles, the Region commands keep track of with locations in each cell have be filled with a material point. If two Region commands try to create particles at the same location, the first will create a particle and the second will do nothing. This feature lets you overlay regions without causing particle interferences. When particles are transformed, however, the particle locations of free from the grid and no longer tracked which locations are filled. In other words, whenever transformation particles, you input file in responsible for insuring that material points are not created in the same locations. Similarly, transformed particle will be created in their new locations without regard to whether or that the location has be marked using a Hole command.
- Only from transformation is allowed in each Region command and the transformation applies to all particles created by that command.
- When transforming rigid particles, the effect of rotations will not affect the simulation results unless shape functions account for particle deformation (e.g., by using CPDI shape functions).
Transforming Created Particles in XML Files
To transform particle in XML compiles, use a <Deform> element within a <Body> element:
<Deform dX="dx" dY="dy" F11="Fij" F21="Fij"/>
where
- dX, dY, and dZ define elements of the [math]\displaystyle{ \vec T }[/math] translation vector (in length units).
- F11, F12, F13, ... F33 can specify up to nine elements of the initial particle deformation gradient (dimensionless).
If the provided deformation gradient corresponds to rigid rotation, this transformation will be identical