Expertise with export of Mass & Stiffness Matrices

Hi All,

being new to this platform, I start with a short intro: working in the field of FEA for quite some time (personal experience primarily with MARC & ABAQUS, a bit of NASTRAN,a bit of ANSYS), I am driving a small project just out of personal interest: I would like to realize an open-source workflow where a reduced FEA model is implemented into an Modelica-Model (FMU/FMI) for system
modeling.

My current approach:

  1. FEA-Sover Calculix, dumps Mass & Stiffness Matrix
  2. pymor reduces Full-Order Model (FEA) to reduced Order Model (a bit away from Craigh-Bampton)
  3. Modelica SDK implements reduced model (not decided yet because I am stuck @ topic 2)

I used a very simple beam model as a pilot (Nextcloud).

Modal result look reasonable (1st Eigenfrequency 186 Hz), static solution matches closed form solution sufficiently.

After exporting using
FREQUENCY, SOLVER=MATRIXSTORAGE,
I ran into problems. Static solution using octave solving C
u=f, checking for the node I am interested,
delivered Calculix results, seems OK.

Some helping hands from the Pymor discussion group suggested that the Mass matrix might be wrong. After some clean up ( the converter calculix–> MatrixMarket in the link above is still not correct, I used different approach), I am still getting strange results.

For example: I summed all elements of the mass matrix (of course considering the symmetry and
the storage of Calculix), I don’t get the mass of my system (which should be the case if I am
not mistaken…).

I checked the source code (matrixstorage.c) which looks very reasonable (M & C dump consistent),
so I am a bit stuck, probably hunting for (but not seeing) the obvious, trivial mistake …

Any help or suggestion would be highly appreciated!

Thanks a lot in adance,

Claus

PS: Thinking about the sum of the Mass-Matrix a bit more, it should be 3*Mass_of_Body for a 3D-problem… which came out correctly.

It would be best to start with the simplest possible model, consisting of just one or a few elements. Also, take a closer look at how the mass matrix is defined for the selected type of elements. Here’s what it looks like for linear tetrahedron, according to the literature:

mass matrix

Thanks a lot for your remark.

After some fiddling around I got things a bit more straight:

  • was able to get the static solution (see above)
  • sum_ij M_ij is correct
  • was able to get the right eigenvalues with octave from M and C

Thus quite happy for now :slight_smile:

Sorry for causing some irritations, thanks for the support!

Claus

1 Like