Postprocessing Results of Sensitivity Analysis

… I’m quite unexpierenced with Calculix, but your PrePoMax-GUI is doing such a perfect job for me! Thank you already, for all your efforts!

Usually I’m focused on modal analysis (*frequency solution) … but while reading the Calculix manual, I discovered the sensitivity analysis opportunity.

When adding some keywords, I can perform a mode-shape correlated sensitivity analysis …

*DESIGNVARIABLES, TYPE=COORDINATE
NALL
*STEP
*Frequency, Storage=Yes
12
*END STEP
*STEP
*SENSITIVITY
*DESIGN RESPONSE
*OBJECTIVE
EIGENFREQUENCY
*END STEP

The results are additionally saved with the mode-shapes to the FRD file
… with a special “header”

 -3
    1PSTEP                         8           1           2          
  100CL  120 5576.360692        1393                     3   20           1
 -4  SENFREQ     2    1
 -5  DFDN        1    1    1    0
 -5  DFDNFIL     1    1    2    0
 -1         1-1.78529E+14-7.62626E-01
 -1         2-1.78558E+14-7.62750E-01
 -1         3-1.78949E+14-7.64423E-01
 -1         4-1.78941E+14-7.64390E-01
 -1         5-1.84122E+14-7.86518E-01
 -1         6-1.84017E+14-7.86070E-01

… unfortunately, the results are not read properly to PrePoMax. My workaround was using Python …

Calculating the sensitivities and adressing it to the mode shapes is quite a nice feature … the sensitvities are indicating areas where mode-shapes respectively their eigenfrequency can be easily shifted/changed.

But, I can imagine that those interests are quite far away from the usual user-group …

That is a great idea. If you could upload the result .frd file I could try to add support for post-processing the results in the upcoming version (If it turns out that it is not a lot of work). I will probably only have to work out the units or are the values normalized (I haven’t performed the sensitivity analysis in the past).

1 Like

Hello Matej,
I’m glad, you like the idea.

You are absolutely right … normalizing the sensitivities can be challenging.
I’m also not so confident with the results, because it seems only work on solid-elements like … on shells (or the brick/wedge) elements they are zero…
And finally I have to do more homework … the designvariables are restricted to displacements (in 2 directions). But the uncertain FE-Model parameters are usually the material properties like E-Modulus, Densitiy, Poisson-Ratio, Shell-Thickness.

Attached you’ll find a FRD-File … with the sensitivities (2 directions) in the lower filepart…
RectPlateSolid_FRD.zip (700.4 KB)

After some fighting with the .frd field header format, I think I have a working solution. But I am not sure everything is as it should be.

The sensitivity analysis is read as an individual step with an additional zero increment. In this zero increment face normals NORM are only available as a result and in the next increments, the sensitivity parameters are only available as results. Here I do not know their units so they are shown as unitless. Can anyone help in this regard? Units for DFDN and DFDNFIL (the last is probably unitless normalized parameter).

In the future, it would probably be better to merge the sensitivity step with the previous results step based on the frequency/time so that displacements, forces and sensitivity parameters could be observed together in the same step on deformed geometry.

The changes are included in the last source code update and will also be released shortly.

1 Like

Hello Matej,
… thank you sooo much, for supporting my idea in such an awesome and short approach!

Concerning your questions:
Can anyone help in this regard? Units for DFDN and DFDNFIL
(these seem to me, like gradients … D = delta?, F=?, N=? … FIL = Filtered?)

I discovered some hints in the manual of Calculix - at the very end:
(page 687, Calculix Manual, v2.19)

The subroutine “objective freq.f” can be found here:
Subroutines (CCX)
… that’s a “deep-dive” to the bones of the solver and the source code, doesn’t explain the units :frowning:

I guess my links are missleading … in the FRD … the Unit-System is logged in the second line.
In my case it should be the SI-Units [Unit system: M_KG_S_C … Length, Mass, Time, Celcius]

Meanwhile, I think … there is no proper, physical unit scale … because the calculated sensitivities are related to mode-shapes (and their “deformations” are non-physical because of the eigenvalue-problem) …
I would assume, please correct me - if I’m wrong, an easy approach is a normalization to maximum = 1 … and minimum = 0)?!?

I have found some links from a comercial Software (FEMTools) … they are just calling it “normalized sensitivities”
… a sensitivity brochure: model-updating
… a more general link: general features

1 Like

What I saw is that the colour field output in terms of colours is the same in terms of both output variables DFDN and DFDNFIL. Colours do not show any differences between the outputs. While the values of the DFDN are non-intuitive and very large the values of the DFDNFIL are obviously scaled, since the largest value equals 1. So this is possibly a normalized sensitivity.

I will keep the current solution with no units for these two outputs.

1 Like