gmoverid
Yes, basically when you use 1st order equation, the ideal one is gm/Id = 2/Veff. However, if you use realistic model to simulate, it is far from ideal. Basically you can use SPICE to sweep the Vgs and calculate gmoverId. Then plot gmoverId vs different Vgs values and you can see that it's far from ideal cases.
For SPICE there is a parameter called gmoverId that you can use immediately. If you use SPECTRE, it will be more tricky as you need to set up .scs files in order to capture different .op points.
Hope it helps.
David.