1. The bug:
That seems reasonable. If so, then the bug exists in all other elements that use the same approach (the same code is present in at least the LSpace element).
To be honest, I'm surprised by this bug. Seems like the multiplications should cause huge errors that are easily spotted (but maybe that's only true for very coarse meshes).
I also think the "w" and "x3" parameter must be removed from MITC4, since there only is a midplane here.
2. Local basis vectors:
I think it should only be the computeLocalBaseVectors.
But I don't actually think you should change anything in NodalAveraging...
It's defined in a way that matches the interpolator and integration rule (corner are defined in order: [1,1], [-1,1], [-1,-1], [1,-1]).
If this somehow isn't consistent with the rest of the MITC4 element, then there is another bug.
3. What you get is the integration point values, as they are used for the FE-simulation. By the kinematics assumed by all beams and shell formulations, the shear stresses are (unavoidably) very poorly captured (only weakly captured).
Basically, the only remedy I can think of is
1. Use 3D elements.
2. Some method like http://www.sciencedirect.com/science/ar … 2315011265 (here the shear stresses are re-solved from equilibrium using the least-square fitted normal stresses)
The "trick" used by Giovanni for beams (see his beam export module that he posted on the forum) is basically just solving each beam analytically. Unfortunately, this only works for 1D models, and cannot be applied to plates.
Also, be aware that the first thing you do with FEM, is to project the loads on the basis functions. All information about the variation across an element is lost. The Gauss points doesn't "know" if the loads come from a uniform pressure, or concentrated nodal forces (they are 100% equivalent in FEM).
The only third alternative is to not look at the shear stresses, because they are completely unreliable.