# ------------------------------------------------------------- # Bulk Configuration # ------------------------------------------------------------- bulk_configuration = nlread('gold_sgga.nc', BulkConfiguration)[0] # ------------------------------------------------------------- # Calculator # ------------------------------------------------------------- # Use the special noncollinear mixing scheme iteration_control_parameters = IterationControlParameters( algorithm=PulayMixer(noncollinear_mixing=True) ) # Get the calculator and modify it for spin-orbit GGA calculator = bulk_configuration.calculator() calculator = calculator( exchange_correlation = SOGGA.PBE, iteration_control_parameters = iteration_control_parameters ) # Setup the initial state from the GGA calculation bulk_configuration.setCalculator( calculator, initial_state = bulk_configuration ) nlprint(bulk_configuration) bulk_configuration.update() nlsave('gold_sogga.nc', bulk_configuration) # ------------------------------------------------------------- # Bandstructure # ------------------------------------------------------------- bandstructure = Bandstructure( configuration=bulk_configuration, route=['G', 'X', 'W', 'L', 'G', 'K'], points_per_segment=101, bands_above_fermi_level=All ) nlsave('gold_sogga.nc', bandstructure)