Format of extracted Mass matrix from Ansys Mechanical APDL

  • 31 Views
  • Last Post 2 weeks ago
LisDeb posted this 2 weeks ago

Hi everyone,

In the framework of my Masters Thesis at TU Munich, my goal is to extract a physical mass matrix,stiffness matrix and mode shapes of my model (made up of beam188 elements) from Ansys Mechanical APDL. I am new to Ansys workbench as well as APDL and therefore want to be sure not to make any rough mistakes.

I built the model (geometry and mesh) in ANSYS workbench, then exported the input file and extracted the lumped mass and stiffness matrices using the following commands in Mechanical APDL:

/solu

antype,substr

seopt,file,2,1

lumping,yes

m,all,all

/output,StiffnessFile

solve

/output

 

I do get an output for both, however I am not sure how to interpret the resulting mass matrix. What I want is a physical mass matrix for the whole model which has on its diagonal the individual mass matrices of each node, with the latter each being made up of a unit matrix multiplied by the respective lumped mass, the inertia tensor and mixed terms, as can be seen in the attached file.

The mass matrix which I get with the lumped output option is however not of the desired form when I assemble the rows in the output file, and I am not quite sure how to interpret the terms off the diagonal. 

As far as the mode shape calculation is concerned, I was wondering what the option to normalize the mode shapes to the mass matrix means. Am I right to assume that if I want extract the mode shapes in order to formulate the absolute displacements of all nodes as a superposition of the mode shapes, it would be wrong to choose this option?

Thanks a lot in advance!

 

 

 

Attached Files

Order By: Standard | Newest | Votes
SandeepMedikonda posted this 2 weeks ago

Hi,

  I see that you have lumping on, aren't you seeing a diagonal matrix being written out? Try using lumpm, on, this should allow the consistent mass matrix to be reduced to a diagonal matrix. See here.

  You might also find these 2 discussions relevant:

Discussion 1

Discussion 2

I also want to add that the matrix output is done in an order that is designed for speed.  We document the order so if a user needs it in a different order or format then they need to do the reordering or conversion.  We also recommend doing tests with very small models to start with then go to larger models.

Regards,
Sandeep
Guidelines on the Student Community

LisDeb posted this 2 weeks ago

Hi Sandeep,

Right, I do have lumping on, and if i extract the mass matrix this way for a solid model whose nodes only have 3 DOF each, I do get a diagonal matrix. However not for the beam models, where every node has 6 DOF. Do you know what could be the reason for that?

Can you tell me where I can find the documentation on the matrix output format you were referring to?

In the output format I get, I assumed that every block below the respective header represents a row in the actual output matrix. It looks like this:

   ROW   1   NODE     1     DEG. OF. FR. =  UX 

    1 0.94666278E-02    2 0.00000000E+00    3 0.00000000E+00    4 0.00000000E+00
    5 0.13888826E-19    6-0.59228999E-04    7 0.00000000E+00    8 0.00000000E+00
    9 0.00000000E+00   10 0.00000000E+00   11 0.00000000E+00   12 0.00000000E+00
   13 0.46633722E-02   14 0.00000000E+00   15 0.00000000E+00   16 0.00000000E+00
   17 0.13888826E-19   18 0.58521001E-04   19 0.00000000E+00   20 0.00000000E+00
   21 0.00000000E+00   22 0.00000000E+00   23 0.00000000E+00   24 0.00000000E+00
   25 0.00000000E+00   26 0.00000000E+00   27 0.00000000E+00   28 0.00000000E+00
   29 0.00000000E+00   30 0.00000000E+00   31 0.00000000E+00   32 0.00000000E+00
   33 0.00000000E+00   34 0.00000000E+00   35 0.00000000E+00   36 0.00000000E+00
   37 0.00000000E+00   38 0.00000000E+00   39 0.00000000E+00   40 0.00000000E+00
   41 0.00000000E+00   42 0.00000000E+00   43 0.00000000E+00   44 0.00000000E+00
   45 0.00000000E+00   46 0.00000000E+00   47 0.00000000E+00   48 0.00000000E+00
   49 0.00000000E+00   50 0.00000000E+00   51 0.00000000E+00   52 0.00000000E+00
   53 0.00000000E+00   54 0.00000000E+00

   ROW   2   NODE     1     DEG. OF. FR. =  UY 

    1 0.00000000E+00    2 0.94200000E-02    3 0.00000000E+00    4 0.00000000E+00
    5 0.00000000E+00    6 0.00000000E+00    7 0.00000000E+00    8 0.00000000E+00
    9 0.00000000E+00   10 0.00000000E+00   11 0.00000000E+00   12 0.00000000E+00
   13 0.00000000E+00   14 0.47100000E-02   15 0.00000000E+00   16 0.00000000E+00
   17 0.00000000E+00   18 0.00000000E+00   19 0.00000000E+00   20 0.00000000E+00
   21 0.00000000E+00   22 0.00000000E+00   23 0.00000000E+00   24 0.00000000E+00
   25 0.00000000E+00   26 0.00000000E+00   27 0.00000000E+00   28 0.00000000E+00
   29 0.00000000E+00   30 0.00000000E+00   31 0.00000000E+00   32 0.00000000E+00
   33 0.00000000E+00   34 0.00000000E+00   35 0.00000000E+00   36 0.00000000E+00
   37 0.00000000E+00   38 0.00000000E+00   39 0.00000000E+00   40 0.00000000E+00
   41 0.00000000E+00   42 0.00000000E+00   43 0.00000000E+00   44 0.00000000E+00
   45 0.00000000E+00   46 0.00000000E+00   47 0.00000000E+00   48 0.00000000E+00
   49 0.00000000E+00   50 0.00000000E+00   51 0.00000000E+00   52 0.00000000E+00
   53 0.00000000E+00   54 0.00000000E+00

...and so on, including rotational degrees of freedom.

SandeepMedikonda posted this 2 weeks ago

Hi LisDeb,

  Please see section 1.9 in the Programmers Reference

c Mass Matrix. 
c    if lumpm = 0:
c      The next two records are repeated as a group neqn times.
c      It will be in global form the same way as stiffness matrix if model has across CE.

c  MAS      i       1      varies   Matrix row indices. The last item 
c                                   corresponds to the diagonal. The
c                                   length of this record will vary (actual 
c                                   length is returned from routine BINRD8)

c  ---     dp       1      varies   Matrix terms

c    if lumpm = 1:
c  ---     dp       1        neqn   Matrix diagonals. 
c                                   Record length will be GlbnVars for across CE model.

c Mass matrix diagonal vector

c  DIAGM   dp       1        neqn   diagonal vector data for mass matrix. 
c                                   Record length will be GlbnVars for across CE model.

sk_cheah posted this 2 weeks ago

Try LUMPM, ON instead of lumping,yes. I've not tried it myself but it appears Ansys uses Guyan reduction when computing stiffness and mass matrix in the above commands. I'm not sure if that might affect your results. 

Secondly... 

As far as the mode shape calculation is concerned, I was wondering what the option to normalize the mode shapes to the mass matrix means. Am I right to assume that if I want extract the mode shapes in order to formulate the absolute displacements of all nodes as a superposition of the mode shapes, it would be wrong to choose this option?

For your purpose, perhaps APDL Math would work better as you could extract the mass and stiffness matrix, followed by computing the mode shapes normalized however you like, all within Ansys. You can Google APDL Math for additional help.

Kind regards,
Jason

  • Liked by
  • SandeepMedikonda
Close