Looking at your file, I noticed that the doping was not getting applied at the bottom (substrate-base interface). I simply extended the doping regions slightly inside the metal regions and the I-V looked find in forward bias (I swept from 0 to 1 V in 6 steps).
One other point I want to mention is that in the boundary condition, I noticed that you are sweeping the voltage from -1 to 1 V. This would mean that the solver will take a long time to get the result at the beginning for -1 V since the initial guess it starts with is calculated for zero bias. To make the simulation faster you can run two simulations instead, one from 0 to 1 V and another from 0 to -1 V. You can then easily combine the result using the script.
Finally, the number of bias points is really large. If you are interested in having more points where the diode turns on, you can use the “values” option rather than the “range” option and simply use a large step size at lower voltage and smaller step size as you get close to 0.7 V. This way you can get a smoother I-V with fewer bias points.
p.s. You can make the simulation even faster by making the x span smaller since the device is uniform in x direction.