Dear All,
From my FE results I have imported the individual components of a
stress tensor and compiled them into an M3 matrix using the
M3fromelements macro (the result of print (rd) on the data is an 1x9
matrix NOT a 3x3 matrix as expected).
Since I wrote it (about 8 yrs ago), here's a hint. Drop
M3FromElements on a net. Select it, choose Windows:Open Selected
Macro. Once the macro editor is open, choose Help:Application
Comment. You'll see that I documented the fact, lo these many years
ago, that Compute does NOT work with real 3x3 matrices, thus the 1x9
hack is required (and documented). All the Vector/Matrix macros work
together using this dodge. I would recommend you restructure your
data to 1x9 unless you feel like writing a module, because I don't
believe there's any easier way to deal with real 3x3 matrices. You
may note that the DX Scripting language supports 3x3 (and other
shape) matrices, but since Compute doesn't, that's not much comfort.
A few modules like Filter actually take a matrix in this script
syntax.
I have a macro called UVNFromNormUpOrigin (can't remember if that is
in the distribution or if I did it later) that takes a normal, up
direction, and frame origin and returns both a normalized and "raw"
U, V, N vector (6 vectors on output). So you change either Norm or Up
to rotate the frame. This might be worth looking at. I did a
UVNGlyphs to illustrate the output (should be in Realization Category
if you have it). If not, let me know. Not guaranteeing it solves all
eigen problems, but it may inspire you to develop a more elaborate
workaround. I seem to remember developing these precisely for display
of eigenvector data but it's been some years and many other projects
since then...
Now, I need to plot and work with the Principle stresses (both
magnitudes and orientations) which "fall out" of the stress tensor
as the eigenvalues and eigenvectors.
I hunted for an eigenvector/value module but didn't find one. What I
did notice though was that Autoglyph creates a plot similar to what
I need and so presumably must export the data as well. Thus, I
connected the output of the M3 macro to an autoglyph and tried to
sent the output to image. Unfortunately this doesn't work since
autoglyph returns: invalid data: data must be scalar, 2-vector,
3-vector, 2x2 or 3x3 matrix. I have tried making the 3x3 matrix
without the matrix macro, but always it ends up in the 1x9 format
and with the autoglyph error. Is there a way to reconfigure the
entire data set from the 1x9 matrix to 3x3? or do I have to work on
each record individually then recombine into the total dataset?
I looked into writing a eigenvactor/value module, but saw in
Numerical recipies that it is highly non trivial and since I doubt
either my maths or programming is up to it. However in the course of
that hunt, I noticed in the opendx source code the eigen.c and
eigen.h routines, which are presumably used by, amongst others,
autoglyph. So, I looked in the documentation for an DX_eigen call or
similar but didn't find one in the programmers manual. I know the
manual is not up to date so am wondering if the call exists but
isn't listed anywhere I found or if it just isn't part of the
exported command set.
I'd greatly appreciate pointers on both of the above queries, namely
the description of my matrix and the possible implementation of
eigenvector/eigenvector calls in the programming and/or user
interface.
Many thanks for your time
Peter
Dr Peter Connolly
____________________________________
Geophysikalisches Institut
der Universitat Karlsruhe
Hertzstrasse 16
76185 Karlsruhe
Germany
tel +49 (0)721 6084593
fax +49 (0)721 71173
Email addresses: (both checked)
[EMAIL PROTECTED]
OR
[EMAIL PROTECTED]
Chris Pelkie
Vice President/Scientific Visualization Producer
Conceptual Reality Presentations, Inc.
30 West Meadow Drive
Ithaca, NY 14850
[EMAIL PROTECTED]