This case is a bit complex, since you are running an I-V curve calculation, using the external module "ivcurve". In this case, restarting doesn't work the way you may expect, perhaps. Restarting applies to a single calculation, while the I-V curve routine runs several calculations in sequence.
If it already completed the evaluation of the current for, say, the first 2-3 points on the I-V curve, you can just leave out those values from the range of voltages, and start from another point. You may however want to recalculation the zero bias, as this can then be used as a starting point for higher voltages, which usually helps convergence.
At the end of the day, the I-V curve module is really just a helper routine, it doesn't do anything you couldn't do by hand, that is, to run each voltage separately, and collect the current values for plotting. Plus, of course, reusing the converged density from the previous calculation to run the next higher bias.
That's also why you always should start from zero bias, in this case, and in general. So, if you want biases from -1 to 1 V, in steps of 0.1, say, run 0. V first, then do -0.1 and +0.1, and so on.
To reuse a previous calculation as initial guess for a new calculation, use the keyword
initial_calculation to
executeSelfConsistentCalculation():
oldscf = restoreSelfConsistentCalculation('zerobias.nc')
scf = executeSelfConsistentCalculation(
twoprobe_configuration,
method,
runtime_parameters,
initial_calculation = oldscf
)
(This code snippet is just to give an idea; needs to be polished to match your particular case.)