🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

How to extract the Mode Shape Matrix from the results of the MotionView?

User: "msinghal"
Altair Community Member
Updated by msinghal

I have performed a Modal Analysis on Rigid Bodies in MotionView. Now I want to extract the mode shape matrix (the numerical values) from the results of the simulation. How can I do that?

Find more posts tagged with

Sort by:
1 - 10 of 101
    User: "AnanthK"
    Altair Employee
    Updated by AnanthK

    Hello Mohit - By mode shape matrix do you mean the eigenvalues? Please take a look at the following tutorials available with your install (hit F1 in any motionview screen): 

    MV-2050: Linear Analysis for Stability and Vibration Analysis

    MV-2051: Frequency Response Analysis using MotionSolve and Compose

    User: "msinghal"
    Altair Community Member
    OP
    Updated by msinghal

    Hello Mohit - By mode shape matrix do you mean the eigenvalues? Please take a look at the following tutorials available with your install (hit F1 in any motionview screen): 

    MV-2050: Linear Analysis for Stability and Vibration Analysis

    MV-2051: Frequency Response Analysis using MotionSolve and Compose

    Hi, 

     

    Eigenvalues are the natural frequencies of the system. By mode shape matrix I mean the Eigen vectors of the system. I have already checked the tutorials MV-2050 and MV-2051 but they tell how to get the numerical values of the mode shape matrix. 

    User: "Patrick Goulding_21563"
    New Altair Community Member
    Updated by Patrick Goulding_21563

    Hello Mohit,

     

    To help me understand the steps you've taken so far, did you run a Linear Analysis Simulation in MotionView and receive an *.oml output file which contains the system's ABCD matrices?  If this is the case, I can give you the steps to calculate and plot the Mode Shapes in Compose.

     

    Thank you,

    Patrick

    User: "Patrick Goulding_21563"
    New Altair Community Member
    Updated by Patrick Goulding_21563

    Mohit,

     

    If you have the State Matrix (A) of your system, please try the following simple code in Compose to plot the Mode Shapes:

     

    %% example where size(A) = 2x2

    clear all, close all, clc;

    [v,d]=eig(A); % v=eigenvector matrix, d=eigenvalues vector

    N=size(A,1);

    plot(v',':');
    xlabel('Elements'); ylabel('Mode amplitude');
    title('Mode shapes');
    axis([0.5 N*1.5 -1 1]);
    set(gca,'xtickmethod', 'increment', 'xtick', 0.5);
    legend('Mode 1', 'Mode 2'); %% # of Modes depends on size(A)
    hold on
    stem(v'(:,1), 'b');
    stem(v'(:,2), 'g');  %% # of stem plots depends on size(A)
    hold off

     

    Take care,

    Patrick

    User: "Nikhil Eldurkar_21140"
    New Altair Community Member
    Updated by Nikhil Eldurkar_21140

    Hi Ananth and Patrick,

    Thank you for your answers.  I just had a call with Mohit and posted what he is looking for on mtech.  Reproducing it here, if anyone else knows the answer:

    @Mohit Singhal  was previously using Ansys to perform a linear analysis on a rigid body to identify the frequency and amplitude information for each model.  The .eig file has the frequency information.  Would anyone know how to plot the amplitudes for each frequency? 

    Regards,

    Nikhil

    User: "Nikhil Eldurkar_21140"
    New Altair Community Member
    Updated by Nikhil Eldurkar_21140

    Mohit,

     

    If you have the State Matrix (A) of your system, please try the following simple code in Compose to plot the Mode Shapes:

     

    %% example where size(A) = 2x2

    clear all, close all, clc;

    [v,d]=eig(A); % v=eigenvector matrix, d=eigenvalues vector

    N=size(A,1);

    plot(v',':');
    xlabel('Elements'); ylabel('Mode amplitude');
    title('Mode shapes');
    axis([0.5 N*1.5 -1 1]);
    set(gca,'xtickmethod', 'increment', 'xtick', 0.5);
    legend('Mode 1', 'Mode 2'); %% # of Modes depends on size(A)
    hold on
    stem(v'(:,1), 'b');
    stem(v'(:,2), 'g');  %% # of stem plots depends on size(A)
    hold off

     

    Take care,

    Patrick

    Hi Mohit,

    As suggested by Patrick, I created a simple model and generated the state space matrix for it.

    I have attached the model and the state space matrix with the mode shapes.  Is this what you were looking for?

    Regards,

    Nikhil 

    User: "msinghal"
    Altair Community Member
    OP
    Updated by msinghal

    Mohit,

     

    If you have the State Matrix (A) of your system, please try the following simple code in Compose to plot the Mode Shapes:

     

    %% example where size(A) = 2x2

    clear all, close all, clc;

    [v,d]=eig(A); % v=eigenvector matrix, d=eigenvalues vector

    N=size(A,1);

    plot(v',':');
    xlabel('Elements'); ylabel('Mode amplitude');
    title('Mode shapes');
    axis([0.5 N*1.5 -1 1]);
    set(gca,'xtickmethod', 'increment', 'xtick', 0.5);
    legend('Mode 1', 'Mode 2'); %% # of Modes depends on size(A)
    hold on
    stem(v'(:,1), 'b');
    stem(v'(:,2), 'g');  %% # of stem plots depends on size(A)
    hold off

     

    Take care,

    Patrick

    Hi Patrick, 

     

    Thank you very much for the answer. I have not exported the state space matrices from the MotionSolve. I will try this and get back to you. 

     

    Mohit

    User: "msinghal"
    Altair Community Member
    OP
    Updated by msinghal

    Hi Mohit,

    As suggested by Patrick, I created a simple model and generated the state space matrix for it.

    I have attached the model and the state space matrix with the mode shapes.  Is this what you were looking for?

    Regards,

    Nikhil 

    Hi Nikhil and Patrick, 

     

    I have exported the A,B,C and D matrices for the system. The system is a 6-DOF system but the A matrix is a 12X12 matrix. Is this correct? Also, when I extracted the eigen vectors from the A matrix, i got a 12X12 matrix, but I was expecting a 6X6 matrix for a 6-DOf system. Can you let me know if I am missing something here? I have attached the A matrix for the system.  

    User: "Patrick Goulding_21563"
    New Altair Community Member
    Updated by Patrick Goulding_21563

    Hi Nikhil and Patrick, 

     

    I have exported the A,B,C and D matrices for the system. The system is a 6-DOF system but the A matrix is a 12X12 matrix. Is this correct? Also, when I extracted the eigen vectors from the A matrix, i got a 12X12 matrix, but I was expecting a 6X6 matrix for a 6-DOf system. Can you let me know if I am missing something here? I have attached the A matrix for the system.  

    Hi Mohit,

     

    I believe this is correct.  Your system has 6 DOF, which means that to fully define your system at any point in time you would need 2 states for every DOF (pos & vel, pos & acc, etc.).  Without knowing what your model was, this seems right to me: your state matrix should consist of 12 states (6DOF * 2 states each).

     

    Patrick

    User: "msinghal"
    Altair Community Member
    OP
    Updated by msinghal

    Hi Mohit,

     

    I believe this is correct.  Your system has 6 DOF, which means that to fully define your system at any point in time you would need 2 states for every DOF (pos & vel, pos & acc, etc.).  Without knowing what your model was, this seems right to me: your state matrix should consist of 12 states (6DOF * 2 states each).

     

    Patrick

    Hi Patrick, 

     

    Thank you for the clarification. One more question, how should I know which row in the A matrix corresponds to which DOF? Currently during the solution, the following is printed out about the selection of the DOF's: image#

    So, shall I assume that the DOF of each row is in the same order as that the way the independent variables were selected? Or, they are like, X, Y, Z, thetaX, thetaY and thetaZ?

     

    Mohit