Applying Translations, Scaling, Reflection, and Rotation via the Deformed Geometry and Moving Mesh Interfaces
The Deformed Geometry and Moving Mesh interfaces are useful for modeling situations where a domain is deforming, as well as when it is moving in a completely prescribed way, either as a function of time or as a function of a model parameter in a parametric sweep or auxiliary sweep. Using these interfaces usually avoids any remeshing of the geometry or solving of additional equations.
The Moving Mesh and Deformed Geometry Interfaces
In most cases, the Moving Mesh interface is the appropriate interface to use, since in this interface, the material, and solution, moves with the spatial deformation. The Deformed Geometry interface, on the other hand, implies that material is being added and removed from a domain as it translates through space, and is appropriate for models involving the Solid Mechanics interfaces, which themselves compute a deformation of the solid material as defined on the Material frame. It is not possible to solve for both Solid Mechanics and Moving Mesh within the same domain. Another way to keep track of this is in terms of these three frames:
- Geometry frame coordinates, default , are fixed in the CAD geometry in 3D.
- Material frame coordinates, default , are fixed in the material in solid domains. A difference between Material and Geometry frame coordinates may be induced by Deformed Geometry or Shape Optimization features in the model. The difference represents a different configuration of the material, i.e., effectively a different shape of solid objects.
- Spatial frame coordinates, default , are fixed in space. A difference between the Spatial and Material frame coordinates may be induced by Moving Mesh features or structural mechanics interfaces, which control the Spatial frame. The difference represents a displacement of the material.
To verify which frame is being used for making plots, use the Frame setting within a Dataset feature, as shown in the screenshot below. Each plot group can also plot the edges of the dataset, in a selected frame, as shown below.
Screenshot showing how to select the frame used to plot results.
Within each plot group, it is also possible to plot the dataset edges, using different frames.
To model the translation of a domain, such as for the movement of a part in space, define the expression of a translation curve in space: . Use these expressions within a Moving Mesh > Prescribed Deformation feature such that every point within the domain is offset from its original location by the same amount.
Using the Prescribed Deformation feature to implement translation.
For example, to move a domain along a helical spiral path centered along a line parallel to the Z-axis and offset from its original position, use these expressions for the prescribed deformation:
This translation example is shown in the above screenshot and implemented in the exercise file.
Modeling Scaling & Reflection
To model a domain that is expanding or contracting about the global Cartesian coordinate system, it is necessary to define a scale factor matrix and a point to scale about. The scale factor matrix, , is a diagonal matrix with entries corresponding to scaling the Cartesian directions. For example:
will leave the x-dimensions unchanged, scale the y-dimension up by two, and reduce the z-dimension by half.
It is also necessary to define the point about which the domain is scaled, , and this defines the deformation field of the domain:
where is the identity matrix.
So, for example, to scale a part about the point 1,2,3 by the above scale factor matrix, prescribe a deformation of:
It is also possible to make the terms functions of time or other model parameters. An example is implemented in the exercise file.
Modeling Rotations, Scaling, and Translations
Modeling of generalized rotation can become complex. Two cases are addressed here: rotation about a Cartesian axis, as well as a more general case of 3D rotation.
For rotations about one of the global Cartesian axes, it is sufficient to define a single rotation matrix, and the coordinate of the center of rotation. For example, consider rotating a part through an angle theta about a line parallel to the Z-axis and passing through the point . The rotation matrix about any line parallel to the Z-axis is:
And, to rotate about the point , use the deformation:
This is equivalent to using the Rotating Domain feature. An example is included in the exercise file.
For the more general case of a part rotated and moved arbitrarily in space, two coordinate systems need to be conceptually defined, and , at points and , as shown in the image below. Consider the first, , as algined with the part. The objective is to rotate and move the part to align the part coordinate system with .
A part with a coordinate system that will be rotated and moved to align with a second coordinate system. The first, second, and third axes of these systems are shown in red, green, and blue, respectively.
Both coordinate systems are defined in terms of two orthonormal vectors, & , with the third vector defined by the cross-product: . These vectors define a transformation matrix:
This transformation matrix will rotate the part from one coordinate system to another. The above matrix is equivalent to applying a rotation that rotates the part from into the global Cartesian CS. This rotation should be done about , and then, to rotate from the global Cartesian to and move to point , use the following expression for deformation:
It is also possible to include a scaling. To do so in the coordinate system, use a combined scaling, rotation, and translation via an expression of:
An example of this is in the exercise file.
Translation and anisotropic scaling applied, as well as rotation, in terms of two coordinate systems. The original undeformed part is shown in wireframe.