Good free simulator for dc sweep
I highly recommend LTSpice.  While not open source, it is freeware, and has very up-to-date models for things like NMOS transistors, and for many simulations is the fastest SPICE implementation out there.  Be sure to adjust the number of cores to suit your system, and make sure it is generating object code - this makes it very fast.  

Performing a DC sweep in LTSpice is fairly straightforward SPICE:

.dc &lt;SourceName&gt; &lt;Vstart&gt; &lt;Vstop&gt; &lt;Vincrement&gt;

where SourceName is the voltage or current source you wish to step, the rest should be fairly self-explanatory.

If you wanted to see the default curves for BSIM3v3.2.4's NMOS model for example, it would be as simple as:

M1 2 1 0 0 nbsim
Vgs 1 0 3.5
Vds 2 0 3.5
.dc Vds 3.5 0 -0.05 Vgs 0 3.5 0.5
.model nbsim NMOS Level=8
.save I(Vds)
.end


Note that in this example, both Vds and Vgs are being swept.  The syntax to step multiple sources is simply repeating the SourceName, Vstart, Vstop, and Vincrimenet arguments for each additional source.