Skip to main content


Showing posts from April, 2018

Tension Only LINK180

Figure 1: Von Mises Stress Animation LINK180 is a very interesting element which allows tension but not compression. A snippet in a Beam element does the trick of configuring beams in Workbench into tension only beams. et, matid, 180 *get, area, secp, matid, prop, area sectype, matid, link secdata,  area seccontrol,, 1 ! Tension only The example problem has a thin plate that has a Revolute joint in the middle that rotates \(\pm3^o\). The two chain LINK180 on each sides of the plate will thus take turns being in tension and be relaxed. Figure 2: Displacement Animation The forces plotted using SMISC1 shows forces in tension. Figure 3: Force Animation V18.2 Archived Workbench File: Link

APDL Pseudoinverse Least Square Fit

Curve fitting is a frequently used tool in engineering. I wished my linear algebra teacher taught me pseudoinverse. As used in the previous blog post  script, it computes the least-square curve fit for linear equations. This can come in handy for fitting 2D or even 9D variables. For a simple 2D straight line, the equation is \( y = m \cdot x + c\). Writing it matrix form, we have: \(y = \begin{bmatrix} x & 1 \end{bmatrix} \cdot \begin{bmatrix} m\\c \end{bmatrix}\) With multiple data points in space (e.g. \((x_1,y_1), (x_2,y_2),\dots\) ) the equation looks like this... \( \begin{bmatrix}y_1\\y_2 \\y_3\\ \vdots \end{bmatrix} = \begin{bmatrix} x_1 & 1\\ x_2 & 1 \\ x_3 & 1 \\ \vdots & \vdots \end{bmatrix} \cdot \begin{bmatrix} m\\c \end{bmatrix} \) This matrix looks similar to \(y = A \cdot b\) where our \(A = \begin{bmatrix} x_1 & 1 \\ x_2 & 1 \\ x_3 & 1 \\ \vdots & \vdots \end{bmatrix} \) and \(b = \begin{bmatrix} m\\c \end{bmatrix} \)

Extract Translation & Euler Angle Rotation

Figure 1:  Z-X'-Y '' Rotation of the 'Grip' PADT has a recent post on Extracting Relative Displacements in ANSYS Mechanical. The macro only works for small angles (in the order of 5 degrees). The accompanied PDF file shows: \(u = dR \cdot (x-\overline{x}) + \overline{u}\) Their nomenclature:    \(dR\) : Small rotation matrix    \(x\) : Nodal position vector    \(\overline{x}\) : Center of Gravity (CG) position vector    \(u\) : Nodal displacement vector    \(\overline{u}\) : CG displacement vector To extend their work to account for large deflection, I've added some terms: \(x + u - \overline{x} \approx R \cdot (x - \overline{x}) + \overline{u} \)    \(R\) : Rotation Matrix The left side of the equation is the final deformed body. The right side of the equation is the rigid body rotation and translation. As the rotation is applied at the center of the body, \(\overline{x}\) is accounted for on both sides of the equation. Note that '