How are sensitivities implemented in Calculix?

Does anyone know how does calculix evaluate the sensitivities. The manual mentions the terms, but I could not find whether the implementation is analytical or finite-differencing. To be specific, I’ve been trying to locate where is the term partial(K)/partial(x) times displacement evaluated.

I appreciate any information I can get.


Check the documentation chapter "10. Program structure —> 10.11 Sensitivity Analysis”. The details of sensitivity analyses are described there. And if this is not sufficient, source code examination should help. Particular files responsible for this procedure are mentioned in the referenced documentation chapter.

1 Like

This is done in e_c3d_se.f, which firstly calculate one elements values and assemble them to the [df] matrix(neq*ndesi) in mafillsmse.f

1 Like