Right, you would first do the parallel at zero bias, then the voltage loop, starting from the zero case. Then you start the anti-parallel zero bias from the parallel zero bias, and finally the voltage loop for anti-parallel starting from the zero-bias anti-parallel.
I use mark "old calculation" and my script look like this
# -------------------------------------------------------------
# Initial State
# -------------------------------------------------------------
initial_spin = InitialSpin(scaled_spins=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0])
old_calculation = nlread('C:/Users/Alexander/Documents/VNL_tmp/CoFe-MgO-CoFe_para.nc', DeviceConfiguration)[0]
device_configuration.setCalculator(calculator, initial_spin=initial_spin, initial_state=old_calculation)
for bias in [0., 0.1, 0.3, 0.5, 0.7, 1.0, 1.3, 1.5]*Volt:
device_configuration.setCalculator(
calculator(electrode_voltages=(0.5*bias,-0.5*bias)),
initial_state=device_configuration
)
device_configuration.update()
nlsave('C:/Users/Alexander/Documents/VNL_tmp/CoFe-MgO-CoFe_para_I-V.nc', device_configuration)
nlprint(device_configuration)
but it again shows me that " The provided initial state parameter has no pre-calculated data ..." and it calculates exceed 10 hours/