# Read in the collinear calculation
path = u'mgo_nonco_dc.nc'
configuration = nlread(path, object_id='gID000')[0]

# -------------------------------------------------------------
# Mulliken Population
# -------------------------------------------------------------
mulliken_population = MullikenPopulation(device_configuration)
nlsave('mgo_nonco_dc_analysis.nc', mulliken_population)
nlprint(mulliken_population)

# Setup adaptive grid object.
adaptive_grid = AdaptiveGrid(
        kA_range=[-0.5, 0.5],
        kB_range=[-0.5, 0.5],
        tolerance=1e-2,
        error_measure=Relative,
        )
# -------------------------------------------------------------
# Spin Transfer Torque
# -------------------------------------------------------------
spin_transfer_torque = SpinTransferTorque(
    configuration=device_configuration,
    energy=0*eV,
    kpoints=adaptive_grid,
    contributions=Left,
    energy_zero_parameter=AverageFermiLevel,
    infinitesimal=1e-06*eV,
    self_energy_calculator=RecursionSelfEnergy(),
    )
nlsave('mgo_nonco_dc_analysis.nc', spin_transfer_torque)



