Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations IDS on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Efficient way to extract eigenvalues/eigenvector matrices

Status
Not open for further replies.

lawful

Mechanical
Apr 9, 2014
4
Greetings,

I am working with large Abaqus model and I need to extract its eigenquantities and import them into MATLAB.

Is there an efficient way to do this?

So far I have extracted the Mass and Stiffness matrices (keywords *MATRIX GENERATE and *MATRIX OUTPUT), imported them into MATLAB (via bespoke script), applied boundary conditions and use matlab's EIGS to extract the eigenquantities, but this process is slow and prone to errors.

I would like to import those quantities directly from abaqus. I am already able to print nodal outputs in the *.dat file but again, this approach generates a huge structured data file that has to be parsed. Also, I am not sure about the DOFS convention and thus I do not know if the first 6 elements of an eigenvector are the 6DOFs of the first node, the second 6 elements are the 6DOFs of the second node, etc.

Can you please advise on a method that could let me import those quantities in the least painful way?

Thank you in advance.



 
Replies continue below

Recommended for you

Forgive me if this seems like a stupid question, but why are you using MatLab to perform a function that Abaqus already does?

From what I remember, Abaqus does not have the standard capabilities of QR, Householder, etc, but I find that the Lanczos solver is quite fast if you specify a reasonable frequency range and number of eigenvalues to be extracted.
 
Abaqus performs the calculations just fine, but I need eigenvalues and (mass scaled) eigenvectors to perform some other calculations.

I am doing this because I could not find an efficient way to export eigenvalues and eigenvectors in a readily digestible format. Thus, the question.

Thank you for the interest!
 
I guess I never had to do this before in MatLab besides using the eig() function so I can't be of much help.

The eigenvalues should be easy to automate to extract from the standard output using python, as for the eigenvectors, I honestly have never looked where/how they are stored.
 
After running a frequency analysis in Abaqus, you can use the Odb Python or C++ API to go in and extract the eigenvalue and eigenvectors from each frame (each frame is one mode). You could then write each mode to a text file or collect them all and write them in whatever manner you like.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor