Absolute value block in AHDL library
The solver is most likely having an issue with the discontinuities that occur when you get close to zero. The best way to deal with this is filtering. You may want to try writing a custom block. Using an IF THEN statement (abs selects between a signal and its inverse) but instead of having zero be the selection point, use 1e-6 or something like that.