Elastic Tensor - diff_fit


I have been regularly using the elastic tensor package. Normally I am perfectly content with this package, but lately I have been getting into material systems where the curvature of the stress-strain relationships tend to not be well behaved. Is there any way to make modifications to diff_fit such that we can take into account how well the curvature of the stress-strains were fit?

In some cases I end up with non-symmetric lines about the the zero-strain point, to me this points to some numerical error, but it would be nice to be able to detect this numerically rather than having to go through all graphs myself. (See below, left is my shear variances of lagrange strain element 4, i.e. shear of x-z and y-z). I’m not sure if anyone has ever plotted these, but have you ever experienced non symmetric artifacts like this (my personal opinion is it is due to not maintaining orthogonality on the structure, they varied by about 1-2 degrees)?

Christopher P.

Hey Christopher, glad to hear that the elasticity code has been useful,

I encountered a few instances like these, but hadn’t ever really settled on something that I thought would be sufficiently general to be useful. I think one thing I tried was just using MSE of predicted/computed stress, but I’m not sure that would be sufficiently granular to automate the process you’re describing here.

So I’m not going to lie, I find the diff_fit function a bit cryptic. Is there no way to sort of get the equivalent of the chi_squared from it? It is a sort of pseudo fitting process no? The problem with MSE of predicted/computed is I have to know what my system looks like a priori no (this might be hard)?

diff_fit constructs and solves an over-determined matrix inversion using pseudo-inverse. It is effectively linear least squares regression. You can compute your own chi_squared afterward by computing expected stress or strain from the tensor and comparing that with your initial.