#----------------------------------------
# Adaptive Grid.
#----------------------------------------

adaptive_grid = AdaptiveGrid(
	kA_range=[-0.5, 0.5],
	kB_range=[-0.5, 0.5],
	tolerance=1e-2,
	error_measure=Relative,
	number_of_initial_levels=2,
	maximum_number_of_levels=7)

#----------------------------------------
# Spin Transfer Torque
#----------------------------------------
spin_transfer_torque = SpinTransferTorque(
    configuration=device_configuration,
    energy=0.0*eV,
    kpoints=adaptive_grid,
    contributions=Left,
    self_energy_calculator=RecursionSelfEnergy(),
    energy_zero_parameter=AverageFermiLevel,
    infinitesimal=1.0e-6*eV,
    z_integration_range=[0.0, 0.5],
    adaptive_directions=[0,1,2],
    adaptive_method=RealSpace,
)
nlsave("STT.nc", spin_transfer_torque)