Point Displacements/Rotations Implementation
Point Displacements/Rotations in StressCheck
The functionality allows for the visualization of the imported input displacements and rotations (point constraints) obtained from the solution of a global shell model, and their assignment to a set of selected solid elements faces or shell edges. Once the global displacements and rotations are assigned to elements, interpolating functions are calculated for each displacement (Ux, Uy, Uz) and rotation (Rx, Ry, Rz) component. Once the data points are assigned to the local mesh, the quality of the continuous fitted functions over the imported data can be assessed by performing a quality check. The calculated displacement functions can be assigned to any constraint case.
The object type point constraint is specified by: object number, case ID, global coordinates (X, Y, Z), three displacements components (Ux, Uy, Uz), and three rotation components (Rx, Ry, Rz) in the global coordinate directions. Both the displacements and rotations are understood to be in the global coordinate directions, and are positive when in the direction of the positive coordinate axes. The displacement and rotations associated with a point constraint object can be displayed using two scaled resultant vectors, one for the displacements and one for the rotations.
The procedure to compute continuous displacement functions is described in the following. The quality of fitting is evaluated by a least square error measure associated with each displacement component.
Point Constraint Fitting Steps
There are two basic steps in converting point constraint data into continuous displacement functions needed by StressCheck: 1) Fitting a curve over the spatial distribution of the selected data points, and 2) fitting the displacement/rotation components as a function of a single parameter along the curve.
First, the spatial distribution of the data points is approximated with a space curve using a spline representation as a function of a single parameter s. Let XP, YP, ZP be the global coordinates of an arbitrary point P, from the N points imported from the global model to be associated with a group of faces of the local model. Then the parametric representation of the curve fitted through the points can
be written in vector form as follows:
where i, j and k are the unit vectors in the direction of the global X, Y and Z axes respectively. Mapping functions are computed (and the corresponding inverse mapping functions) relating a point on the spline curve with the global coordinates of that point:
The algorithm to fit the spline curve is based on a Parasolid internal function that requires the points to be ordered from one end to the other end of the target curve. The ordering may be determined in two ways: the ordering can be specified by the user, or it can be determined automatically by StressCheck based on the distance between neighboring points. To order automatically, the program begins with an arbitrary first point and finds the closest point to it. This point becomes the next point in the sequence and the new end point of the order. This procedure continues, adding new points to either end of the ordered list of points until all points have been added to the list. The ordered list of points is used for constructing a spline curve using a standard Parasolid function. The curve is displayed on the screen for visual feedback to the user. The result of the fitting is the set of three parametric equations of the spline given in EQ 2. For a given value of the parameter -1 ≤ s ≤ 1, it returns the corresponding global coordinates (x, y, z).
Next, each displacement and rotation component is approximated in the parameter space of the curve using least squares fitting. Let u(s) represent a displacement or rotation component along the curve, then it is possible to write u(s) as a linear combination of known polynomial functions φi(s) multiplied by unknown coefficients ai:
Let be the known value of the function at point k. Because of the relations given by EQ 2 and their inverse, the known value in global coordinates can be mapped into the parameter space of the curve:
The unknown coefficients ai in EQ 10 are determined by minimizing the square of the difference between the given data points and the approximating function:
Substituting EQ 10 into EQ 11 and performing the indicated operations, a linear system of equations in the unknown coefficients ai is obtained:
where N is the number of data points to be fitted along the curve, M is the polynomial order of the fitting and φi(s) are one-dimensional polynomial functions in the range -1 ≤ s ≤ 1. The quality of fit is determined by computing the relative error in the least squares sense, defined as follows:
Once the polynomial fitting for the space curve x(s) connecting the data points, the three displacement ux(s), uy(s), uz(s), and three rotations Rx(s), Ry(s), Rz(s) are available, the displacement components in the global system at any point on the face of an element are computed as follows:
- Project the point of interest Q(x, y, z) onto the curve x(s).
- Find the global coordinates (x’, y’, z’) of the projected point Q’(s).
- Compute the displacement components Ux, Uy, Uz at point Q as:
The global displacements Ux, Uy, Uz are used during the solution of the local model at the required integration (Gauss) points on the element faces to determine the constraint equations to be applied to the global stiffness matrix of the problem.
Point Constraint Format & Importation
The format for importing point displacements/rotations is described in Importing Model Inputs under the heading “Importation of Point Constraints”. If in ASCII (.txt) format, nine (9) columns are required. The data is organized such that the first three columns are the global coordinates, the next three columns are the three components of translation (displacement) followed by the three components of rotation (in radians).
Below is an example ASCII format for point displacement/rotation importation:
To import the ASCII data, simply use File > Import, select the ASCII (.txt) file containing the point displacement/rotation information, and click Open. The point constraint data will be available under Edit > Point Constraint Info…
Point Constraint Visualization, Modification & Assignment
Once the point constraint information is imported into StressCheck and the local model is available, the user selects the Constraint tab of the Input dialog to assign a set of point constraint objects to a group of faces of the local model.
When the objects Any Surface, Face, Face Surface, Edge or Edge Curve are selected from the Object combo-box of the A/O/M, two methods are available for the assignment of the point constraint data: Fit-Auto (shown in the above) and Fit-Manual.
- Fit-Auto: The selected point constraint data will be automatically ordered by the program from one end to the other end of the target curve. This allows the use of the marquee-pick option to select a group of point constraint objects.
- Fit-Manual: The curve fitted through the spatial location of the point constraint data will be performed following the pick order. This allows the user to bypass the automatic ordering process in the event that it does not perform as expected.
Point Constraint Visualization
Once the name of the constraint has been entered, simply select from the list of Case ID’s to enable the display of associated point constraint data; point constraint objects are shown as small black circles on the screen. The display options for the selected Case ID are:
- Locations: Shows input point constraint data on screen (circles).
- Symbols: Shows 2 vectors per point with the resultant input displacement (single arrow head) and rotation (double arrow head).
- Labels: point constraint object number.
The display of Point Constraint objects may be controlled using their respective toggle boxes which are available from the Constraint tab of the Input dialog (when the Fit-Auto or Fit-Manual method is selected), or from the Point Constraint Case Definitions dialog.
Point Constraint Modification
The “Edit definitions” button below the display options (or clicking on Edit > Point Constraint Info… in the Main Menu) enables the Point Constraint Case Definitions dialog shown below for the modification of existing input data or the creation of new point constraint objects:
The first column in the table is the case ID, the second is the object number, and the third column (Status) is used for indicating whether the point constraint object has been assigned to a constraint case and the number of times it has been used. Columns 4 to 6 contain the global coordinates of the point constraint record (X, Y, Z), while columns 7 to 12 contain the three displacements (Ux, Uy, Uz) and three rotations (Rx, Ry, Rz).
- To add a new point constraint object, simply enter values into the text fields in the top portion of the dialog, and click Add. The new record will appear in the table shown in the bottom portion of the dialog. The dialog may be stretched to view the entire table.
- To edit an object definition, simply click on the object’s entry in the table and the corresponding data will be transferred to the input fields in the top portion of the dialog. Update the values and click the Replace button to record the changes. Note that the display symbol corresponding to the point constraint object record selected in the table, will be highlighted in the Model View.
- To select objects in the table, just click anywhere on the corresponding row of the table. The row will be highlighted in red, and the corresponding object will be highlighted in the Model View. Use the arrow key to move up or down in the table, and simultaneously transfer the data to the input fields and highlight the object in the Model View.
- To delete an object definition, simply click on the object’s entry in the table then click the Delete button. To delete multiple objects at one time, hold the Shift key while selecting records to highlight multiple object in the table, then click on the Delete button.
- To purge all object definitions for all cases, click on the Purge All button. The Purge Case button can be used to purge the objects of the Current Case only.
When constraint assignment records are selected from the list box at the top of the Constraint tab, the corresponding faces and point constraint objects will be highlighted automatically in the Model View. The corresponding point constraint records will also be highlighted in red in the table in the lower portion of the Case Definition dialog. Use the <Previous and Next> buttons to automatically locate the next (or previous) highlighted record in the table.
Point Constraint Assignment
To create a constraint record based on point constraint data, the user should select the edges/faces of the elements by pointing and clicking with the left button of the mouse. Next, while holding down the Ctrl and Shift keys simultaneously, select the point constraint objects from the screen using the left button the mouse. Objects may be selected one at a time, or using the marquee pick. Finally, click on the Accept button. The spline curve fitted through the data points created automatically by the program will be displayed
To change an assignment record, click the record shown in the list box at the top of the Constraint tab. The corresponding faces and point constraint objects will be highlighted in the Model View. To change faces or point objects, use the standard object selection techniques. When finished, click on the Replace button.
For more information on assigning constraints to objects, refer to Constraints Overview.
Checking the Quality of Spline Fitting
To check the quality of fit of the displacements and rotations, simply select the action Check from the combo box in the constraint interface and click on the Accept button. The % relative error (see EQ 13) for each displacement and rotation component and for each Constraint ID are tabulated in a report dialog.