For the sake of simplicity, I eliminated some of the automated vector assemblies, as I didn't want to spend too much time trying to figure a good way to work with the DOFs as they are shown in LinPro.
Assembly Vector - Manual
Elimination Vector - Manual
Force Vector (global) - Manual
They start with 0, SMath with 1, so keep that in mind.
What they do is restrict the fixed DOFs to the end of the DOF numbering.
Now, my K (global) matches the result from LinPro exactly.
There was some interesting things that had to be done to make that happen:
As Jean has pointed out in the past, the order of matrix multiplication has varied results.
It seems that for this configuration:
I could not get the global k matrix to match the results in LinPro.
I ended up arranging it like this:
And it worked.
I also removed all units for now, because as it seems, the inverse operation of a matrix requires numeric evaluation, and with units, I get a "units don't match" error, and you can't evaluate the inverse symbolically for some reason (That's a whole different topic for another day...).
In any case, After getting the right complete stiffness matrix K, it seems that things go south. Solving for the reduced displacements vector is way off.
It seems that LinPro produces an updated forces vector after solving "the system of equations" that includes the reactions at the fixed DOFs along with the forces applied.
It makes me wonder if perhaps there is something off in the sequence we have in the SMath sheet.
After we assemble the complete stiffness matrix K, we obtain a reduced K, Kr that eliminates the fixed DOF (in this case, the last 6 DOF, 19-24).
Then we use that Kr along with a reduced F, Fr, to solve for reduced deflections, Qr.
Is all this right?
Maybe a set fresh of eyes can find the problem here:
New Frame FEM Example - Updated.sm (130kb) downloaded 13 time(s).